Γραφική με Υπολογιστή Computer Graphics 1. Βασικοίγραφικοίαλγόριθμοι 2. Αρχέςγραφικώνπλεγματικώνοθονώνraster 3. Μετασχηματισμοί2 και3 διαστάσεωνκαι συστήματασυντεταγμένων 4. Προβολέςκαιμετασχηματισμοίπαρατήρησης 5. Aλγόριθμοιαπόκρυψηςεπιφανειώνκαι αλγόριθμοιφωτισμού διαφάνειεςαπόβιβλίοθεοχάρημπέμ, Συμμετρία, Αθήνα1999
Ιστορικήαναδρομή
Περιοχές σχετικές με την Εικόνα Γραφική με Υπολογιστές (Computer Graphics) Επεξεργασία - ΑνάλυσηΕικόνων (Image Processing -Analysis) Τεχνητήόραση(Computer vision) Αλληλεπίδραση Ανθρώπου - Υπολογιστή
Περιοχέςεφαρμογών Γραφικήαλληλεπίδρασημεχρήστη (GUI). Σχεδίαση(CAD): πχαρχιτεκτονική, VLSI design ΓεωγραφικάΣυστήματαΠληροφοριών(GIS). Προσομοιώσεις(π.χ. πτήσεων). Συνθετικές ταινίες& διαφήμιση Computer Animation. Επαυξημένη Πραγματικότητα -Augmented Reality Εικονική Πραγματικότητα Virtual Reality Ιατρικέςεφαρμογές. Οπτικοποίησηδεδομένων. Τέχνη(π.χ. fractals). Παιχνίδια.
Γραφικόσύστημαεπεξεργασίας
Πλεγματικήήδιανυσματικήαπεικόνιση
Πλεγματικήοθόνη (raster display) Σάρωσητηςοθόνηςανάγραμμήκαισε συγκεκριμένοχρονικόρυθμό
Πλεγματικήοθόνη: αποθήκευσηεικόναςστημνήμη Αποθήκευσητηςεικόναςστημνήμηως πίνακατριώνδιαστάσεων (πλάτοςx ύψοςx χρώμα) Χρήσηπαλέταςγιαμείωσηαπαιτήσεων χρώματος.
Χρήσηπαλέταςχρωμάτων
Πλεγματικήοθόνη/ 2 2-Δπλέγμαχρωματιζόμενωνεικονοστοιχείων(pixels) Φρεσκάρισμασεσταθερόρυθμόαπόμνήμη Κανέναςπεριορισμόςσεεικόνα Αποδέσμευσηφρεσκαρίσματοςαπόάλλεςλειτουργίες Μεγάλη(;) απαίτησημνήμης (1024 x 1024 x 24= 3MB) Μείωσημεχρήσηπαλέτας(lookuptable) Προβλήματαταύτισης(aliasing) Νέεςτεχνολογίες(LCD, plasma)
Πλεγματικήοθόνη /3 Απαιτούνται αλγόριθμοι απεικόνισης ευθείας, καμπύλης, πλήρωσης πολυγώνου σε πλεγματική οθόνη
Αλγόριθμοςγραφικήςαπεικόνισης
Παράστασησχημάτων ΠΑΡΑΣΤΑΣΗΣΤΗΝΟΘΟΝΗ Σάρωση Αντιταύτιση Φωτισμός Υφή
ΑπεικόνισηΕυθύγραμμουτμήματος Αλγόριθμοιυποστηρίζονταικαιαπό hardware. Κριτήρια «καλού» αλγορίθμου: Όσογίνεταιπιοκοντάστημαθηματικήπορεία Πάχοςσταθερόκαιανεξάρτητοαπόμήκοςκαι κλίση. Μεόσοτοδυνατόνμικρότερουπολογιστικό κόστος(μεγαλύτερηταχύτητα).
Αλγόριθμος 1 Έστωευθύγραμμοτμήμαμεταξύpixels P 1 (x 1,y 1 ), P n (x n,y n ) στοπρώτοοκταμόριο. Τότε: όπου y=s*x+b
Υλοποίηση void line1( x1, y1, xn, yn, colour) intx1,y1, xn, yn, colour; /* colour: ακέραιααναπαράστασητουχρώματος*/ { float s, b, y; intx; 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); } }
Αλγόριθμος 2 (αποδοτικότερος) Οπολλαπλασιασμόςμέσαστοβρόγχο μπορείνααποφευχθείμετατρέπονταςτον τύποσεαναδρομικό:
Υλοποίηση line2 (x1, y1, xn, yn, colour) intx1,y1, xn, yn, colour; { float s, y; intx; s=( yn-y1)/( xn-x1); y= y1; for (x= x1; x<= xn; x++){ setpixel( x, round( y), colour); y= y+ s; } }
Αλγόριθμος 3 Αποφυγήτηςστρογγυλοποίησηςμέσα στο βρόγχομεχωρισμότουy σεακέραιοκαι δεκαδικόμέρος(error)καιχρήσημόνοτου ακεραίουγιαεύρεσητουεπομένου σημείου. Σφάλμα = απόστασηpixel απόιδεατήπορεία.
line3 (x1, y1, xn, yn, colour) intx1,y1, xn, yn, colour; Υλοποίηση { float s, error; intx, 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--} } }
Αλγόριθμος 4 (Bresenham) Πολλαπλασιάζονταςμεdx=xn-x1, οιμεταβλητές s και error γίνονται ακέραιες. Η σύγκρισηγιατηνεπιλογήτουεπόμενουpixel γίνεταιμεfloor(dx/2). Επίσης, αφαιρώνταςαπό τηναρχικήτιμήτουerrordx, ησύγκρισημπορεί ναγίνεικαιμετο 0. Λειτουργείγιαθετικέςκλίσεις.
Υλοποίηση line4 (x1, y1, xn, yn, colour) intx1,y1, xn, yn, colour; { interror, 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} } }
Περιορισμοί Μόνοστο 1ο ογδοημόριο. Εύκολαμπορείνα επεκταθείκαισταάλλαμεκατάλληλεςεναλλαγές τωνρόλωνx, y,αρχικούκαιτελικούσημείου. Άξονας ταχύτερηςκίνησηςκαιείδοςμεταβολήςτουάλλου άξοναδίνονταιστοσχήμα.
Περιορισμοί (συνέχεια) Ευθύγραμματμήματαδιαφορετικώνκλίσεων μπορείναέχουνδιαφορετικήφωτεινότητα. Τοφαινόμενοαυτόμπορείναδιορθωθείμε τεχνικέςαντι-ταύτισης(anti-aliasing).
Τοφαινόμενοτηςταύτισης (aliasing) προβλήματαδειγματοληψίας Τεθλασμένηεμφάνισηευθυγράμμωντμημάτωνκαι ακμώνπολυγώνων Λανθασμένηεμφάνισηεπαναλαμβανόμενων τμημάτωνενόςσχήματος Λανθασμένηεμφάνισημικρώνσχημάτωνπου μπορείναεμφανίζονταιήναεξαφανίζονταιανάλογα μετηθέσητους Μέθοδοιαντιταύτισης: Pitteway&Watkinson, postfiltering, stochastic sampling, A-buffer )
Αλγόριθμοςσχεδίασηςκύκλουσε πλεγματικήοθόνη Εκμετάλλευση 8-πλής συμμετρίας:
Συμμετρίακύκλου circle_ symmetry(x, y, colour) intx, 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); }
Αλγόριθμος Bresenham Έστωότιεπελέγητοσημείο(x i,y i ). Το επόμενοθαείναι(x i +1,y i ) ή(x i +1,y i -1);
Αλγόριθμος Μεταβλητήαπόφασης: e i = d 1 d 2 όπου d 1 = y 2 i -y 2, d 2 = y 2 -(y i -1) 2 Εάνe i 0, επιλέγεταιτο(x i +1,y i -1) αλλιώς επιλέγεταιτο(x i +1,y i )
Υπολογισμόςτου 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 i2 + (y i -1) 2 2 r 2
Αναδρομικόςυπολογισμός e e i+1 = 2 (x i+1 +1) 2 + y i+12 + (y i+1-1) 2-2 r 2 = 2 (x i +2) 2 + y i+12 + (y i+1-1) 2-2 r 2 = 2x i2 + 8x i + 8+ y i+12 + y i+12-2 y 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 i2 ) 2(y i+1 -y i )
Τελικόςτύποςυπολογισμού Αν e i <0 y i+1 = y i e i+1 = e i + 4(x i + 1)+ 2 Ανei 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)
Παρατηρήσεις Αρχικήτιμή: 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);
circle (r, colour) intr, colour; { intx, 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; } } Υλοποίηση
Λειτουργίεςσεπλεγματικήοθόνη RasterOp Πλεγματικήοθόνη: εικόνααποθηκεύεταιστη μνήμηοθόνης(frame buffer) Πολλέςδιαδικασίεςμεμετακίνησηήσυνδυασμούς στημνήμηοθόνης. (π.χ. επεξεργασίακειμένου)
RasterOp Γενικήρουτίναμετακίνησης/συνδυασμού παραλληλογράμμωντμημάτωνεικόνας. Βελτιστοποιημένη, γρήγορηυλοποίηση.
Υλοποίηση RasterOp( src_x_min, src_y_min, dst_x_min, dst_y_min, sizex, sizey, funct) intsrc_x_min, src_y_min, dst_x_min, dst_y_min, sizex,sizey; ftypefunct) /* (src_x_min, src_y_min) και(dst_x_min, dst_y_min) */ /* ήκάτωαριστερήγωνίατωνsourceκαιdestination */ /* sizex, sizeyοιx καιy διαστάσειςσεpixel */ /* function κάποιοςτελεστής με pixel */ { inti, 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)));
Παράδειγμα: exchange μεχρήσηxor Αντιμετάθεσησχημάτωνχωρίςχρήσηβοηθητικούχώρου. void exchange (src_ x_ min, src_ y_ min, dst_ x_ min, dst_y_ min, sizex, sizey) intsrc_ 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); }
RasterOp: Μετακίνηση Η exchangeμπορείναχρησιμεύσειγια διαδοχικέςμετακινήσειςαντικειμένων (π.χ.cursor)
move move (from_x_min, from_y_min, to_x_min, to_y_min, back_x_min, back_y_min, sizex, sizey) intfrom_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); }
Μετασχηματισμοί 2Δ& 3Δ Συνδυασμοίβασικώνμετασχηματισμών: μετατόπιση,αλλαγήκλίμακας, περιστροφή, στρέβλωση.
Σημείακαι Διανύσματα Ε 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)
Διανυσματικοίχώροι ΣεκάθεδιανυσματικόχώροΔ(π.χ. 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
Διανυσματικοίχώροι Ιδιότητεςβαθμωτούπολλαπλασιασμού (β.π.) Επιμερισμόςωςπροςτηνπρόσθεση: λ(v + q) = λv + λq Επιμερισμόςπρόσθεσηςωςπροςβαθμωτό πολλαπλασιασμό: (λ + μ) v = λv + μv Προσεταιρισμός: (λμ) v = λ(μv) Ουδέτεροστοιχείο: 1 Δ: v 1 = 1 v =v
Διανυσματικοίχώροι Παραδείγματα: 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
Διανυσματικοίχώροι Βάση: κάθεολοκληρωμένοσύνολο γραμμικώς ανεξαρτήτωνδιανυσμάτων. Τοπλήθοςτουςκαλείταιδιάστασητουχώρου. Ανy = λ 1 i + λ 2 j + λ 3 k όπου(i, j, k) βάση τότε(λ 1, λ 2, λ 3 ) συντεταγμένες. (Ο, i, j, k) ονομάζεταισύστημασυντεταγμένωνμε βάσητοσημείοο, καιβάση(i, j, k) (i, j, k) ορίζουνάξονεςσυντεταγμένων Μήκος: διανύσματος(x,y,z)
Διανυσματικοίχώροι Απόστασημεταξύδύοσημείων p 1, p 2
Διανυσματικοίχώροι Εσωτερικόγινόμενο (πραγματικόςαριθμός) 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(θ), απ όπουμπορείνα υπολογιστείκαιηγωνίαμεταξύδιανυσμάτων.
Διανυσματικοίχώροι Εξωτερικόγινόμενο (διάνυσμα) 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
Συσχετισμένοι (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 )
Συσχετισμένοι Μετασχηματισμοί π.χ. εφαρμογήσυσχετισμένουμετασχηματισμού πάνωσεευθύγραμμοτμήμαs απεικονίζειτο μέσον του στο μέσο της συσχετισμένης εικόνας Φ(s). Συσχετισμένοςμετασχηματισμόςμεμορφήπίνακα: Φ(p) = Α p + t (A πίνακας, 3x3 γιατο Ε 3 ) Απόδειξη: Φ(Σαjpj) = Α(Σα j p j ) + t = ΣAα j p j + Σα j t = Σα j (A p j + t) = Σα j Φ(p)
2D Μετασχηματισμοί Μετατόπιση: x =x+a, y =y+b
Μετασχηματισμοί Αλλαγήκλίμακας (διαφορετικήανάάξονα): x =x*a, y =y*b
Μετασχηματισμοί Στροφήκατάγωνίαθ (+veαντίθετααπόδείκτεςρολογιού)
Μετασχηματισμοί Στρέβλωσηκατάάξονα x καιyμεπαράγοντα2: x =x+2y, y =y+2x
Μετασχηματισμοί Οποιοσδήποτεάλλοςμετασχηματισμός, δημιουργείταισανσυνδυασμόςτωντεσσάρων βασικώνμετασχηματισμών: Μμετατόπιση, R στροφή, H στρέβλωση, S αλλαγήκλίμακος.
Μετασχηματισμοί: άσκηση Στρέβλωση(shearing), Ναβρεθούνοισχέσεις μετασχηματισμούκατάx καιy με z σταθερό: Απάντηση SH(p) = H x,y p, όπου:
Ομογενείςσυντεταγμένες Προβλήματα: Μεταφοράδενυλοποιείταιμεπολλαπλασιασμό πινάκων. ΎπαρξησταθερούσημείουΟ, σταθερούγιαόλους τουςμετασχηματισμούς. Ομογενείςσυντεταγμένες: (x,y) (x,y,w) με w 0. (x,y,w) παριστάνειτο(x/w,y/w) Άπειρεςτριάδεςγιακάθεσημείο. Βασικήπαράσταση: (x,y,1)
Ομογενείςσυντεταγμένες
ΟμογενείςΣυντεταγμένες Συσχετισμένοιμετασχηματισμοί: πίνακες3x3 Μεταφορά:
ΟμογενείςΣυντεταγμένες Αλλαγήκλίμακας (ανsi< 1 σμίκρυνση)
Στροφή Ομογενείςσυντεταγμένες
Ομογενείςσυντεταγμένες Στρέβλωση (κατάάξονεςx καιy):
Σύνθεσημετασχηματισμών Σύνθεσημετασχηματισμών: π.χ. Αλλαγήκλίμακας, ωςπροςc=(cx,cy,1) μεταφοράκατά c= -(O -C) αλλαγήκλίμακας μεταφοράκατάc Γενικάδενισχύειηαντιμετάθεση. Πρώτοςεκτελείται οτελεστήςπουγράφεταιτελευταίος. Σύνθεση: Εκτέλεσησειράςμετασχηματισμώναπόένα τελικόπίνακα. Αυξάνειτηναπόδοση(μειώνειτηνπολυπλοκότητα)
Σύνθεσημετασχηματισμών Ιδιότητες: T(x 1,y 1 ) T(x 2,y 2 ) = T(x 2,y 2 ) T(x 1,y 1 ) = T(x1 +x2,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
ΓεωμετρικέςΙδιότητες Γιακάθεσυσχετισμένομετασχηματισμό F και σημεία pκαι q ισχύει: F(λp+(1-λ)q) = λf(p)+ (1-λ) F(q) για 0 λ 1 λp+(1-λ)q είναι το ευθύγραμμο τμήμα μεταξύp και q. ΗF παράγειπάλιευθύγραμμοτμήμα. Η σχέσηλ/(1-λ) παραμένειαναλλοίωτηαπό F. Εξακολουθείνααρκείαπεικόνισηάκρωνμόνο. Παράλληλεςευθείεςπαραμένουνπαράλληλες. π.χ. οιμετασχηματισμοίπουείδαμενωρίτερα.
Γεωμετρικέςιδιότητες Ορθογώνιοςμετασχηματισμός: ΜετασχηματισμόςΑλέγεταιορθογώνιοςαν α 1 = α 2 = 1 α 1 α 2 = 0 ΟρίζουσατουΑ= 1
Γεωμετρικέςιδιότητες ΟΜείναιμετασχηματισμόςομοιότηταςανοΑείναι ορθογώνιος. Έναςμετασχηματισμόςομοιότηταςδιατηρείαναλλοίωταμήκη καιγωνίες. ΟποιαδήποτεσύνθεσηΤ& R είναιμετασχηματισμός ομοιότητας. ΑνστησύνθεσηέχουμεS και Η, έχουμεσυσχετισμένο μετασχηματισμόαλλάόχιομοιότητας(διατηρείταιπαραλληλία αλλάόχιμήκηκαιγωνίες).
Άσκηση Ζητείταιναυπολογιστείοπίνακας μετασχηματισμούτηςσυμμετρικήςαπεικόνισης εικόναςως προς τονάξονα w ο οποίος σχηματίζειγωνίαθμετονθετικόάξονατωνχ Βοήθεια: Ομετασχηματισμόςμπορείνα προκύψειαπό: στροφήτηςεικόναςκατά θ ΣυμμετρίαωςπροςτονάξοναΧ Στροφήτηςεικόναςκατάθ
Φροντιστηριακήάσκηση #4 1. Ναμελετήσετεκαιναπεριγράψετετην τρέχουσατεχνολογίακαρτώνγραφικών 2. ΔίδεταισημείοΑ(χ=3,ψ=2). Ζητείταινα βρεθείτοσημείοα πουπροκύπτειαπότην περιστροφήτουσημείουαωςπροςσημείοβ ο μεσυντεταγμένεςβ(χ=1, ψ=1)κατάγωνία θ=30
2-ΔΜετασχηματισμόςΠαρατήρησης
2-ΔΜετασχηματισμόςΠαρατήρησης
2-ΔΜετασχηματισμόςΠαρατήρησης
Αποκοπή / clipping Αποκοπήαντικειμένου(π.χ. πολυγώνου, πυραμίδας, κύβου) ω.π. σημείοαποκοπής: Αποφυγήαντεστραμμένηςεμφάνισηςαντικειμένων (π.χ. 3-Δ, όπισθενπαρατηρητή). Μείωσητουόγκουδεδομένων(φίλτρο).
Αποκοπή 2-Δ: στηναντιταύτιση, απόκρυψη, παράλληλη επεξεργασία, 2Δπακέτα. 3-Δ: γραφικήσωλήνωση(γενίκευση2-δαποκοπής) 2-Δαποκοπήσημείου: εντόςεάνx min x x max και y min y y max.
Αποκοπή Ευθύγραμματμήματα: Αλγόριθμοςμέσου. Διαδοχικήδιάσπασηευθυγράμμουτμήματοςστημέση (ολίσθηση). Χρήση «φθηνών» ελέγχωνεντός/ εκτός. Κωδικοποίηση 9 περιοχών τουεπιπέδου Τέλοςεάνp 1 p 2 < pixel.
Αλγόριθμος Μέσου typedefstruct {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)) /* ToP1P2 είναιεκτόςπαραθύρου */ 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); } }
Αποκοπήευθυγράμμωντμημάτων Αλγόριθμος Cohen-Sutherland: Αρχικά «φθηνός» έλεγχος γιατιςαπλέςπεριπτώσεις. π.χ. AB έξω, CD μέσα. Γιαάλλαευθύγραμμα τμήματα, κόψιμομε ευθείαπαραθύρουκαι αναδρομή.
Αλγόριθμος Cohen-Sutherland Αντιστοίχησηκωδικών σε9 περιοχέςτου επιπέδου. Κώδικεςπροκύπτουναπόταπρόσημαδιαφορών (π.χ. 1 ο bit y max y). Πρώτο bit1, περιοχήπάνωαπότηνευθείαy = y max Δεύτερο bit1, περιοχήκάτωαπότηνευθείαy = y min Τρίτο bit1, περιοχήδεξιάαπότηνευθείαx = x max Τέταρτο bit1, περιοχή αριστερά απότηνευθείαx = x min
Αλγόριθμος Cohen-Sutherland Υπολόγισεκώδικες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 μεευθεία. Αναδρομικήκλήσηγιατοένααπότατμήματαως προςτηνευθείατμήμα(εκείνομε bit=0)
Αλγόριθμος Cohen-Sutherland void CS (P1,P2, xmin, xmax, ymin, ymax) point P1, P2; float xmin, xmax, ymin, ymax; { intc1, c2; point I; c1= code( P1); /* ΕύρεσηκώδικαP1*/ c2= code( P2); /* ΕύρεσηκώδικαP2*/ if(( c1 c2)== 0) /* ΤοP1P2 είναιεντόςπαραθύρου */ elseif(( c1& c2)!= 0) /* ΤοP1P2 είναιεκτόςπαραθύρου */ else { intersect (P1,P2,I,xmin,xmax,ymin,ymax); if exoteriko(p1) CS( I,P2,xmin,xmax,ymin,ymax); else CS( P1, I, xmin, xmax, ymin, ymax); } }
Αλγόριθμος Sutherland-Hodgman 2-Δ αποκοπήςπολυγώνων Κατάλληλοςγιααποκοπήτυχαίουπολυγώνουμε κυρτόπολύγωνο(παράθυρο) αποκοπής. m βήματα για m πλευρές παραθύρου αποκοπής. είσοδοςστοβήμαi (i = 1 m) μετάαπόαποκοπήμε πλευράi-1.
Αλγόριθμος Sutherland-Hodgman2-Δ αποκοπήςπολυγώνων πολύγωνοορίζεταιαπότιςκορυφέςτουp 1, p 2 p n μεθετικήμαθηματικήφορά. Βήμαi εξετάζεισχέσηπλευράςsp μεακμή παραθύρουi.
Αλγόριθμος Sutherland-Hodgman2-Δ ΑποκοπήςΠολυγώνων ΠαράδειγμαβήματοςSutherland-Hodgman:
Αποκοπήσε 3-Δ Αντικείμενοαποκοπής: Περιορισμένηπυραμίδα(προοπτική) Κύβος(παράλληλη) 6 επίπεδααποκοπήςγιαυτάτααντικείμενα.
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, σημείοαριστεράαπόκύβο
Αλγόριθμος 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 μεεπιφάνεια Αναδρομικήκλήσηγιατοεσωτερικότμήμαως προςεπιφάνεια..
Αλγόριθμος Cohen Sutherland 3-Δ Τομή ευθυγράμμου τμήματοςp1p2 με επίπεδο βάσει τηςπαραμετρικήςεξίσωσης: x(t) = x1 + t(x2 x1) = x1 + t Δx y(t) = y1 + t(y2 y1) = y1 + t Δy z(t) = z1 + t(z2 z1) = z1 + 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) = (x 1 + (Y y 1 ) Δx/Δy, Y, z 1 + (Y y 1 )Δz/Δy)
Αλγόριθμος Sutherland-Hodgman3-Δ 6 στάδιααποκοπήςγιατα 6 επίπεδα έλεγχοςανp(x,y,z) εσωτερικόεπιπέδου (a,b,c,d) απότοπρόσημο f(x,y,z) = ax + by + cz+ d Υπολογισμόςτομήςευθυγράμμουτμήματος μεεπίπεδο: π.χ. όπωςστηπερίπτωσηcohen- Sutherland
Μετασχηματισμοί 3-Δ Ομογενείςσυντεταγμένεςσημείων Ε 3 : (x,y,z,w) Βασικήπαράσταση: (x,y,z,1) Δεξιόστροφα(εδώ) ήαριστερόστροφα συστήματα.
Μετασχηματισμοί 3-Δ
Μετασχηματισμοί 3-Δ Στροφή: Ανάγκηκαθορισμούθετικής / αρνητικήςφοράς Ορθογώνιοιμετασχηματισμοί
Μετασχηματισμοί 3-Δ
Φροντιστηριακήάσκηση Φ5 Μετασχηματισμοί 3 διαστάσεων Σελ119 (Θεοχάρης) άσκησηα.3.9 Περιστροφήπυραμίδαςωςπροςάξονα
ΜΑΘΗΜΑ #9 Προβολές Απαραίτητεςαφού3Δαντικείμενα απεικονίζονταισε2δσυσκευές.
Προβολές Προοπτική: πεπερασμένηαπόστασηκέντρου προβολήςαπόεπίπεδοπροβολής. Παράλληλη: άπειρηαπόστασηκέντρου προβολήςαπόεπίπεδοπροβολής. Ιδιότητεςπροβολών: Ευθείεςπροβάλλονταισεευθείες. Αποστάσειςαλλάζουν(γενικά). 3Δπαράλληλεςευθείες, μηπαράλληλεςμεεπίπεδο προβολής, δενπροβάλλονταισεπαράλληλεςευθείες. Γωνίαμεταξύευθειώναλλάζει, εκτόςανεπίπεδο γωνίαςπαράλληλομεεπίπεδοπροβολής.
ΠροοπτικήΠροβολή Έστωπροβολήστοεπίπεδο ΧΥμεκέντρο προβολής
ΠροοπτικήΠροβολή Δενείναιγραμμικόςμετασχηματισμός (διαίρεσημε z). Δενμπορείναδοθείμεμορφήπίνακα. Ωστόσομπορούμεναχρησιμοποιήσουμεμεταβολήτου w. Ακολουθείδιαίρεσημε w (αφούπρέπειw=1)
ΠροοπτικήΠροβολή Χαρακτηριστικό: κεντρικήσμίκρυνση (όπωςτοανθρώπινομάτι).
ΠαράλληληΠροβολή Κέντροπροβολήςστοάπειρο, δίνεταικατεύθυνση προβολής. Διατηρείαποστάσεις, χρήσιμοστοιχείο π.χ. στηναρχιτεκτονική. Ορθογώνιαπαράλληληπροβολή: πάνωσεένααπό ταβασικάεπίπεδαμεκάθετεςακτίνεςπροβολής. Πίνακαςμετασχηματισμού γιαορθογώνια π.χ. στο ΧΥ
ΠαράλληληΠροβολή Παράλληλεςπροβολέςδιακρίνονταισε: Ορθογραφικές: ακτίνεςπροβολής κάθετεςστοεπίπεδοπροβολής. Πλάγιες: ακτίνεςόχικάθετες. Ορθογραφικέςδιακρίνονταισε: Ορθογώνιες: ακτίνεςπροβολήςπαράλληλεςμε Χ, ΥήΖ. Αξονομετρικές: μηορθογώνιες. Ισομετρικές: ακτίνεςπροβολήςπαράλληλεςμεκύρια διαγώνιοχώρου.
Παράδειγμα -άσκηση ΠροβολήμοναδιαίουκύβουστοεπίπεδοΧΥ για προοπτικήπροβολή μεd=1 καιd=10 (μοναδιαίοςκύβοςέχειμιακορυφήστο 0,0,0 καιμίακορυφήστο(1,1,1), περιγράφεταιαπό 8 σημεία, μήτρα 8*4 )
ΜετασχηματισμόςΠαρατήρησης ΠαγκόσμιοΣύστημαΣυντεταγμένωνΣύστημα ΣυντεταγμένωνΠαρατηρητή. Σύνθεσηβασικώνμετασχηματισμών. Καθορίζειόριααποκοπής& παραμέτρουςπροβολής ΘαεξετάσουμεΜΠΙ
ΜετασχηματισμόςΠαρατήρησηςΙ ΜΠΙχρησιμοποιείπροοπτικήπροβολήκαικαθορίζεταιαπό: α. ΣημείοπαρατήρησηςΟ β. 2 ανύσματαγια Υ Π καιζ Π (αριστερόστροφο). Από Παγκόσμιο Σύστημα Συντεταγμένων(ΠΣΣ) σεσύστημα συντεταγμένων παρατηρητή(σσπ) : 1. ΜεταφοράστηναρχήΠΣΣ. 2. Στροφέςγύρωαπό Χ, ΥκαιΖτουΠΣΣώστεναταυτισθούν με αντίστοιχουςσσπ. 3. Αποκοπή. 4. ΠροοπτικήΠροβολή. Χρησιμοποιούνται 3 ακόμα παράμετροι για καθορισμό ορίωναποκοπής: γ. Μέγεθοςπαραθύρουπροβολής 2h. δ. Απόσταση d έμπροσθενεπιπέδουαποκοπήςαπό (κάθετοστονζ Π ). ε. Απόσταση f όπισθενεπιπέδουαποκοπήςαπό (κάθετοστονζ Π ).
ΜετασχηματισμόςΠαρατήρησηςΙ
ΜετασχηματισμόςΠαρατήρησηςΙ ΧαρακτηριστικάΜΠΙ: Επίπεδοπροβολήςταυτόσημομεέμπροσθενεπίπεδο αποκοπής z Π =d. Κέντροπροβολήςταυτόσημομεσημείοπαρατήρησης. Προοπτικήπροβολή. Τετράγωνοπαράθυρο, συμμετρικόωςπρος Ζ Π. Πληροφορίαz διατηρείταικατάτηνπροβολή για2 λόγους: 3Δαποκοπήευκολότερησανενδιάμεσοστάδιοτης προβολής. Απόκρυψηαπαιτεί z πληροφορία. (Z-Buffer)
Προβολήστον ΜΠΙ Θα χρειαστούμε PΜΠ1 από ΣΣΠ σε ΣΣ Οθόνης(ΣΣΟ):
Προβολήστον ΜΠΙ Οπαραπάνωμετασχηματισμόςμπορείναχωρισθείσε: Γραμμικόμέρος(πίνακας). Διαίρεσημεομογενήσυντεταγμένη(= z Π )
Προβολήστον ΜΠΙ
Προβολήστον ΜΠΙ
Φροντιστηριακήάσκηση Φ6 (παραδοτέα-τελευταία) Ναβρεθείημήτραμετασχηματισμούενός σημείου(x,y,z) απόσύστημασυντεταγμένων φυσικούσυστήματοςσεένασύστημασ εταγμένωνπαρατήρησης(σσπ) με χαρακτηριστικά: οάξονας Ζ τουσσπναδείχνεικατευθείανστηναρχήτου φυσικούσυστήματοςκαιοάξοναςχναείναι παράλληλοςστοεπίπεδοχυτουφυσικούσυστήματοςοι δεάξονεςχ,υ τουσσπναείναιπαράλληλοιστουςάξονες τηςοθόνηςπουαποτελείτοεπίπεδοπροβολής
Άσκηση (συνέχεια) Χρησιμοποιείστετοσχήμαγιατιςεξισώσεις μετασχηματισμού x= ρ*sinφ* cosθ y= ρ*sinφ* sinθ z = ρ* cosφ
Άσκηση (συνέχεια) Στησυνέχειαχρησιμοποιήσατετημήτραμετασχηματισμού καθώςκαιτιςεξισώσειςτηςπροοπτικήςπροβολήςγιανα λύσετετοεξήςπρόβλημα: Ανυποθέσουμεκύβοτουοποίου τοκέντροβρίσκεταιστηναρχήτουφυσικούσυστήματος συντεταγμένων με ακμή 1 εκ, έστω ότι παρατηρούμε τον κύβοαπό σημείο 6,10,8 μετονάξοναπαρατήρησης z να δείχνειπροςτηναρχήτουφυσικούσυστήματος συντεταγμένων. Υποθέτουμεότιοάξοναςτωνχβρίσκεται στοεπίπεδο z=8. Επίσηςυποθέστεότιβλέπουμετο αντικείμενο από απόσταση 0,6 μ. Καιότι ηοθόνη(πεδίο προβολής) είναιδιαστάσεων 0,3*0,3 μ. Μεσυντεταγμένες 1024*1024. Ναβρεθείκαιναυπολογιστείηπροοπτική προβολήτουκύβουστοεπίπεδοτηςοθόνης
Αποκοπήστο ΜΠΙ Τιμήορίζεικαιταόριααποκοπής: w x w w y w 0 z w Αποκοπήγίνεταιμετάτηνεφαρμογή P ΜΠΙ αλλάπριντηδιαίρεσημετο w
#10 ΠρόβλημαΑπόκρυψης Ποιοείναιτοεμφανέςαντικείμενο(χρώμα) σεκάθε σημείοτουεπιπέδουπροβολής; Χωρίζονταισεαλγόριθμουςαπόκρυψηςακμώνκαι επιφανειών. Χρησιμοποιούνάμεσαήέμμεσαταξινόμησηστις διαστάσεις X Y καιz.
ΑλγόριθμοιΑπόκρυψης Χωρίζονταισε αλγόριθμουςχώρουαντικειμένων και αλγόριθμουςχώρουεικόνας. ΑλγόριθμοιχώρουαντικειμένωνείναιO(Π 2 ) ενώαλγόριθμοιχώρουεικόναςείναιο(π-ρ) όπου Ποαριθμόςτωνπολυγώνων και P οαριθμόςτωνpixels.
Αλγόριθμοιχώρουαντικειμένων Αλγόριθμοιχώρουαντικειμένωνσυγκρίνουν αντικείμεναμεταξύτουςγιαναβρουντοπλησιέστερο σεκάθεσημείοτουεπιπέδουπροβολής: Γιακάθεαντικείμενοπ { Εύρεσητωνορατώντμημάτωντουπμέσωσύγκρισης (Χ,Υ,Ζ) μεόλαταάλλααντικείμενα; Χρωματισμόςτωνορατώντμημάτωντουπστηνοθόνη }
Αλγόριθμοιχώρουεικόνας Αλγόριθμοιχώρουεικόναςέχουντηνεξήςμορφή: Γιακάθεpixelρτηςεικόνας { Εύρεσητουπλησιέστερουαντικειμένουπουτέμνεται απότηνακτίναπροβολήςπουπερνάαπότορ; Χρωματισμόςτουρμετοχρώματουπλησιέστερου αντικειμένουστοσημείοτομής }
ΑλγόριθμοιΑπόκρυψης Υπολογιστικήακρίβεια. Αλγόριθμοιχώρουεικόνας: ακρίβειαπουαπαιτείηανάλυσητης εικόνας. Αλγόριθμοιχώρουαντικειμένων: ακρίβειαορισμούαντικειμένων (=ακρίβειαυπολογιστή). Θέσηστηγραφικήσωλήνωσηεξόδου. Αλγόριθμοιχώρουαντικειμένων: μετάτηνπροβολή (διακεκομμένηγραμμή). Αλγόριθμοιχώρουεικόνας: ενσωματώνονταιστηδιαδικασία παράστασηςστηνοθόνη. Διαγραφήπίσωεπιφανειών.
ΑλγόριθμοιΑπόκρυψης Τεχνικέςβελτίωσηςαποτελεσματικότητας αλγορίθμωναπόκρυψης. Εκμετάλλευσηπροοπτικούμετασχηματισμού. Εκμετάλλευσησυνάφειας. Περιβάλλοντεςόγκοι. Διαμερισμόςχώρου.
Προοπτικός Μετασχηματισμός ΖήτημααπόκρυψηςμεταξύδύοσημείωνΣ 1 (x 1,y 1,z 1 ) καισ 2 (x 2,y 2,z 2 ) υπάρχει μόνοανταδύοσημείαβρίσκονταιπάνωστηνίδιαακτίναπροβολής. Συνθήκηαπόκρυψηςστηνπαράλληληπροβολή: (x 1 =x 2 ) και(y 1 =y 2 ) Συνθήκηαπόκρυψηςστηνπροοπτικήπροβολή:(x 1 /z 1 =x 2 /z 2 ), (y 1 /z 1 =y 2 /z 2 ) Απαιτεί(ακριβή) διαίρεσημε z. Η διαίρεσηαυτήγίνεταικατάτηνπροοπτικήπροβολή. Η προοπτικήπροβολήμετατρέπειτιςακτίνεςπροβολήςσεπαράλληλες. Φυλάμε z συντεταγμένηγιασύγκρισηβάθους.
Συνάφεια Συνάφεια: ιδιότηταγεωμετρικώνοντοτήτωννα διατηρούντοπικάσταθερέςτιςτιμέςτων χαρακτηριστικώντουςήνατιςμεταβάλλουν ομαλά. π.χ. αυξητικόςυπολογσμός z σημείωνπολυγώνου. Είδησυνάφειας: Συνάφειαακμής. Συνάφειαεπιφάνειας. Συνάφειαγραμμώνσάρωσης. Συνάφειακαρέ.
Περιβάλλοντες Όγκοι Απλούστεροιόγκοιαπότααντικείμεναπου περιβάλλουνγιαμείωσηκόστουςσυγκρίσεωνκατά τηνταξινόμηση στις διαστάσεις Χ, ΥκαιΖ. Συχνάέχουντημορφήορθογώνιουπαραλληλογράμμου (2Δ) ήορθογώνιουπαραλληλεπιπέδου(3δ). Οχιαπαραίτητακλειστοί. Ανοιπεριβάλλοντεςόγκοιδύοαντικειμένωνδεν τέμνονταιτότεούτετααντικείμενατέμνονται. Τοαντίθετοδενισχύειπάντα.
ΔιαμερισμόςΧώρου Διαμερισμόςχώρουσεσύνολο διατεταγμένωνμερών (π.χ. voxels). Ταμέρητουχώρουπουκαταλαμβάνειένα αντικείμενοορίζουνέμμεσατηδιάταξήτου σεσχέσημεάλλααντικείμενα.
ΔιαγραφήΠίσωΕπιφανειών Ανηγωνίαμεταξύκαιείναιτότεηεπιφάνειαείναι Μιαεπιφάνειαείναιορατήαν Μειώνειόγκοδεδομένωνκατά ~50%. Λύνειπρόβλημααπόκρυψηςγιαένακυρτό αντικείμενο.πίσω(αόρατη).
ΔιαγραφήΠίσωΕπιφανειών ΛειτουργείστοχώροαντικειμένωνκαιείναιΟ(Π). V μπορείναυπολογισθείαπόμίακορυφήp της επιφάνειας. ΑνοπαρατηρητήςβρίσκεταιστοκέντροτουΣΣΠτότεV=-P N μπορεί να υπολογισθεί από 3 διαδοχικές, μη συγγραμμικέςκορυφέςp 1, P 2, P 3 και ΠΡΟΣΟΧΗ: Χρήσησειράςκορυφών
ΑλγόριθμοιΑπόκρυψηςΕπιφανειών Ακολούθησαντηνεμφάνισητηςπλεγματικής οθόνης. 4 Βασικέςκατηγορίες. z-buffer (πιοδιαδεδομένος). scanline. ταξινόμησηκατάβάθος. υποδιαίρεσηεπιφάνειας.
ΑλγόριθμοιΑπόκρυψηςΕπιφανειών Βασικήπράξη: σύγκρισηβάθους 2 στοιχείων μείδιο ΧΥ. Η προοπτικήπροβολή διευκολύνει. Μετατρέπειακτίνεςπροβολής ώστεναείναιπαράλληλεςτου Z. Ίσεςαποστάσειςστον Ζ π δεν μετασχηματίζονταισείσες αποστάσειςστονζ ο. Ζ ο μεταβάλλεταιταχύτερακαθώς πλησιάζειτημέγιστητιμήτου(1).
Αλγόριθμος z-buffer Απαιτεί ύπαρξη μνήμης βάθους (z-buffer) για κάθεpixel. Οιτιμέςβάθουςβρίσκονται(γιαταπερισσότερα σχήματα) μεπαρεμβολή. Έμμεσηταξινόμηση. Γιακάθεpixelοz-bufferφυλάειτηνελάχιστη(ως τώρα) τιμήβάθουςστοpixelαυτό. Αρχικοποίηση στο μέγιστο z (πίσωεπίπεδο αποκοπής).
Αλγόριθμος 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++) { /*Βρεςμεγραμμικήπαρεμβολήμεταξύτωναντίστοιχωνκορυφών, τιςτιμέςτομήςμε scanliney :xleft,xrightτις τιμές βάθους στις τομές:zleft,zrightτις τιμές χρωματισμού στιςτομές:cleft,cright*/ for (x=xleft; x<=xright; x++) { /*Βρεςμεγραμμικήπαρεμβολήμεταξύxleftκαιxrightτηντιμήβάθους z καιχρώματος c σεκάθεpixelx,y*/ if (z<z_buffer[x,y]) { z_buffer[x,y]=z; frame_buffer[x,y]=c;
Αλγόριθμος z-buffer Τομέςπλευρώνπολυγώνουμεscanlines βρίσκονταιμελίσταενεργώνπλευρών. Γραμμικήπαρεμβολή z.
Αλγόριθμος z-buffer Ο(Π,S), όπου ΠοαριθμόςπολυγώνωνκαιS o μέσοςαριθμόςpixelανάπολύγωνο. Γιατυπικέςσκηνές (σταθερό). Πλεονεκτήματα z-buffer: Ευκολίαυλοποίησηςσε H/W ήs/w. Επεξεργασίαπολυγώνωνμετυχαίασειρά. Δυνατότηταχρήσηςγιαμηπολυγωνικάαντικείμενα (μεσυνάρτησηβάθους). Ανάγκησεμνήμη: Έναςκαλός z-buffer απαιτεί32 bits/pixel. Γιαανάλυση1024x1024 αυτόσυνεπάγεται4mbytes.
ΕιδικέςΕφαρμογές z-buffer Συνδυασμόςεικόνων Έστω οι 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. Δενμεταβάλλουμεπεριεχόμενα z-buffer.
ΑλγόριθμοιΛίσταςΠροτεραιότητας (αλγόριθμοι ζωγράφου) Ταξινόμησηπολυγώνωνκατάβάθοςκαιεμφάνιση μεσωστήσειρά: Οχιπάνταδυνατή(επικάλυψη z-έκτασης, τεμνόμενα πολύγωνα). Διαμερισμόςπολυγώνων. Μεγάληπολυπλοκότητα. Χώροςαντικειμένων, αναποτέλεσμαθεωρηθείη ταξινομημένηλίστα. 1. Αλγόριθμοςταξινόμησηςκατάβάθος(Newell 1972). 2. ΑλγόριθμοςBSP δένδρου(fuchs 1983).
ΑλγόριθμοςΤαξινόμησηςκατά Βάθος Ταξινόμησηκατάφθίνουσααπόστασηαπό κέντροπροβολής. Σύγκριση P προq δενείναιπάνταεύκολη. Χρήσηπεριβάλλοντοςπαραλληλεπιπέδου [x min (P), y min (P), z min (P)],[x max (P), y max (P), z max (P)].
ΑλγόριθμοιΥποδιαίρεσηςΕπιφάνειας Αναδρομικήδιαίρεσηεπιπέδουπροβολής: Αν1 πολύγωνοκαλύπτειτμήμαπλήρως, τότεαυτόπαίρνειτοχρώματουπολυγώνου. Αναδρομήσταματάεπίσηςστομέγεθοςτουpixel. Εκμετάλλευσησυνάφειαςεπιφάνειας(μεγάλαπολύγωνα, σταθερούχρώματος). Αλγόριθμος Warnock: Αναδρομήσταματά αναπόένα τμήμα περνά τοπολύ1 ακμή πολυγώνου. ΣυγκρίσειςπροβολήςπολυγώνουP μεπεριοχήοθόνηςβ. Χρήσηπεριβάλλοντωνορθογωνίων: 4 περιπτώσειςσχέσης P καιb: (D: Disjoint) P εξωτερικότηςβ. (C: Contained) P εσωτερικότηςβ. (S: Surrounding) P καλύπτονπλήρωςτηνβ. (I: Intersecting) P τέμνοντηνβ. Π.χ.σχέση D εξασφαλίζεται εάνισχύει:
ΑλγόριθμοιΥποδιαίρεσηςΕπιφάνειας Αναδρομικές διαιρέσεις Warnock: Μείωσηυποδιαιρέσεων μεβάσηκορυφέςπολυγώνων (Weiler-Atherton):
Σύγκριση ΜεθόδωνΑπόκρυψης
ΑπόκρυψηκαιΠαρακολούθηση Ακτίνας (Ray Tracing) Αλγόριθμοςπαρακολούθησηςακτίνας(Whitted): Ακτίνεςπουορίζονταιαπόσημείοπαρατήρησηςκαι κάθεpixelακολουθούνταιώσπουνασυναντήσουν αντικείμενο. Εκείδιασπώνταιανάλογαμεμοντέλο. Ουσιαστικάλύνειπρόβλημααπόκρυψης.