#9 Γραφική Υπολογιστή

Σχετικά έγγραφα
Πρόβληµα Απόκρυψης. Ποιο είναι το εµφανές αντικείµενο (χρώµα) σε κάθε σηµείο του επιπέδου προβολής;

Γραφική με Υπολογιστή Computer Graphics

Μετασχηµατισµοί 2 &3

Εισαγωγή Αποκοπή ευθείας σε 2Δ Αποκοπή πολυγώνου σε 2Δ Αποκοπή σε 3Δ. 3ο Μάθημα Αποκοπή. Γραφικα. Ευάγγελος Σπύρου

Αποκοπή 4.1. Εργα: : & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ - ΥΠΕΠΘ) Τµήµα Πληροφορικής 1 2 (SCS) Θέση παρατηρητή. Θέσεις αντικειµένων και φωτεινών πηγών

Μετασχηµατισµοί 2 & 3

Προβολές. Απαραίτητες αφού 3 αντικείµενα απεικονίζονται σε 2 συσκευές.

Μετασχηματισμός Παρατήρησης

Γραφικά με υπολογιστές

Απαραίτητες αφού 3Δ αντικείμενα απεικονίζονται σε 2Δ συσκευές. Θέση παρατηρητή. 3Δ Μετασχ/σμός Παρατήρησης

5ο Μάθημα Αλγόριθμοι Σχεδίασης Βασικών Σχημάτων

2ο Μάθημα Μετασχηματισμοί 2Δ/3Δ και Συστήματα Συντεταγμένων

Εισαγωγή. Γραφικά. Μοντέλο (Πληροφορίες για Περιεχόµενο εικόνας. Επεξεργασία Εικόνων. Εικόνα. Τεχνητή Όραση 1.1. Εργα: : & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ

Μετασχηματισμοί Μοντελοποίησης (modeling transformations)

Διδάσκων: Φοίβος Μυλωνάς

Τι είναι Αποκοπή (clip)?

4ο Μάθημα Προβολές και Μετασχηματισμοί Παρατήρησης

Αλγόριθµοι Παράστασης Βασικών Σχηµάτων

Αλγόριθµοι Παράστασης Βασικών Σχηµάτων

Γραφικά με Η/Υ Αποκοπή

Γραφικά με Η/Υ / Εισαγωγή

Γραφικά με Η/Υ Αποκοπή

Αλγόριθµοι Παράστασης Βασικών Σχηµάτων

Γραφικά Ι. Ενότητα 4: Προβολές και Μετασχηματισμοί Παρατήρησης. Θεοχάρης Θεοχάρης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Γραφικά Υπολογιστών & Εικονική Πραγματικότητα. Μετασχηματισμός απεικόνισης & Αλγόριθμοι αποκοπής

Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, Τ.Ε.Π Π.Μ, Μάθημα: Γραφικά με Η/Υ

ΕΡΓΑΣΤΗΡΙΟ ΠΟΛΥΜΕΣΩΝ ΚΑΙ ΓΡΑΦΙΚΩΝ

ΚΕΦΑΛΑΙΟ 5: ΑΠΕΙΚΟΝΙΣΗ ΚΑΙ ΑΠΟΚΟΠΗ

Η διαδικασία Παραγωγής Συνθετικής Εικόνας (Rendering)

Διαλέξεις #13-#14 Εισαγωγικά στοιχεία Προοπτική, Παράλληλη, Πλάγια Υπολογισμός Παράλληλης Προβολής Υπολογισμός Προοπτικής Προβολής Παραδείγματα

ισδιάστατοι μετασχηματισμοί ΚΕΦΑΛΑΙΟ 4: ισδιάστατοι γεωμετρικοί μετασχηματισμοί

Μηχανολογικό Σχέδιο με τη Βοήθεια Υπολογιστή. Αφφινικοί Μετασχηματισμοί Αναπαράσταση Γεωμετρικών Μορφών

Γραφικά με Η/Υ Αλγόριθμοι σχεδίασης βασικών 22D D σχημάτων (ευθεία

Αλγόριθμοι παράστασης βασικών σχημάτων σε πλεγματικές οθόνες

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #07

ΘΕΩΡΙΑ Β ΓΥΜΝΑΣΙΟΥ. Μια παράσταση που περιέχει πράξεις με μεταβλητές (γράμματα) και αριθμούς καλείται αλγεβρική, όπως για παράδειγμα η : 2x+3y-8

Θεωρία μετασχηματισμών

Εφαρμοσμένα Μαθηματικά ΙΙ 1ο Σετ Ασκήσεων (Λύσεις) Διανύσματα, Ευθείες Επίπεδα, Επιφάνειες 2ου βαθμού Επιμέλεια: Ι. Λυχναρόπουλος

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διαλέξεις #11-#12

Μετασχηματισμοί Παρατήρησης και Προβολές

Συστήματα συντεταγμένων

Κλασικη ιαφορικη Γεωµετρια

Κλασσική παρατήρηση & παρατήρηση με υπολογιστή

Αντικείμενα και γεωμετρικοί μετασχηματισμοί

Γεωμετρικές Σκιές. Θ. Θεοχάρης Ι. Κακαδιάρης - Γ. Πασσαλής

Γραφικά με Η/Υ Αλγ λ ό γ ρ ό ιθ ρ μοι κύκλου & έλλειψης

Διαλέξεις #05 & #06. Διδάσκων: Φοίβος Μυλωνάς. Γραφικά με υπολογιστές. Αλγόριθμος Σχεδίασης Κύκλου Αλγόριθμος Σχεδίασης Έλλειψης

Στο Κεφάλαιο 5 µελετώντας την προβολή του τρισδιάστατου χώρου στο επίπεδο της κάµερας εξετάστηκε

13 ΙΑΝΥΣΜΑΤΙΚΗ ΑΝΑΛΥΣΗ

Γεωμετρικοί μετασχηματιμοί εικόνας

Συστήματα συντεταγμένων

α) Κύκλος από δύο δοσµένα σηµεία Α, Β. Το ένα από τα δύο σηµεία ορίζεται ως κέντρο αν το επιλέξουµε πρώτο. β) Κύκλος από δοσµένο σηµείο και δοσµένο ευ

Ειδικά Θέµατα Υπολογιστικής Όρασης & Γραφικής. Εµµανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Μετασχηµατισµοί. Μετασχηµατισµοί είναι πράξεις (Τελεστές) που επιδρούν πάνω στις συντεταγµένες των σηµείων που απαρτίζουν ένα γεωµετρικό σχήµα M(V)

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Γραφικά & Οπτικοποίηση. Κεφάλαιο 1. Εισαγωγή. Γραφικά & Οπτικοπίηση: Αρχές & Αλγόριθμοι Κεφάλαιο 1

Μηχανολογικό Σχέδιο με τη Βοήθεια Υπολογιστή. Γεωμετρικός Πυρήνας Προβολικοί Μετασχηματισμοί

Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή

1)Βρείτε την εξίσωση για το επίπεδο που περιέχει το σηµείο (1,-1,3) και είναι παράλληλο προς το επίπεδο 3x+y+z=a όπου a ένας αριθµός.

Μοντέλα & Αλγόριθµοι Φωτισµού

( ) Κλίση και επιφάνειες στάθµης µιας συνάρτησης. x + y + z = κ ορίζει την επιφάνεια µιας σφαίρας κέντρου ( ) κ > τότε η

Γραφικά Ι. Ενότητα 1: Εισαγωγή. Θεοχάρης Θεοχάρης Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών

1 η Εργασία Ηµεροµηνία αποστολής: 19 Νοεµβρίου 2006

Γραφικά Υπολογιστών: Σχεδίαση γραμμών (Bresenham), Σχεδίασης Κύκλων, Γέμισμα Πολυγώνων

Θέση και Προσανατολισμός

ΜΑΘΗΜΑΤΙΚΑ Α' ΓΥΜΝΑΣΙΟΥ ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ σε word! ΕΠΙΜΕΛΕΙΑ: ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΣΟΛΚΑΣ

Κεφάλαιο M3. Διανύσµατα

Κεφάλαιο 2. Διανύσματα και Συστήματα Συντεταγμένων

( ) Κλίση και επιφάνειες στάθµης µιας συνάρτησης. x + y + z = κ ορίζει την επιφάνεια µιας σφαίρας κέντρου ( ) κ > τότε η

ΜΑΘΗΜΑΤΑ ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΟΥ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ Β ΛΥΚΕΙΟΥ

Μάθημα 10 ο. Περιγραφή Σχήματος ΤΜΗΥΠ / ΕΕΣΤ 1

ΘΕΩΡΙΑ Α ΓΥΜΝΑΣΙΟΥ. Η διαίρεση καλείται Ευκλείδεια και είναι τέλεια όταν το υπόλοιπο είναι μηδέν.

ΒΙΟΜΗΧΑΝΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ

3) το παράθυρο Πίνακας τιμών όπου εμφανίζονται οι τιμές που παίρνουν οι παράμετροι

Μαθηματικό υπόβαθρο. Κεφάλαιο 3. Μαθησιακοί στόχοι. 3.1 Εισαγωγή. 3.2 Σημεία και διανύσματα

ΕΠΑΝΑΛΗΨΗ Α ΓΥΜΝΑΣΙΟΥ

Κεφάλαιο 2. Διανύσματα και Συστήματα Συντεταγμένων

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

2 Ο ΚΕΦΑΛΑΙΟ Ενότητα 5.

ΦΥΕ 10, Γ. ΚΟΡ ΟΥΛΗΣ, ιανύσµατα 1/6. = + tβ r. zk και εξισώνουµε τις συνιστώσες των διανυσµάτων x(t) = 1+ 2t, y(t) = 1+ 3t, z(t) = 4 + t

Αποκοπή ευθυγράμμων τμημάτων

Οδηγίες για το Geogebra Μωυσιάδης Πολυχρόνης Δόρτσιος Κώστας

Τάξη B. Μάθημα: Η Θεωρία σε Ερωτήσεις. Επαναληπτικά Θέματα. Επαναληπτικά Διαγωνίσματα. Επιμέλεια: Κώστας Κουτσοβασίλης. α Ε

Εργασία 2. Παράδοση 20/1/08 Οι ασκήσεις είναι βαθμολογικά ισοδύναμες

ΓΥΜΝΑΣΙΟ ΚΑΣΤΕΛΛΑΝΩΝ ΜΕΣΗΣ ΑΛΓΕΒΡΑ

(2) Θεωρούµε µοναδιαία διανύσµατα α, β, γ R 3, για τα οποία γνωρίζουµε ότι το διάνυσµα

4.3. Γραµµικοί ταξινοµητές

ιάνυσµα ονοµάζεται το µαθηµατικό µέγεθος που περιγράφεται από µιατριάδαστοιχείων: το

Ενδεικτική Οργάνωση Ενοτήτων. E Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1

Γραφικά Υπολογιστών: Μέθοδοι Ανίχνευσης Επιφανειών (Surface Detection Methods)

αx αx αx αx 2 αx = α e } 2 x x x dx καλείται η παραβολική συνάρτηση η οποία στο x

ΠΡΩΤΟ ΘΕΜΑ ΕΞΕΤΑΣΕΩΝ

Τι είναι βαθμωτό μέγεθος? Ένα μέγεθος που περιγράφεται μόνο με έναν αριθμό (π.χ. πίεση)

Γραφικά Υπολογιστών. Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Ανατολικής Μακεδονίας και Θράκης. Γραφικά Υπολογιστών ΣΤ Εξάμηνο. Δρ Κωνσταντίνος Δεμερτζής

Γραφικά Υπολογιστών: Θέαση στις 3D

117 ΑΣΚΗΣΕΙΣ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΤΕΥΘΥΝΣΗΣ Β ΛΥΚΕΙΟΥ Μανώλη Ψαρρά. Μαθηματικού

Γραφικά Υπολογιστών. Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Ανατολικής Μακεδονίας και Θράκης. Γραφικά Υπολογιστών ΣΤ Εξάμηνο. Δρ Κωνσταντίνος Δεμερτζής

ΜΑΘΗΜΑΤΙΚΑ ΙΙ ιδάσκων : Ε. Στεφανόπουλος 12 ιουνιου 2017

ΚΕΦΑΛΑΙΟ 2: ΑΛΓΟΡΙΘΜΟΙ ΕΥΘΕΙΑΣ ΚΥΚΛΟΥ -ΈΛΛΕΙΨΗΣ

Transcript:

#9 Γραφική Υπολογιστή 1. Βασικοί γραφικοί αλγόριθµοι, 2. Αρχές γραφικών πλεγµατικών οθονών raster 3. Μετασχηµατισµοί 2 και 3 διαστάσεων και συστήµατα συντεταγµένων, 4. Προβολές και µετασχηµατισµοί παρατήρησης, 5. αλγόριθµοι απόκρυψης επιφανειών και αλγόριθµοι φωτισµού Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 1

Ιστορική αναδροµή Sketchpad (Sutherland, 1963): Αλληλεπίδραση µέσω γραφικών ιανυσµατική οθόνη, light pen. Πλεγµατική οθόνη (τέλη δεκαετίας `60): εµφάνιση επιφανειών Εναυσµα για αλγόριθµους απόκρυψης & φωτισµού επιφανειών. Αλγόριθµοι ρεαλιστικής παράστασης (συνεχώς). Παράλληλη επεξεργασία / ειδικά κυκλώµατα (π.χ. z-buffer) (δεκαετίες 80 & 90). Ivan Sutherland (1963 διδακτορική διατριβή), ιανυσµατική οθόνη, γραφίδα-δεικτική συσκευή Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 2

Εισαγωγή -Περιοχές που σχετίζονται µε την εικόνα Γραφικά (Graphics) Επεξεργασία εικόνας (Image Processing) Τεχνητή όραση (Computer vision) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 3

Περιοχές εφαρµογών Γραφική αλληλεπίδραση µε χρήστη (GUI). Σχεδίαση (CAD): πχ Αρχιτεκτονική, VLSI design Γεωγραφικά Συστήµατα Πληροφοριών (GIS). Προσοµοιώσεις (π.χ.πτήσεως ). Συνθετικές ταινίες & διαφήµιση. Ιατρικές εφαρµογές. Οπτικοποίηση δεδοµένων. Τέχνη (π.χ. fractals). Παιχνίδια. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 4

Γραφικό σύστηµα επεξεργασίας nvidia GeForceFX 5800 nvidia GeForce4 Ti 4800 ATI Radeon 9700 Pro Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 5

Πλεγµατική ή διανυσµατική απεικόνιση Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 6

Πλεγµατική οθόνη (raster display) Σάρωση της οθόνης ανά γραµµή και σε συγκεκριµένο χρονικό ρυθµό Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 7

Πλεγµατική οθόνη: αποθήκευση εικόνας στη µνήµη Αποθήκευση της εικόνας στη µνήµη ως πίνακα τριών διαστάσεων: (πλάτος x ύψος x χρώµα) Χρήση παλέτας για µείωση απαιτήσεων χρώµατος. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 8

Χρήση παλέτας χρωµάτων Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 9

Πλεγµατική οθόνη/ 2 2- πλέγµα χρωµατιζόµενων εικονοστοιχείων (pixels) Φρεσκάρισµα σε σταθερό ρυθµό από µνήµη Κανένας περιορισµός σε εικόνα Αποδέσµευση φρεσκαρίσµατος από άλλες λειτουργίες Μεγάλη (;) απαίτηση µνήµης (1024 x 1024 x 24 = 3MB) Μείωση µε χρήση παλέτας (lookup table) Προβλήµατα ταύτισης (aliasing) Νέες τεχνολογίες (LCD, plasma) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 10

Πλεγµατική οθόνη /3 Απαιτούνται αλγόριθµοι απεικόνισης ευθείας, καµπύλης, πλήρωσης πολυγώνου σε πλεγµατική οθόνη Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 11

Αλγόριθµος γραφικής απεικόνισης Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 12

Παράσταση σχηµάτων Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 13

Απεικόνιση Ευθύγραµµου τµήµατος Αλγόριθµοι υποστηρίζονται και από hardware. Κριτήρια «καλού» αλγορίθµου: Όσο γίνεται πιο κοντά στη µαθηµατική πορεία Πάχος σταθερό και ανεξάρτητο από µήκος και κλίση. Με όσο το δυνατόν µικρότερο υπολογιστικό κόστος (µεγαλύτερη ταχύτητα). Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 14

Αλγόριθµος 1 Έστω ευθύγραµµο τµήµα µεταξύ pixels P 1 (x 1,y 1 ), P n (x n,y n ) στο πρώτο οκταµόριο. Τότε: (xn, yn) όπου y = s x + s = y x n n y x b 1 1 = y x (x1, y1) και b (x, y) = y 1 x x n n y x n 1 x 1 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 15

Υλοποίηση void line1( x1, y1, xn, yn, colour) int x1,y1, xn, yn, colour; /* colour: ακέραια αναπαράσταση του χρώµατος*/ { float s, b, y; int x; s=( yn- y1)/( xn- x1); b=( y1* xn- yn* x1)/( xn- x1); for (x= x1; x<= xn; x++){ y= s* x+ b; setpixel( x, round( y), colour); } } Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 16

Αλγόριθµος 2 (αποδοτικότερος) Ο πολλαπλασιασµός µέσα στο βρόγχο µπορεί να αποφευχθεί µετατρέποντας τον τύπο σε αναδροµικό: y s y i ( sx i + x i + 1 i + s = i + + b 1) sx + + s b = 1 + = b = Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 17

Υλοποίηση line2 (x1, y1, xn, yn, colour) int x1,y1, xn, yn, colour; {float s, y; int x; s=( yn- y1)/( xn- x1); y= y1; for (x= x1; x<= xn; x++){ setpixel( x, round( y), colour); y= y+ s; } } Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 18

Αλγόριθµος 3 Αποφυγή της στρογγυλοποίησης µέσα το βρόγχο µε χωρισµό του y σε ακέραιο και δεκαδικό µέρος (error) και χρήση µόνο του ακεραίου για εύρεση του εποµένου σηµείου. Σφάλµα = απόσταση pixel από ιδεατή πορεία. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 19

Υλοποίηση line3 (x1, y1, xn, yn, colour) int x1,y1, xn, yn, colour; {float s, error; int x, y; s=( yn- y1)/( xn- x1); y= y1; error= 0; for (x= x1; x<= xn; x++){ setpixel( x, y, colour); error= error+ s; if (error>= 0.5){ y++; error--} } } Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 20

Αλγόριθµος 4 (Bresenham) Πολλαπλασιάζοντας µε dx=x n -x 1, οι µεταβλητές s και error γίνονται ακέραιες. Η σύγκριση για την επιλογή του επόµενου pixel γίνεται µε floor(dx/2). Επίσης, αφαιρώντας από την αρχική τιµή του error dx, η σύγκριση µπορεί να γίνει και µε το 0. Λειτουργεί για θετικές κλίσεις. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 21

Υλοποίηση line4 (x1, y1, xn, yn, colour) int x1,y1, xn, yn, colour; { int error, x, y, dx, dy; dx= xn- x1; dy= yn- y1; error=- dx/ 2; y= y1; for (x= x1; x<= xn; x++){ setpixel( x, y, colour); error= error+ dy; if (error>= 0){ y++; error= errordx} } } Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 22

Περιορισµοί Μόνο στο 1 ο τεταρτηµόριο. Εύκολα µπορεί να επεκταθεί και στα άλλα µε κατάλληλες εναλλαγές των ρόλων x, y, αρχικού και τελικού σηµείου. Άξονας ταχύτερης κίνησης και είδος µεταβολής του άλλου άξονα δίνονται στο σχήµα. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 23

Περιορισµοί (συνέχεια) Ευθύγραµµα τµήµατα διαφορετικών κλίσεων µπορεί να έχουν διαφορετική φωτεινότητα. Το φαινόµενο αυτό µπορεί να διορθωθεί µε τεχνικές αντιταύτισης (anti-aliasing). Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 24

Αλγόριθµος σχεδίασης κύκλου σε πλεγµατική οθόνη* Εκµετάλλευση 8-πλής συµµετρίας: (skip) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 25

Συµµετρία κύκλου circle_ symmetry (x, y, colour) int x, y, colour; { setpixel( x, y, colour); setpixel( y, x, colour); setpixel( y,- x, colour); setpixel( x,- y, colour); setpixel(- x,- y, colour); setpixel(- y,- x, colour); setpixel(- y, x, colour); setpixel(- x, y, colour); } Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 26

Αλγόριθµος Bresenham Έστω ότι επελέγη το σηµείο (x i,y i ). Το επόµενο θα είναι (x i +1,y i ) ή (x i +1,y i -1); Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 27

Αλγόριθµος Μεταβλητή απόφασης: όπου d ei = = y 2 y 2 d = y 2 y i 2 i d1 d 2 1, ( 1) Εάν e i 0, επιλέγεται το (x i +1,y i -1) αλλιώς επιλέγεται το (x i +1,y i ) 2 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 28

Υπολογισµός του e Για x=x i +1 ισχύει ότι y 2 =r 2, οπότε: e i = y i2 -r 2 + (x i +1) 2 + (y i -1) 2 -r 2 + (x i +1) 2 e i =2 (x i +1) 2 + y i 2 + (y i -1) 2 2 r 2 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 29

Αναδροµικός υπολογισµός e e i+1 = 2 (x i+1 +1) 2 + y 2 i+1 + (y i+1-1) 2-2 r 2 = 2 (x i +2) 2 + y 2 i+1 + (y i+1-1) 2-2 r 2 = 2x i2 + 8x i + 8+ y i+12 + y i+12-2y i+1 +1-2r 2 = 2(x i +1) 2 + 4x i + 6+ 2y i+12-2y i+1 + 1-2r 2 = e i + 4x i + 6 + 2(y i+12 -y i+12 ) 2(y i+1 -y i ) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 30

Τελικός τύπος υπολογισµού Αν e i <0 y i+1 = y i e i+1 =e i + 4(x i + 1)+ 2 Αν e i 0 y i+1 =y i 1 e i+1 = e i + 4x i + 6 + 2((y i -1) 2 -y i2 ) 2(y i 1-y i ) e i+1 = e i + 4(x i +1) + 2 4(y i 1) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 31

Παρατηρήσεις Αρχική τιµή: e 1 =2+ r 2 + (r 1) 2 2r 2 = 3 2r Για µεταφορά του κύκλου από το (0,0) στο (x 0,y 0 ) αρκεί να αντικατασταθεί η κλήση circle_symmetry(x,y,colour); από: circle_symmetry(x-x 0,y-y 0,colour); Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 32

Υλοποίηση circle (r, colour) int r, colour; { int x, y, e; x= 0; y= r; e= 3-2* r; while (x<= y){ circle_ symmetry( x, y, colour); x++; if (e>= 0) { y--; e= e- 4* y } e= e+ 4* x+ 2; } } Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 33

Λειτουργίες σε πλεγµατική οθόνη RasterOp Πλεγµατική οθόνη: εικόνα αποθηκεύεται στη µνήµη οθόνης (frame buffer) Πολλές διαδικασίες µε µετακίνηση ή συνδυασµούς στη µνήµη οθόνης. (π.χ. επεξεργασία κειµένου) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 34

RasterOp Γενική ρουτίνα µετακίνησης/συνδυασµού παραλληλογράµµων τµηµάτων εικόνας. Βελτιστοποιηµένη, γρήγορη υλοποίηση. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 35

Υλοποίηση RasterOp( src_x_min, src_y_min, dst_x_min, dst_y_min, sizex, sizey, funct) int src_x_min, src_y_min, dst_x_min, dst_y_min, sizex, sizey; ftype funct) /* (src_x_min, src_y_min) και (dst_x_min, dst_y_min) */ /* ή κάτω αριστερή γωνία των source και destination */ /* sizex, sizey οι x και y διαστάσεις σε pixel */ /* function κάποιος τελεστής µε pixel */ {int i, j; for (i= 0; i< sizex; i++) for (j= 0; j< sizey; j++) set_pixel( dst_x_min+ i, dst_y_min+ j, funct( read_pixel( dst_x_min+ i, dst_y_min+ j) read_pixel( dst_x_min+ i, dst_y_min + j))); } Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 36

Παράδειγµα: XOR Αντιµετάθεση σχηµάτων χωρίς χρήση βοηθητικού χώρου. void exchange (src_ x_ min, src_ y_ min, dst_ x_ min, dst_ y_ min, sizex, sizey) int src_ x_ min, src_ y_ min, dst_ x_ min, dst_ y_ min, sizex, sizey; {RasterOp (src_ x_ min, src_ y_ min, dst_ x_ min, } dst_ y_ min, sizex, sizey, XOR); RasterOp (dst_ x_ min, dst_ y_ min, src_ x_ min, src_ y_ min, sizex, sizey, XOR); RasterOp (src_ x_ min, src_ y_ min, dst_ x_ min, dst_ y_ min, sizex, sizey, XOR); Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 37

RasterOp: Μετακίνηση Η exchange µπορεί να χρησιµεύσει για διαδοχικές µετακινήσεις αντικειµένων (π.χ. cursor) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 38

move move (from_x_min, from_y_min, to_x_min, to_y_min, back_x_min, back_y_min, sizex, sizey) int from_x_min, from_y_min, to_x_min, to_y_min, back_x_min, back_y_min, sizex, sizey; {exchange (to_x_min, to_y_min, } back_x_min,back_y_min, sizex, sizey); exchange (from_x_min, from_y_min, to_x_min, to_y_min, sizex, sizey); Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 39

Μετασχηµατισµοί 2 & 3 Συνδυασµοί βασικών: µετατόπιση, αλλαγή κλίµακας, περιστροφή, στρέβλωση. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 40

Σηµεία και ιανύσµατα Ε 3 ο 3 Ευκλείδειος χώρος σηµείων, p σηµείο. R 3 ο 3 Ευκλείδειος χώρος διανυσµάτων, v διάνυσµα. Βασικές ιδιότητες: p 1, p 2 Ε 3, u R 3 µε u = p 1 -p 2. p Ε 3, u R 3, p + u = q Ε 3 p, q, r Ε 3, (p q) + (q r) = (p r) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 41

ιανυσµατικοί χώροι Σε κάθε διανυσµατικό χώρο (π.χ. R 3 ) ορίζονται 2 πράξεις ιανυσµατική πρόσθεση (q + v) Βαθµωτός (scalar) πολλαπλασιασµός (λv) Ιδιότητες πρόσθεσης: Αντιµεταθετική: q + v = v + q Προσεταιριστική: (p + q) + v = p + (q + v) Ύπαρξη ουδετέρου: 0 : 0 + v = v + 0 = v Ύπαρξη αντιθέτου: p -p : p+ (-p) = 0 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 42

ιανυσµατικοί χώροι Ιδιότητες βαθµωτού πολλαπλασιασµού (β.π.) Επιµερισµός ως προς την πρόσθεση: λ(v + q) = λv + λq Επιµερισµός πρόσθεσης ως προς βαθµωτό πολλαπλασιασµό : Προσεταιρισµός: (λ + µ) v = λv + µv (λµ) v = λ (µ v) Ουδέτερο στοιχείο: 1 : v 1 = 1 v = v Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 43

ιανυσµατικοί χώροι Παραδείγµατα: 2 και 3 Ευκλείδειοι χώροι. Πολυώνυµα διαφόρων βαθµών. Γραµµικός συνδυασµός x 1, x 2, x ν : y = λ 1 x 1 + λ 2 x 2 + + λ ν x ν Γραµµική ανεξαρτησία x 1, x 2, x ν, : αν λ 1 x 1 + λ 2 x 2 + + λ ν x ν = 0, έχει µόνη λύση την λ 1 = λ 2 = = λ ν = 0 Παράδειγµα τα (1,0,0), (0,1,0), (0,0,1) του Ε 3 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 44

ιανυσµατικοί χώροι Βάση: κάθε ολοκληρωµένο σύνολο γραµµικώς ανεξαρτήτων διανυσµάτων. Το πλήθος τους καλείται διάσταση του χώρου. Αν y = λ 1 j + λ 2 j + λ 3 k όπου (i, j, k) βάση τότε (λ 1, λ 2, λ 3 ) συντεταγµένες. (Ο, i, j, k) ονοµάζεται σύστηµα συντεταγµένων µε βάση το σηµείο Ο, και βάση (i, j, k) (i, j, k) ορίζουν άξονες συντεταγµένων Μήκος: διανύσµατος (x,y,z) 2 2 v = x + y + z 2 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 45

Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 46 ιανυσµατικοί χώροι Απόσταση µεταξύ δύο σηµείων p 1, p 2 2 1 2 2 1 2 2 1 2 2 1 ) ( ) ( ) ( z z y y x x p p + + =

ιανυσµατικοί χώροι Εσωτερικό γινόµενο v w= Σ (v i w i ) π.χ. Ευκλείδειος 3 : v w= v x w x + v y w y + v z w z Ιδιότητες: Αντιµεταθετική: v w= w v v v= 0 v = 0 v / v = v, µοναδιαίο διάνυσµα (κανονικοποίηση) ισχύει v w= v w cos(θ), απ όπου µπορεί να υπολογιστεί και η γωνία µεταξύ διανυσµάτων. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 47

ιανυσµατικοί χώροι Εξωτερικό γινόµενο v x w = (v y w z + v z w y ) i + (v x w z + v z w x )j + (v x w y + v y w x )k v x w είναι κάθετο στο επίπεδο που ορίζουν τα δύο άλλα διανύσµατα. δεν ισχύει η αντιµεταθετική ιδιότητα. v x w = - w x v Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 48

Συσχετισµένοι (Affine) Μετασχηµατισµοί* Συσχετισµένος ή βαρυκεντρικός µετασχηµατισµός σηµείων p 0 p n Ε 3 : p = Σ α j p j όπου α j R και Σ α j = 1 αποτέλεσµα p Ε 3. {α j } ονοµάζονται οι συσχετισµένες συντεταγµένες του p ως προς p 0 p n. Ο µετασχηµατισµός είναι κυρτός αν α j 0 Συσχετισµένος µετασχηµατισµός Φ: Ε 3 Ε 3 που αφήνει τους συσχετισµένους µετασχηµατισµούς αναλλοίωτους: Φ(p) = Σ α j Φ(p j ) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 49

Συσχετισµένοι Μετασχηµατισµοί* Π.χ. εφαρµογή συσχετισµένου µετασχηµατισµού πάνω σε ευθύγραµµο τµήµα s απεικονίζει το µέσον του στο µέσο της συσχετισµένης εικόνας Φ(s). Συσχετισµένος µετασχηµατισµός µε µορφή πίνακα: Φ(p) = Α p + t (A πίνακας, 3x3 για το Ε 3 ) Απόδειξη: Φ(Σ α j p j ) = Α(Σ α j p j ) + t = Σ Aα j p j + Σ α j t = Σ α j (Ap j + t) = Σ α j Φ(p) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 50

2D Μετασχηµατισµοί Μετατόπιση: x =x+a, y =y+b Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 51

Mετασχηµατισµοί Αλλαγή κλίµακας (διαφορετική ανά άξονα): x =x*a, y =y*b *2 *0,5 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 52

µετασχηµατισµοί Στροφή κατά γωνία θ (+ve αντίθετα από δείκτες ρολογιού) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 53

Μετασχηµατισµοί 2- Στρέβλωση κατά άξονα x µε παράγοντα 2: x =x+2y Στρέβλωση κατά άξονα y µε παράγοντα 2: y =y+2x Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 54

Μετασχηµατισµοί Μετατόπιση: Τ(p) = I p+ d, όπου Ι ο µοναδιαίος πίνακας και d το διάνυσµα µετακίνησης. Στροφή περί άξονα z κατά γωνία φ: R(p) = R z,φ p, όπου: cosφ = sinφ 0 sinφ cos φ Rz, φ 0 0 0 1 Αλλαγή κλίµακας: S(p) = D p, όπου D = s 0 0 x 0 s 0 y 0 0 s z Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 55

Μετασχηµατισµοί Στρέβλωση (shearing), κατά x και y µε z σταθερό: SH(p) = H x,y p, όπου: 1 = c 0 a 1 0 b 1 H d x, y Οποιοσδήποτε άλλος µετασχηµατισµός, δηµιουργείται σαν συνδυασµός των τεσσάρων αυτών βασικών µετασχηµατισµών (µετατόπιση, στροφή, στρέβλωση, αλλαγή κλίµακος). Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 56

Οµογενείς συντεταγµένες Προβλήµατα: Μεταφορά δεν υλοποιείται µε πολλαπλασιασµό πινάκων. Ύπαρξη σταθερού σηµείου Ο, σταθερού για όλους τους µετασχηµατισµούς. Οµογενείς συντεταγµένες: (x,y) (x,y,w) µε w 0. (x,y,w) παριστάνει το (x/w,y/w) Άπειρες τριάδες για κάθε σηµείο. Βασική παράσταση: (x,y,1) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 57

Οµογενείς συντεταγµένες Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 58

Οµογενείς Συντεταγµένες Συσχετισµένοι µετασχηµατισµοί: πίνακες 3x3 Μεταφορά: 1 0 0 0 1 0 d d x 1 y Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 59

Οµογενείς Συντεταγµένες Αλλαγή κλίµακας (αν s i < 1 σµίκρυνση) s 0 0 x 0 s y 0 0 0 1 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 60

Στροφή: Οµογενείς συντεταγµένες cos 0 0 θ 0 cosθ -sinθ 0 sinθ cosθ 0 sin 0 θ 0 0 1 0 0 1 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 61

Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 62 Οµογενείς συντεταγµένες Στρέβλωση (κατά άξονες x και y): = 1 0 0 0 1 0 0 1 a H x = 1 0 0 0 1 0 0 1 b H y

Οµογενείς Συντεταγµένες Σύνθεση µετασχηµατισµών: π.χ. Αλλαγή κλίµακας, ω.π. C=(c x,c y,1) µεταφορά κατά c= -(O -C) αλλαγή κλίµακας µεταφορά κατά c Γενικά δεν ισχύει η αντιµετάθεση. Πρώτος εκτελείται ο τελεστής που γράφεται τελευταίος. Σύνθεση: Εκτέλεση σειράς µετασχηµατισµών από ένα τελικό πίνακα. Αυξάνει την απόδοση (µειώνει την πολυπλοκότητα) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 63

Σύνθεση µετασχηµατισµών Ιδιότητες: T(x 1,y 1 ) T(x 2,y 2 ) = T(x 2,y 2 ) T(x 1,y 1 ) = T(x 1 +x 2,y 1 +y 2 ) S(s x1,s y1 ) S(s x2,s y2 )=S(s x2,s y2 ) S(s x1,s y1 )= S(s x1 s x2,s y1 s y2 ) R(θ 1 ) R(θ 2 ) = R(θ 2 ) R(θ 1 ) = R(θ 1 + θ 2 ) S(s x,s y ) R(θ) = R(θ) S(s x,s y ) µόνο αν s x = s y Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 64

Γεωµετρικές Ιδιότητες Για κάθε συσχετισµένο µετασχηµατισµό F και σηµεία p και q ισχύει: F(λp+(1-λ)q) = λf(p)+ (1-λ) F(q) για 0 λ 1 λp+(1-λ)q είναι το ευθύγραµµο τµήµα µεταξύ p και q. Η F παράγει πάλι ευθύγραµµο τµήµα. Η σχέση λ/(1-λ) παραµένει αναλλοίωτη από F. Εξακολουθεί να αρκεί απεικόνιση άκρων µόνο. Παράλληλες ευθείες παραµένουν παράλληλες. π.χ. οι µετασχηµατισµοί που είδαµε νωρίτερα. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 65

Γεωµετρικές ιδιότητες Ορθογώνιος µετασχηµατισµός: Μετασχηµατισµός Α λέγεται ορθογώνιος αν α 1 = α 2 = 1 α 1 α 2 = 0 Ορίζουσα του Α = 1 A = a a 11 21 a a 12 22 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 66

Γεωµετρικές Ιδιότητες M = a a 0 tx t y 1 Ο Μ είναι µετασχηµατισµός οµοιότητας αν ο Α είναι ορθογώνιος. Ένας µετασχηµατισµός οµοιότητας διατηρεί αναλλοίωτα µήκη και γωνίες. 11 21 Οποιαδήποτε σύνθεση Τ & R είναι µετασχηµατισµός οµοιότητας. Αν στη σύνθεση έχουµε S και Η, έχουµε συσχετισµένο µετασχηµατισµό αλλά όχι οµοιότητας (διατηρείται παραλληλία αλλά όχι µήκη και γωνίες). a a 12 22 0 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 67

Άσκηση Ζητείται να υπολογιστεί ο πίνακας µετασχηµατισµού της συµµετρικής απεικόνισης εικόνας ως προς τον άξονα w ο οποίος σχηµατίζει γωνία θ µε τον θετικό άξονα των Χ Βοήθεια. Ο µετασχηµατισµός µπορεί να προκύψει από : στροφή της εικόνας κατά θ Συµµετρία ως προς τον άξονα Χ Στροφή της εικόνας κατά θ Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 68

Φροντιστηριακή άσκηση Σελ 119 (Θεοχάρης) άσκηση α.3.9 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 69

2- Μετασχηµατισµός Παρατήρησης Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 70

2- Μετασχηµατισµοί Παρατήρησης Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 71

2- Μετασχηµατισµοί Παρατήρησης Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 72

Μετασχηµατισµοί 3- Οµογενείς συντεταγµένες σηµείων Ε 3 : (x,y,z,w) Βασική παράσταση: (x,y,z,1) εξιόστροφα (εδώ) ή αριστερόστροφα συστήµατα. Υ Υ Ζ Χ Ζ (α) Χ (β) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 73

Μετασχηµατισµοί 3- Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 74

Μετασχηµατισµοί 3- Στροφή: Ανάγκη καθορισµού θετικής / αρνητικής φοράς Ορθογώνιοι µετασχηµατισµοί Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 75

Μετασχηµατισµοί 3- Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 76

Αποκοπή Αποκοπή αντικειµένου (π.χ. πολυγώνου, πυραµίδας, κύβου) ω.π. σηµείο αποκοπής: Αποφυγή αντεστραµµένης εµφάνισης αντικειµένων (π.χ. 3-, όπισθεν παρατηρητή). Μείωση του όγκου δεδοµένων (φίλτρο). Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 77

Αποκοπή 2- : στην αντιταύτιση, απόκρυψη, παράλληλη επεξεργασία, 2 πακέτα. 3- : γραφική σωλήνωση (γενίκευση 2- αποκοπής) 2- αποκοπή σηµείου: εντός εάν x min x x max και y min y y max. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 78

Αποκοπή Ευθύγραµµα τµήµατα: Αλγόριθµος µέσου. ιαδοχική διάσπαση ευθυγράµµου τµήµατος στη µέση (ολίσθηση). Χρήση «φθηνών» ελέγχων εντός/ εκτός. Κωδικοποίηση 9 περιοχών του επιπέδου Τέλος εάν p 1 p 2 < pixel. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 79

Αλγόριθµος Μέσου typedef struct {float x, y} point; midpoint (P1, P2, xmin, xmax, ymin, ymax) point P1, P2; float xmin, xmax, ymin, ymax; {point M; /* Υπολογισµός ΙΧ 1, ΙΥ 1, ΙΧ 2, ΙΥ 2 */ if (( IX1== 0)&&( IY1== 0)&&( IX2== 0)&&( IY2== 0)) /* Το P1P2 είναι εντός παραθύρου */ else if (( IX1== IX2)&&( IX1!= 0)) (( IY1== IY2)&&( IY1!= 0)) /* To P1P2 είναι εκτός παραθύρου */ else { M. x=( P1. x+ P2.x)/ 2; M. y=( P1. y+ P2.y)/ 2; midpoint (P1,M, xmin, xmax, ymin, ymax); midpoint (M, P2, xmin, xmax, ymin, ymax); } } Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 80

Αποκοπή ευθυγράµµων τµηµάτων Αλγόριθµος Cohen-Sutherland: Αρχικά «φθηνός» έλεγχος για τις απλές περιπτώσεις. π.χ. AB έξω, CD µέσα. Για άλλα ευθύγραµµα τµήµατα, κόψιµο µε ευθεία παραθύρου και αναδροµή. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 81

Αλγόριθµος Cohen-Sutherland Αντιστοίχηση κωδικών σε 9 περιοχές του επιπέδου. Κώδικες προκύπτουν από τα πρόσηµα διαφορών (π.χ. 1ο bit y max y). Πρώτο bit 1, περιοχή πάνω από την ευθεία y = y max εύτερο bit 1, περιοχή κάτω από την ευθεία y = y min Τρίτο bit 1, περιοχή δεξιά από την ευθεία x = x max Τέταρτο bit 1, περιοχή αριστερά από την ευθεία x = x min Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 82

Αλγόριθµος Cohen-Sutherland 1001 1000 1010 0001 0000 0010 Υπολόγισε κώδικες c 1, c 2 για p 1 p 2. Αν c 1 c 2 = 0000, p 1 p 2 είναι εντός (π.χ. CD). Αν c 1 c 2 = 0000, p 1 p 2 είναι εκτός(π.χ. ΑΒ). ιαφορετικά: Εύρεση ευθείας του παραθύρου που αντιστοιχεί σε bit µε διαφορετικές τιµές. τοµή p 1 p 2 µε ευθεία. 0101 0100 0110 Αναδροµική κλήση για το ένα από τα τµήµατα ως προς την ευθεία τµήµα (εκείνο µε bit=0) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 83

Αλγόριθµος Cohen-Sutherland void CS (P1,P2, xmin, xmax, ymin, ymax) point P1, P2; float xmin, xmax, ymin, ymax; { } int c1, c2; point I; c1= code( P1); /* Εύρεση κώδικα P1*/ c2= code( P2); /* Εύρεση κώδικα P2*/ if (( c1 c2)== 0) /* Το P1P2 είναι εντός παραθύρου */ else if (( c1& c2)!= 0) /* Το P1P2 είναι εκτός παραθύρου */ else { } intersect (P1,P2,I,xmin,xmax,ymin,ymax); if exoteriko(p1) else CS( I,P2,xmin,xmax,ymin,ymax); CS( P1, I, xmin, xmax, ymin, ymax); Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 84

Αλγόριθµος Sutherland-Hodgman 2- αποκοπής πολυγώνων Κατάλληλος για αποκοπή τυχαίου πολυγώνου µε κυρτό πολύγωνο (παράθυρο) αποκοπής. m βήµατα για m πλευρές παραθύρου αποκοπής. είσοδος στο βήµα i (i = 1 m) µετά από αποκοπή µε πλευρά i-1. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 85

Αλγόριθµος Sutherland-Hodgman 2- αποκοπής πολυγώνων πολύγωνο ορίζεται από τις κορυφές του p 1, p 2 p n µε θετική µαθηµατική φορά. Βήµα i εξετάζει σχέση πλευράς SP µε ακµή παραθύρου i. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 86

Αλγόριθµος Sutherland-Hodgman 2- Αποκοπής Πολυγώνων Παράδειγµα βήµατος Sutherland-Hodgman: Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 87

Αποκοπή σε 3- Αντικείµενο αποκοπής: Περιορισµένη πυραµίδα (προοπτική) Κύβος (παράλληλη) 6 επίπεδα αποκοπής γι αυτά τα αντικείµενα. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 88

Cohen Sutherland 3-6 bit κωδικοί για κάθε άκρο p(x, y, z) Έστω κύβος αποκοπής: πρώτο bit = 1, z p > z max, σηµείο πίσω από κύβο. δεύτερο bit = 1, z p <z min, σηµείο εµπρός από κύβο τρίτο bit = 1, y p > y max, σηµείο πάνω από κύβο τέταρτο bit = 1, y p < y min, σηµείο κάτω από κύβο πέµπτο bit = 1, x p > x max, σηµείο δεξιά από κύβο έκτο bit = 1, x p < x min, σηµείο αριστερά από κύβο Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 89

Αλγόριθµος Cohen Sutherland 3- Αν C 1 C 2 = 000000, p 1 p 2 εντός. Αν C 1 C 2 000000, p 1 p 2 εκτός. ιαφορετικά: Εύρεση επιφάνειας κύβου που αντιστοιχεί σε bit µε διαφορετικές τιµές. τοµή p 1 p 2 µεεπιφάνεια Αναδροµική κλήση για το εσωτερικό τµήµα ως προς επιφάνεια.. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 90

Αλγόριθµος Cohen Sutherland 3- Τοµή ευθυγράµµου τµήµατος p 1 p 2 µε επίπεδο βάσει της παραµετρικής εξίσωσης: x(t) = x 1 + t(x 2 x 1 ) = x 1 + t x y(t) = y 1 + t(y 2 y 1 ) = y 1 + t y z(t) = z 1 + t(z 2 z 1 ) = z 1 + t z Π.χ. τοµή µε y = Υ Y = y(t) = y 1 + t t t = (Y y 1 ) / y Αν t [0,1], υπάρχει σηµείο τοµής µε (x 1 + t x, Y, z 1 + t z) = z/ y) (x 1 + (Y y 1 ) x/ y, Y, z 1 + (Y y 1 ) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 91

Αλγόριθµος Sutherland-Hodgman 3-6 στάδια αποκοπής για τα 6 επίπεδα έλεγχος αν p(x,y,z) εσωτερικό επιπέδου (a,b,c,d) από το πρόσηµο f(x,y,z) = ax + by + cz + d Υπολογισµός τοµής ευθυγράµµου τµήµατος µε επίπεδο: π.χ. όπως στη περίπτωση Cohen - Sutherland Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 92

ΜΑΘΗΜΑ #9 Προβολές Απαραίτητες αφού 3 αντικείµενα απεικονίζονται σε 2 συσκευές. Θέσεις αντικειµένων και φωτεινών πηγών Θέση παρατηρητή 3 Μαθηµατικά Μοντέλα ΣΣΑ 3 Μετασχ/σµοί Μοντέλου ΠΣΣ (W CS ) 3 Μετασχ/σµός Παρατήρησης Π S) ΣΣ (EC Αποµάκρυνση Πίσω Επιφανειών 3 Αποκοπή Είσοδοι (για κάθε καρέ) Παράσταση Στην Οθόνη: Σάρωση Αντιταύτιση Φωτισµός Υφή Απόκρυψη Ακµών/ Επιφανειών 1 2 D ΣΣΟ 2 (SCS) Προβολή Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 93

Προβολές Προοπτική: πεπερασµένη απόσταση κέντρου προβολής από επίπεδο προβολής. Παράλληλη: άπειρη απόσταση κέντρου προβολής από επίπεδο προβολής. Ιδιότητες προβολών: Ευθείες προβάλλονται σε ευθείες. Αποστάσεις αλλάζουν (γενικά). 3 παράλληλες ευθείες, µη παράλληλες µε επίπεδο προβολής, δεν προβάλλονται σε παράλληλες ευθείες. Γωνία µεταξύ ευθειών αλλάζει, εκτός αν επίπεδο γωνίας παράλληλο µε επίπεδο προβολής. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 94

Προοπτική Προβολή Έστω προβολή στο επίπεδο ΧΥ µε κέντρο προβολής Y K ( 0,0, d ) P 3 P 3 K ( 0,0, d ) P 2 P x, y,0 P X 1 ( ) P ( x, y, z) P 2 Z x d x d = x = x d + z d + z y d y d = y = y d + z d + z P 1 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 95

Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 96 Προοπτική Προβολή εν είναι γραµµικός µετασχηµατισµός (διαίρεση µε z). εν µπορεί να δοθεί µε µορφή πίνακα. Ωστόσο µπορούµε να χρησιµοποιήσουµε µεταβολή του w. Ακολουθεί διαίρεση µε w (αφού πρέπει w=1) = d d d P pers 1 0 0 0 0 0 0 0 0 0 0 0 0 + = = d z d y d x z y x P w z y x pers 0 1 + + = = 1 0 / d z d y d z d x w w z y x P

Προοπτική Προβολή Χαρακτηριστικό: κεντρική σµίκρυνση (όπως το ανθρώπινο µάτι). Y K Z X Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 97

Παράλληλη Προβολή Κέντρο προβολής στο άπειρο, δίνεται κατεύθυνση προβολής. ιατηρεί αποστάσεις, χρήσιµο στοιχείο π.χ. στην αρχιτεκτονική. Ορθογώνια παράλληλη προβολή: πάνω σε ένα από τα βασικά επίπεδα µε κάθετες ακτίνες προβολής. Z ( x, y z) P, A B ιεύθυνση Προβολής B X A P x, y,0 Πίνακας µετασχηµατισµού για ορθογώνια π.χ. στο ΧΥ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 ( ) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 98 Y

Παράλληλη Προβολή Παράλληλες προβολές διακρίνονται σε: Ορθογραφικές: ακτίνες προβολής κάθετες στο επίπεδο προβολής. Πλάγιες: ακτίνες όχι κάθετες. Ορθογραφικές διακρίνονται σε: Ορθογώνιες: ακτίνες προβολής παράλληλες µε Χ, Υ ή Ζ. Αξονοµετρικές: µη ορθογώνιες. Ισοµετρικές: ακτίνες προβολής παράλληλες µε κύρια διαγώνιο χώρου. Z I = = 1 I2 I3 I 3 I 1 I 2 Y X Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 99

Παράδειγµα Προβολή µοναδιαίου κύβου στο επίπεδο ΧΥ για προοπτική προβολή µε d=1 και d=10 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 100

Μετασχηµατισµός Παρατήρησης Παγκόσµιο Σύστηµα Συντεταγµένων Σύστηµα Συντεταγµένων Παρατηρητή. Σύνθεση βασικών µετασχηµατισµών. Καθορίζει όρια αποκοπής & παραµέτρους προβολής Θα εξετάσουµε ΜΠ Ι Θέσεις αντικειµένων και φωτεινών πηγών Θέση παρατηρητή 3 Μαθηµατικά Μοντέλα ΣΣΑ 3 Μετασχ/σµοί Μοντέλου ΠΣΣ (WCS) 3 Μετασχ/σµός Παρατήρησης ΣΣΠ (ECS) Αποµάκρυνση Πίσω Επιφανειών 3 Αποκοπή Είσοδοι (για κάθε καρέ) Παράσταση Στην Οθόνη: Σάρωση Αντιταύτιση Φωτισµός Υφή Απόκρυψη Ακµών/ Επιφανειών 1 2 D ΣΣΟ 2 (SCS) Προβολή Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 101

Μετασχηµατισµός Παρατήρησης Ι ΜΠ Ι χρησιµοποιεί προοπτική προβολή και καθορίζεται από: α. Σηµείο παρατήρησης β. 2 ανύσµατα για Υ Π και Ζ Π (αριστερόστροφο). ΠΣΣ ΣΣΠ βήµατα: O 1. Μεταφορά O στην αρχή ΠΣΣ. 2. Στροφές γύρω από Χ, Υ και Ζ του ΠΣΣ ώστε να ταυτισθούν µε αντίστοιχους ΣΣΠ. 3. Αποκοπή. 4. Προοπτική Προβολή. Χρησιµοποιούνται 3 ακόµα παράµετροι για καθορισµό ορίων αποκοπής: γ. Μέγεθος παραθύρου προβολής 2h. δ. Απόσταση d έµπροσθεν επιπέδου αποκοπής από (κάθετο στον Ζ Π ). ε. Απόσταση f όπισθεν επιπέδου αποκοπής από (κάθετο στον Ζ Π ). O O Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 102

Μετασχηµατισµός Παρατήρησης Ι Y Π y = h z / d Π Π O x Π = h zπ / d h z = d Π Z Π X Π Ορια αποκοπής: x y z z Π Π Π Π = ± h z = ± h z = d = f Π Π / d / d x = h z / d Π Π y = h z / d Π Π z = Π f Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 103

Μετασχηµατισµός Παρατήρησης Ι Χαρακτηριστικά ΜΠ Ι: Επίπεδο προβολής ταυτόσηµο µε έµπροσθεν επίπεδο αποκοπής z Π =d. Κέντρο προβολής ταυτόσηµο µε σηµείο παρατήρησης. Προοπτική προβολή. Τετράγωνο παράθυρο, συµµετρικό ως προς Ζ Π. Πληροφορία z διατηρείται κατά την προβολή για 2 λόγους: 3 αποκοπή ευκολότερη σαν ενδιάµεσο στάδιο της προβολής. Απόκρυψη απαιτεί z πληροφορία. (Z-Buffer) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 104

Προβολή στον ΜΠ Ι x y O O = = d x h z d y h z Π Π Π Π 1 x O 1 y O 1 1 Μετασχηµατισµός Z πρέπει να πληρεί: Ευθείες ΣΣΠ ευθείες ΣΣΟ. Επίπεδα ΣΣΠ επίπεδα ΣΣΟ. Κανονικοποιηµένες τιµές z O. z O =A+B/z Π είναι ΟΚ, µε περιορισµούς: 1. Β<0, ώστε αύξηση z Π 2. z [ d, f ] z [ 0,1] αύξηση z O. Π 2 εξισώσεις µε 2 αγνώστους: 0=Α+B/d 1=A+B/f Επίλυση µε περιορισµό 1. δίνει: Α=f/(f-d) B= -fd/(f-d) Τελικά: f O ( 1 d / z ) f d 0 z Π z O = Π 1 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 105

Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 106 Προβολή στον ΜΠ Ι Παραπάνω µετασχηµατισµός µπορεί να χωρισθεί σε: Γραµµικό µέρος (πίνακας). Με ιαίρεση µε οµογενή συντεταγµένη (= z Π ) = Π Π Π ΜΠΙ 1 z y x P w z y x = ΜΠΙ 0 1 0 0 0 0 0 0 0 0 0 0 d f fd d f f h d h d P w w z y x z y x O O O = / 1

πιο κατανοητός αν γραφεί: P ΜΠΙ Προβολή στον ΜΠ Ι d 1 0 0 0 0 0 h 0 1 0 0 d P ΜΠΙ = PΜΠΙ PΜΠΙ = f fd 0 0 0 0 h f d f d 0 0 1 0 0 1 0 είναι αλλαγή κλίµακας κατά d/h : 0 0 0 P ΜΠΙ Πυραµίδα αποκοπής γίνεται κανονική πυραµίδα. π.χ. [ 0, h, d,1] [ 0, d, d,1] µετατρέπει κανονική πυραµίδα σε ορθογώνιο παραλληλεπίπεδο: P ΜΠΙ Εµπροσθεν επίπεδο αποκοπής z Π =d γίνεται XY. Οπισθεν επίπεδο αποκοπής z Π =f γίνεται z=1. π.χ. δηλ. 0, d, d,1 0, d,0, d 010,1,, [ ] [ ] [ ] 0 0 0 1 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 107

Y Π Προβολή στον ΜΠ Ι ( 0,h,d ) h d f Z Π Y P ΜΠΙ ( 0,d,d ) d P ΜΠΙ και κανονικοποίηση (/ w ) Y O 1 1 Z Π Z O 1 d f Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 108

Φροντιστηριακή άσκηση (παραδοτέα) Α Να βρεθεί η µήτρα µετασχηµατισµού ενός σηµείου (x,y,z) από σύστηµα συντεταγµένων φυσικού συστήµατος σε ένα σύστηµα συντεταγµένων παρατήρησης (ΣΣΠ) µε χαρακτηριστικά: ο άξονας Ζ του ΣΣΠ να δείχνει κατευθείαν στην αρχή του φυσικού συστήµατος και ο άξονας Χ να είναι παράλληλος στο επίπεδο ΧΥ του φυσικού συστήµατος οι δε άξονες Χ,Υ του ΣΣΠ να είναι παράλληλοι στους άξονες της οθόνης που αποτελεί το επίπεδο προβολής Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 109

Ασκηση (συνέχεια) zw φ ye ze ρ xe Ο(x,y,z) Χρησιµοποιείστε το σχήµα για τις εξισώσεις µετασχηµατισµού x= ρ*sinφ* cosθ xw θ yw y= ρ*sinφ* sinθ z = ρ* cosφ Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 110

Άσκηση (συνέχεια) Στη συνέχεια χρησιµοποιήσατε τη µήτρα µετασχηµατισµού καθώς και τις εξισώσεις της προοπτικής προβολής για να λύσετε το εξής πρόβληµα: Αν υποθέσουµε κύβο του οποίου το κέντρο βρίσκεται στην αρχή του φυσικού συστήµατος συντεταγµένων µε ακµή 2 εκ, έστω ότι παρατηρούµε τον κύβο από σηµείο 6,10,7 µε τον άξονα παρατήρησης z να δείχνει προς την αρχή του φυσικού συστήµατος συντεταγµένων. Υποθέτουµε ότι ο άξονας των χ βρίσκεται στο επίπεδο z=7. Επίσης υποθέστε ότι βλέπουµε το αντικείµενο από απόσταση 0,6 µ. Και ότι η οθόνη (πεδίο προβολής) είναι διαστάσεων 0,3*0,3 µ. Με συντεταγµένες 1024*1024. Να βρεθεί και να υπολογιστεί η προοπτική προβολή του κύβου στο επίπεδο της οθόνης Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 111

Αποκοπή στο ΜΠ Ι w Τιµή ορίζει και τα όρια αποκοπής: w x w w y w 0 z w Αποκοπή γίνεται µετά την εφαρµογή P ΜΠΙ αλλά πριν τη διαίρεση µε το w Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 112

#10 Πρόβληµα Απόκρυψης Ποιο είναι το εµφανές αντικείµενο (χρώµα) σε κάθε σηµείο του επιπέδου προβολής; Σ Εµφανές αντικείµενο στο σηµείο Σ Επίπεδο προβολής Χωρίζονται σε αλγόριθµους απόκρυψης ακµών και επιφανειών. Χρησιµοποιούν άµεσα ή έµµεσα ταξινόµηση στις διαστάσεις X Y και Z. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 113

Χωρίζονται σε Αλγόριθµοι Απόκρυψης αλγόριθµους χώρου αντικειµένων και αλγόριθµους χώρου εικόνας. 2 Αλγόριθµοι χώρου αντικειµένων είναι O( Π ) ενώ αλγόριθµοι χώρου εικόνας είναι O( Π Ρ) όπου Π ο αριθµός των πολυγώνων και P ο αριθµός των pixels. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 114

Αλγόριθµοι χώρου αντικειµένων Αλγόριθµοι χώρου αντικειµένων συγκρίνουν αντικείµενα µεταξύ τους για να βρουν το πλησιέστερο σε κάθε σηµείο του επιπέδου προβολής: Για κάθε αντικείµενο π {Εύρεση των ορατών τµηµάτων του π µέσω σύγκρισης (Χ,Υ,Ζ) µε όλα τα άλλα αντικείµενα; Χρωµατισµός των ορατών τµηµάτων του π στην οθόνη } Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 115

Αλγόριθµοι χώρου εικόνας Αλγόριθµοι χώρου εικόνας έχουν την εξής µορφή: Για κάθε pixel ρ της εικόνας {Εύρεση του πλησιέστερου αντικειµένου που τέµνεται από την ακτίνα προβολής που περνά από το ρ; Χρωµατισµός του ρ µε το χρώµα του πλησιέστερου αντικειµένου στο σηµείο τοµής } Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 116

Αλγόριθµοι Απόκρυψης Υπολογιστική ακρίβεια. Αλγόριθµοι χώρου εικόνας: ακρίβεια που απαιτεί η ανάλυση της εικόνας. Αλγόριθµοι χώρου αντικειµένων: ακρίβεια ορισµού αντικειµένων (=ακρίβεια υπολογιστή). Θέση στη γραφική σωλήνωση εξόδου. Αλγόριθµοι χώρου αντικειµένων: µετά την προβολή (διακεκοµµένη γραµµή). Αλγόριθµοι χώρου εικόνας: ενσωµατώνονται στη διαδικασία παράστασης στην οθόνη. ιαγραφή πίσω επιφανειών. Θέσεις αντικειµένων και φωτεινών πηγών Θέση παρατηρητή 3 Μαθηµατικά Μοντέλα ΣΣΑ 3 Μετασχ/σµοί Μοντέλου ΠΣΣ (W CS ) 3 Μετασχ/σµός Παρατήρησης ΣΣ Π (E CS) ιαγραφή Πίσω Επιφανειών 3 Αποκοπή Είσοδοι (για κάθε καρέ) Παράσταση Στην Οθόνη: Σάρωση Αντιταύτιση Φωτισµός Υφή Απόκρυψη Ακµών/ Επιφανειών 1 2 D ΣΣΟ 2 (SCS) Προβολή Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 117

Αλγόριθµοι Απόκρυψης Τεχνικές βελτίωσης αποτελεσµατικότητας αλγορίθµων απόκρυψης. Εκµετάλλευση προοπτικού µετασχηµατισµού. Εκµετάλλευση συνάφειας. Περιβάλλοντες όγκοι. ιαµερισµός χώρου. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 118

Προοπτικός Μετασχηµατισµός Σ ( ) ( ) Ζήτηµα απόκρυψης µεταξύ δύο σηµείων 1 x1,y1,z1 και Σ2 x2,y2,z2 υπάρχει µόνο αν τα δύο σηµεία βρίσκονται πάνω στην ίδια ακτίνα προβολής. Y Π Y Π Σ 1 Σ 2 Ακτίνες προβολής Σ 1 Σ 2 Ακτίνες προβολής X Π Παράλληλη προβολή Z Π X Π Προοπτική προβολή Z Π Συνθήκη απόκρυψης στην παράλληλη προβολή. ( x 1 = x2 ) & ( y1 = y2 ) Συνθήκη απόκρυψης στην προοπτική προβολή. ( ) ( ) x 1 / z1 = x2 / z2 & y1 / z1 = y2 / z2 Απαιτεί (ακριβή) διαίρεση µε z. Η διαίρεση αυτή γίνεται κατά την προοπτική προβολή. Η προοπτική προβολή µετατρέπει τις ακτίνες προβολής σε παράλληλες. Φυλάµε z συντεταγµένη για σύγκριση βάθους. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 119

Συνάφεια Συνάφεια: ιδιότητα γεωµετρικών οντοτήτων να διατηρούν τοπικά σταθερές τις τιµές των χαρακτηριστικών τους ή να τις µεταβάλλουν οµαλά. Π.χ. αυξητικός υπολογίσµος z σηµείων πολυγώνου. Είδη συνάφειας: Συνάφεια ακµής. Συνάφεια επιφάνειας. Συνάφεια γραµµών σάρωσης. Συνάφεια καρέ. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 120

Περιβάλλοντες Όγκοι Απλούστεροι όγκοι από τα αντικείµενα που περιβάλλουν για µείωση κόστους συγκρίσεων κατά την ταξινόµηση στις διαστάσεις Χ, Υ και Ζ. Συχνά έχουν τη µορφή ορθογώνιου παραλληλογράµµου (2 ) ή ορθογώνιου παραλληλεπιπέδου (3 ). Οχι απαραίτητα κλειστοί. Αν οι περιβάλλοντες όγκοι δύο αντικειµένων δεν τέµνονται τότε ούτε τα αντικείµενα τέµνονται. Το αντίθετο δεν ισχύει πάντα. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 121

ιαµερισµός Χώρου ιαµέριση χώρου σε σύνολο διατεταγµένων µερών (π.χ. voxels). Τα µέρη του χώρου που καταλαµβάνει ένα αντικείµενο ορίζουν έµµεσα τη διάταξή του σε σχέση µε άλλα αντικείµενα. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 122

ιαγραφή Πίσω Επιφανειών Αν η γωνία µεταξύ V r και N r είναι> 90 τότε η επιφάνεια είναι πίσω (αόρατη). V r N r < 90 < 90 B Γ > 90 A Μια επιφάνεια είναι ορατή αν V r N r = Vx N x + Vy N y + Vz N Μειώνει όγκο δεδοµένων κατά ~50%. Λύνει πρόβληµα απόκρυψης για ένα κυρτό αντικείµενο. z > 0 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 123

ιαγραφή Πίσω Επιφανειών Λειτουργεί στο χώρο αντικειµένων και είναι O Π. V r µπορεί να υπολογισθεί από µία κορυφή P της επιφάνειας. r r Αν ο παρατηρητής βρίσκεται στο κέντρο του ΣΣΠ τότε V = P N r ( ) ( ) µπορεί να υπολογισθεί από 3 διαδοχικές, µη συγγραµµικές κορυφές και r r r N = A B = P P P N r 2 1 3 P1 P B r 3 ( ) P 1 P2 P3 P 1 A r P 2 r r r r Προσοχή A B B A. Χρήση σειράς κορυφών. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 124

Αλγόριθµοι Απόκρυψης Επιφανειών Ακολούθησαν την εµφάνιση της πλεγµατικής οθόνης. 4 Βασικές κατηγορίες. z-buffer (πιο διαδεδοµένος). scanline. ταξινόµηση κατά βάθος. υποδιαίρεση επιφάνειας. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 125

Αλγόριθµοι Απόκρυψης Επιφανειών Βασική πράξη: σύγκριση βάθους 2 στοιχείων µε ίδιο ΧΥ. Η προοπτική προβολή διευκολύνει. Μετατρέπει ακτίνες προβολής ώστε να είναι παράλληλες του Z. Ίσες αποστάσεις στον Ζ π δεν µετασχηµατίζονται σε ίσες αποστάσεις στον Ζ ο. Ζ ο µεταβάλλεται ταχύτερα καθώς πλησιάζει τη µέγιστη τιµή του (1). Y Π X Π Z Π Y O Πρoοπτική προβολή ZO X O Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 126

Αλγόριθµος z-buffer Απαιτεί ύπαρξη µνήµης βάθους (z-buffer) για κάθε pixel. Οι τιµές βάθους βρίσκονται (για τα περισσότερα σχήµατα) µε παρεµβολή. Έµµεση ταξινόµηση. Για κάθε pixel ο z-buffer φυλάει την ελάχιστη (ως τώρα) τιµή βάθους στο pixel αυτό. Αρχικοποίηση στο µέγιστο z (πίσω επίπεδο αποκοπής). Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 127

Αλγόριθµος z-buffer /* Αλγόριθµος z-buffer */ /* Αρχικοποίηση: m,n οι διαστάσεις της οθόνης */ for (x=0; x<m; x++) { for (y=0; y<n; y++) { z_buffer[x,y]=f; frame_buffer[x,y]=background; } } /*Επεξεργασία πολυγώνων*/ for (π=0; π<number_of_polygons(); π++) { /*Επεξεργασία scanlines πολυγώνου ymin ymax*/ for (y=ymin; y<=ymax; y++) { /*Βρες µε γραµµική παρεµβολή µεταξύ των αντίστοιχων κορυφών, τις τιµές τοµής µε scanline y :xleft,xright τις τιµές βάθους στις τοµές :zleft,zright τις τιµές χρωµατισµού στις τοµές :cleft,cright*/ for (x=xleft; x<=xright; x++) { } } /*µέγιστο βάθος*/ /*φόντο*/ /*Βρες µε γραµµική παρεµβολή µεταξύ xleft και xright την τιµή βάθους z και χρώµατος c σε κάθε pixel x,y*/ if (z<z_buffer[x,y]) { z_buffer[x,y]=z; frame_buffer[x,y]=c; } } Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 128

Αλγόριθµος z-buffer Τοµές πλευρών πολυγώνου µε scanlines βρίσκονται µε λίστα ενεργών πλευρών. Γραµµική παρεµβολή z. z z z a β γ = z = z = z 1 1 α + + + ( z z ) 2 ( z z ) 3 ( z z ) β 1 1 α y y y y s 2 s 3 x x γ β y y 1 y y 1 1 1 x a x a Y o y 3 y 2 ( x, y z ) 2 2, 2 ( x, y z ) 3 3, 3 ( x, y, z ) γ s γ y s ( x y, z ) a s a, ( x, y, z ) β s β γραµµή σάρωσης y 1 ( x, y z ) 1 1, 1 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 129

Αλγόριθµος z-buffer O( Π S ), όπου Π ο αριθµός πολυγώνων και S o µέσος αριθµός pixel ανά πολύγωνο. Για τυπικές σκηνές Π S m n (σταθερό). Πλεονεκτήµατα z-buffer: Ευκολία υλοποίησης σε H/W ή S/W. Επεξεργασία πολυγώνων µε τυχαία σειρά. υνατότητα χρήσης για µη πολυγωνικά αντικείµενα (µε συνάρτηση βάθους). Ανάγκη σε µνήµη: Ένας καλός z-buffer απαιτεί 32 bits/pixel. Για ανάλυση 1024x1024 αυτό συνεπάγεται 4Mbytes. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 130

Ειδικές Εφαρµογές z-buffer Συνδυασµός εικόνων Έστω Z F Z οι frame και z-buffer εικόνων A και Β. Α και Β µπορεί να δηµιουργήθηκαν χωριστά. Συνδυασµός: for (x=0; x<m; x++) for (y=0; y<n; y++) {Z C [x,y]=(z A [x,y]<z B [x,y])?z A [x,y]:z B [x,y]; } F C [x,y]=(z A [x,y]<z B [x,y])?f A [x,y]:f B [x,y]; Τοποθέτηση 3 αντικειµένων σε σκηνή µε χρήση z-buffer. 3 cursor. ( F, ), (, ) A A B εν µεταβάλλουµε περιεχόµενα z-buffer. B Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 131

Αλγόριθµοι Απόκρυψης Ακµών Ανάπτυξη την εποχή της διανυσµατικής οθόνης. Σήµερα χρήσιµοι για παράσταση περιγραµµάτων (π.χ. δοκιµές animation). Εξετάζουµε γενικό αλγόριθµο για µη διαφανή πολυγωνικά αντικείµενα που δεν διαπερνά το ένα το άλλο: Βήµα 1: ιαίρεση ακµών σε τµήµατα που είναι είτε ολικώς εµφανή είτε ολικώς µη εµφανή. Βήµα 2: Καθορισµός, για κάθε τέτοιο τµήµα, εάν είναι εµφανές. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 132

Αλγόριθµοι Scanline Επέκταση βασικού αλγόριθµου σάρωσης πολυγώνου (πολλά πολύγωνα): Ιδια είδη συνάφειας. Χώρος εικόνας. Τοµές πολυγωνικών 3 αντικειµένων µε επίπεδο y=y s είναι πολύγωνα: Προβολές ακµών των πολυγώνων αυτών στο ΧΥ διαιρούν γραµµή σάρωσης σε span. Σε κάθε span αντιστοιχεί 1 ορατή ακµή (χρώµα αντίστοιχου πολυγώνου). Εύρεση ορατής ακµής µετά από ταξινόµηση ως προς z. Απαγορεύονται πολύγωνα που τέµνονται. Z o Τοµή y=y s s1 s2 s 3 s4 s 5 Spans Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 133 X o

Αλγόριθµοι Scanline /*Aλγόριθµος scanline*/ ηµιούργησε µε Bucket-sort ένα y-bucket µε πληροφορίες για κάθε πλευρά του πολυγώνου (κεφ. 2); /*Επανάληψη γραµµών σάρωσης*/ for (ys=0; ys<n; ys++) {/*Επανάληψη ενεργών πολυγώνων (που τέµνουν ys)*/ } for (π=0; π<max_active; π++) {Εύρεση ακµής τοµής π µε επίπεδο y=ys; Εισαγωγή ακµής σε λίστα ακµών τοµής ταξινοµηµένη ως προς xs; Καθoρισµός span από λίστα ακµών τοµής; /*Επανάληψη span*/ for (s=0; s<max_span; s++) {Αποκοπή ενεργών ακµών (που τέµνουν s) στα όρια του s; Εύρεση βάθους αποκοµµένων ακµών σε ένα από τα άκρα του s; Επιλογή ορατής αποκοµµένης ακµής (ελάχιστο βάθος); Χρωµατισµός ορατής αποκοµµένης ακµής; } } Χρήση ΛΕΠ για αποδοτικότητα. Απόδοση εξαρτάται από # πολυγώνων και # span. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 134

Αλγόριθµοι Λίστας Προτεραιότητας Ταξινόµηση πολυγώνων κατά βάθος και εµφάνιση µε σωστή σειρά: Οχι πάντα δυνατή (επικάλυψη z-έκτασης, τεµνόµενα πολύγωνα). ιαµερισµός πολυγώνων. Μεγάλη πολυπλοκότητα. Χώρος αντικειµένων, αν αποτέλεσµα θεωρηθεί η ταξινοµηµένη λίστα. 1. Αλγόριθµος ταξινόµησης κατά βάθος (Newell 1972). 2. Αλγόριθµος BSP δένδρου (Fuchs 1983). Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 135

Αλγόριθµος Ταξινόµησης κατά Βάθος Ταξινόµηση κατά φθίνουσα απόσταση από κέντρο προβολής. Σύγκριση P προ Q δεν είναι πάντα εύκολη. Χρήση περιβάλλοντος παραλληλεπιπέδου [x min (P), y min (P), z min (P)], [x max (P), y max (P), z max (P)]. Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 136

Αλγόριθµοι Υποδιαίρεσης Επιφάνειας Αναδροµική διαίρεση επιπέδου προβολής: Αν 1 πολύγωνο καλύπτει τµήµα πλήρως, τότε αυτό παίρνει το χρώµα του πολυγώνου. Αναδροµή σταµατά επίσης στο µέγεθος του pixel. Εκµετάλλευση συνάφειας επιφάνειας (µεγάλα πολύγωνα, σταθερού χρώµατος). Αλγόριθµος Warnock: Αναδροµή σταµατά αν από ένα τµήµα περνά το πολύ 1 ακµή πολυγώνου. Συγκρίσεις προβολής πολυγώνου P µε περιοχή οθόνης Β. Χρήση περιβάλλοντων ορθογωνίων: P : x P, y P, x P, y P 4 περιπτώσεις σχέσης P και B: B : [ min ( ) min ( )] [ max ( ) max ( )] [ x ( B), y ( B) ], [ x ( B), y ( B) ] min min (D: Disjoint) P εξωτερικό της Β. (C: Contained) P εσωτερικό της Β. (S: Surrounding) P καλύπτον πλήρως την Β. (I: Intersecting) P τέµνον την Β. max Π.χ. σχέση D εξασφαλίζεται εάν ισχύει: max ( xmin ( P) > xmax ( B) ) ή ( xmax ( P) < xmin ( B) ) ( y ( P) > y ( B) ) ή ( y ( P) < y ( B) ) min max max Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 137 min ή

Αλγόριθµοι Υποδιαίρεσης Επιφάνειας Αναδροµικές διαιρέσεις Warnock: Μείωση υποδιαιρέσεων µε βάση κορυφές πολυγώνων (Weiler - Atherton): Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 138

Σύγκριση Μεθόδων Απόκρυψης Αλγόριθµος Αριθµός Πολυγωνικών Επιφανειών 200 5.000 120.000 depth - sort 0,14 10 6 1,4 10 6 71 10 6 z-buffer 7,5 10 6 7,5 10 6 7,5 10 6 Scan - line 0,77 10 6 2,9 10 6 14 10 6 Υποδιαίρεση επιφάνειας 1,6 10 6 9 10 6 43 10 6 Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 139

Απόκρυψη και Παρακολούθηση Ακτίνας (Ray Tracing) Αλγόριθµος παρακολούθησης ακτίνας (Whitted): Ακτίνες που ορίζονται από σηµείο παρατήρησης και κάθε pixel ακολουθούνται ώσπου να συναντήσουν αντικείµενο. Εκεί διασπώνται ανάλογα µε µοντέλο. Ουσιαστικά λύνει πρόβληµα απόκρυψης. Επίπεδο προβολής (οθόνη) Αλληλεπίδραση Ανθρώπου-Υπολογιστή & Γραφικά Υπολογιστή 140