Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεVasyitso Angelopoulos Τροποποιήθηκε πριν 9 χρόνια
1
Πρωταρχικά στοιχεία
2
Προβολή σε ψηφιακή οθόνη Εκχώρηση τιμών σε pixel Με συναρτήσεις πχ SetPixel(x, y, color) Από Buffer ή πίνακα πχ FrameBuf[x][y] = color
3
Γραμμές και πολύγωνα Πολύγωνα : γραμμές μεταξύ διαταγμένων σημείων Ίδιο πρώτο και τελευταίο σημείο =>κλειστό πολύγωνο Εάν δεν τέμνονται, ονομάζεται απλά πολύγωνο
4
Κοίλα και κυρτά Κυρτά: Για κάθε ζεύγος σημείων του πολυγώνου, η γραμμή μεταξύ τους είναι πλήρως εσωτερική στο πολύγωνο. Κοίλa: Κάποια δύο σημεία στο πολύγωνο είναι ενωμένα με μια γραμμή που δεν εμπεριέχεται πλήρως στο πολύγωνο.
5
Ειδικά πολύγωνα trianglesquare rectangle
6
Κύκλος Απαρτίζεται από όλα τα σημεία που βρίσκονται σε ίση απόσταση από ένα προκαθορισμένο σημείο (το κέντρο) r 2 = x 2 + y 2 P0P0 P1P1 r 0 y x r
7
Ο κύκλος ως πολύγωνο Ένας κύκλος μπορεί να προσεγγισθεί με ένα πολύγωνο με πολλές πλευρές (> 15)
8
Έλειψη Ένας κύκλος με κλίμακα κατά μήκος του άξονα x ή y. 0 1 1 2 2 3 4 5 6 7 8 9 10 3 4 5 6 0 1 1 2 2 3 4 5 6 7 8 9 3 4 5 6
9
Αναπαριστώντας σχήμα 2D Αναπαράσταση με πίνακες κορυφών και ακμών Κάθε κορυφή (vertex) αναφέρεται μία φορά Κάθε ακμή (edge) αναπαρίσταται με διατεταγμένο ζεύγος δεικτών στον πίνακα κορυφών Επαρκείς πληροφορίες ώστε να γίνει το σχήμα και να εκτελεστούν απλές εργασίες. Κατά σύμβαση οι ακμές απαριθμούνται αριστερόστροφα. Vertexes 1(0,0) 2(1,0) 3(0,1) 4(1,1) 5(0.5,1.5) Edges 1(1,2) 2(2,4) 3(4,5) 4(5,3) 5(3,1)
10
Splines (Εναλλακτική Αναπαράσταση) Παραμετρικές καμπύλες που διέπονται από σημεία ελέγχου Απλή παραμετρική αναπαράσταση: Πλεονέκτημα: λεία με μερικά μόνο σημεία ελέγχου Μειονέκτημα: Μπορεί να είναι δύσκολο να ελεγχθεί
11
Τριγωνικό Πλέγμα Πιο κοινή εκπροσώπηση του σχήματος σε τρεις διαστάσεις Οι κορυφές του τριγώνου βρίσκονται σε ένα επίπεδο (σε αντίθεση με τετράπλευρα ή άλλα πολύγωνα) Ομοιομορφία που καθιστά εύκολο να πραγματοποιηθούν εργασίες: υποδιαίρεση, απλούστευση, κλπ.
12
Αναπαριστώντας σχήμα 3D
13
Ανάλογη με 2D: Πίνακες Κορυφών και Τρίγωνων Κάθε κορυφή απαριθμείται μια φορά Κάθε τρίγωνο υποδεικνύεται με τριπλό δείκτη στον πίνακα κορυφών
14
Αλγόριθμος Σχεδίασης Γραμμών Ξεκινάμε με το ευθύγραμμο τμήμα στο παράθυρο Οι συντεταγμένες παίρνουν ακέραιες τιμές για τα άκρα
15
Αλγόριθμος DDA Digital Differential Analyzer Η γραμμή y = mx + h ικανοποιεί τη διαφορική εξίσωση: For(x=x1; x<=x2, ix++) { y+=m; write_pixel(x, round(y), line_color); }
16
Πρόβλημα Για κάθε pixel x, στρογγυλοποίηση στο πλησιέστερο y. Προβλήματα για απότομες γραμμές
17
Χρησιμοποιώντας Συμμετρία Χρησιμοποιήστε DDA για 1 ≥ m ≥ 0 Για m>1, αλλάζουme ρόλους x και y Για κάθε y, στρογγυλοποίηση στο πλησιέστερο x
18
Ο αλγόριθμος του Bresenham Ο DDA απαιτεί μία πρόσθεση πραγματικών ανά βήμα. Ο αλγόριθμος του Bresenham εξαλείφει όλους τους πραγματικούς Θεωρεί μόνο 1 ≥ m ≥ 0 Άλλες περιπτώσεις, από συμμετρία Ας υποθέσουμε τα κέντρα βρίσκονται σε μισούς ακέραιους αριθμούς. Αν ξεκινήσουμε με ένα pixel που έχει γραφτεί, υπάρχουν μόνο δύο υποψήφιοι για το επόμενο pixel.
19
Ο αλγόριθμος του Bresenham
20
Function line(x0, x1, y0, y1) int deltax:= abs(x1 -x0) int deltay:= abs(y1 -y0) real error := 0 real deltaerr:= deltay÷deltax int y := y0 For x=x0:x1 plot(x,y) error := error + deltaerr If error ≥0.5 y := y + 1 error := error -1.0 Function line(x0, x1,y0, y1) int deltax:= abs(x1 -x0) int deltay:= abs(y1 -y0) int error := 0 int deltaerr:= deltay int y := y0 For x=0:x1 plot(x,y) error := error + deltaerr If 2×error ≥deltax y := y + 1 error := error -deltax
21
Σχεδίαση Κύκλου
23
Αλγόριθμος Midpoint Circle Μπορούμε να χρησιμοποιήσουμε παρόμοια ιδέα με Bresenham Ελέγχουμε μόνο τους επόμενους υποψήφιους. Χρήση συμμετρίας και απλών κανόνων απόφασης.
24
Αλγόριθμος Midpoint Circle
26
Δεδομένου (0,r)
27
Γέμιση Πολύγωνου με γραμμές σάρωσης Γεμίστε με τη διατήρηση μιας δομής δεδομένων όλων των διασταυρώσεων των πολυγώνων με γραμμές σάρωσης Ταξινομήσετε τις γραμμές σάρωσης Γεμίστε
28
Δομή
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.