Αποκοπή Αποκοπή αντικειµένου (π.χ. πολυγώνου) ως προς αντικείµενο αποκοπής (π.χ. πολύγωνο, πυραµίδα, κύβος). Για αποφυγή αντεστραµµένης εµφάνισης αντικειµένων όπισθεν παρατηρητή. Για σηµαντική µείωση όγκου δεδοµένων (φίλτρο). Θέσεις αντικειµένων και φωτεινών πηγών Θέση παρατηρητή 3 Μαθηµατικά Μοντέλα ΣΣΑ 3 Μετασχ/σµοί Μοντέλου ΠΣΣ (WCS) 3 Μετασχ/σµός Παρατήρησης ΣΣΠ (ECS) Αποµάκρυνση Πίσω Επιφανειών 3 Αποκοπή Είσοδοι (για κάθε καρέ) Παράσταση Στην Οθόνη: Σάρωση Αντιταύτιση Φωτισµός Υφή Απόκρυψη Γραµµών/ Επιφανειών D ΣΣΟ (SCS) Προβολή 4. Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Στις ήστις3. : στην αντιταύτιση, απόκρυψη, παράλληλη επεξεργασία, πακέτα. 3 : στην γραφική σωλήνωση (γενίκευση αποκοπής). αποκοπή σηµείου. B C ma ( ), A D min min ma Εντός αν min ma και min ma 4. Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Ευθύγραµµων Τµηµάτων: Αλγόριθµος Μέσου Αλγόριθµος Μέσου: διαδοχική διάσπαση ευθύγραµµου τµήµατος στη µέση (ολίσθηση). Χρήση φθηνών ελέγχων εντός/εκτός. Κωδικοποίηση 9 περιοχών επιπέδου. Τέλος αν < iel. IX IY 0 IX IY + 3 IX IY ( ), IX IY 0 + 0 0 IX IY IX IY + + + 0 ma ( ), IX IY min IX IY 0 ma IX IY + min 4.3 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Ευθυγράµµων Τµηµάτων: Αλγόριθµος Μέσου Αλγόριθµος Μέσου Έστω edef sruc {floa,} oin; midoin (,,min,ma,min,ma) oin,; floa min,ma,min,ma; {oin M; /* Υπολογσµός ΙΧ,ΙΥ,ΙΧ,ΙΥ */ if ((IX0)&&(IY0)&&(IX0)&&(IY0)) /* Το είναι εντός παραθύρου */ else if ((IXIX)&&(IX!0)) ((IYIY)&&(IY!0)) /* To είναι εκτός παραθύρου */ else {M.(.+.)/; M.(.+.)/; midoin (,M,min,ma,min,ma); midoin (M,,min,ma,min,ma); } } 4.4 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Ευθυγράµµων Τµηµάτων: Αλγόριθµος Cohen - Suherland Αλγόριθµος Cohen - Suherland: Αρχικά φθηνός έλεγχος για απλές περιπτώσεις. Π.χ. A B έξω, C D µέσα. Για άλλα ευθύγραµµα τµήµατα, κόψιµο µε ευθεία παραθύρου & αναδροµή. B G J A min K C E D ma H ma F min I 4.5 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Ευθυγράµµων Τµηµάτων: Αλγόριθµος Cohen - Suherland Αντιστοίχιση κωδικών σε 9 περιοχές επιπέδου. Κώδικες προκύπτουν από πρόσηµα διαφορώνπ.χ. ο Bi από ma. Πρώτο Bi Περιοχή πάνω από την ευθεία εύτερο Βi Περιοχή κάτω από την ευθεία Tρίτο Bi Περιοχή δεξιά από την ευθεία Τέταρτο Bi Περιοχή αριστερά από την ευθεία ma min ma min 00 000 00 ma 000 0000 000 min 00 min 000 ma 00 Παράθυρο αποκοπής 4.6 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Ευθυγράµµων Τµηµάτων: Αλγόριθµος Cohen - Suherland Υπολόγισε κώδικες c, c για,. Αν c c 0000, είναι εντός (π.χ. C D ). Αν c c 0000, είναι εκτός (π.χ. A B ). ιαφορετικά: Εύρεση ευθείας παραθύρου που αντιστοιχεί σε bi µε διαφορετικέςτιµές. Τοµή µε ευθεία. Αναδροµική κλήση για εσωτερικό τµήµα ως προς ευθεία. 4.7 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Ευθυγράµµων Τµηµάτων: Αλγόριθµος Cohen - Suherland CS (,,min,ma,min,ma) oin,; floa min,ma,min,ma; {in c,c; oin I; ccode(); /*Εύρεση κώδικα */ ccode(); /*Εύρεση κώδικα */ if ((c c)0) /*Το είναι εντός παραθύρου*/ else if ((c&c)!0) /*Το είναι εκτός παραθύρου*/ else {inersec (,,I,min,ma,min,ma); if eoeriko() CS(I,,min,ma,min,ma); else CS(,I,min,ma,min,ma); } } 4.8 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
4.9 Εθνικό Εθνικό & Καποδιστριακό Καποδιστριακό Πανεπιστήµιο Πανεπιστήµιο Αθηνών Αθηνών Τµήµα Πληροφορικής Εργα Εργα: 000+ & : 000+ & ΣΚΕΠΣΙΣ ΣΚΕΠΣΙΣ (ΕΠΕΑΚ ΕΠΕΑΚ - ΥΠΕΠΘ ΥΠΕΠΘ) Αποκοπή Ευθυγράµµων Τµηµάτων: Αλγόριθµος Liang - Barsk Bάση παραµετρικής εξίσωσης της Για σηµεία εντός παραθύρου ισχύει: ή αλλιώς ή µε ( ) ( ),, ( ) [ ], 0,, + + + ma min ma min + + ma ma min min,, ( )4, i q i i ma 4 4 min 3 3 ma min,,,, q q q q ή µε και
Αποκοπή Ευθυγράµµων Τµηµάτων: Αλγόριθµος Liang - Barsk Αρίθµηση ακµών παραθύρου. Παράθυρο: τοµή 4 ορατών ηµιεπιπέδων. ορατό ηµιεπίπεδο πλευράς 4 A ma B µη ορατό ηµιεπίπεδο πλευράς Τοµή µε ευθεία ακµής min 3 qi i :, i i ()4 ma min Αν i 0, παράλληλη ακµής i Αν i < 0, µπαίνει στο ορατό ηµιεπίπεδο ακµής i Αν i > 0, βγαίνει από ορατό ηµιεπίπεδο ακµής i Αν q i 0, στο ορατό ηµιεπίπεδο ακµής i Αν q i < 0, στο µη ορατόηµιεπίπεδο ακµής i 4.0 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Ευθυγράµµων Τµηµάτων: Αλγόριθµος Liang - Barsk Υπολογισµός άκρων τµήµατος που βρίσκονται εντός παραθύρου. q i ma i q min i i i i < 0, > 0, i 4 () {} 0 i 4 () {} {} 0 {} και εξασφαλίζουν επιλογή άκρων αν τοµή εκτός τµήµατος. Αν > τότε εκτός παραθύρου. ιαφορετικά υπολογισµός αποκοπής από,. 4. Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Πολυγώνων: Αλγόριθµος Suherland - Hodgman Κατάλληλος για αποκοπή τυχαίου πολυγώνου µε κυρτό πολύγωνο (παράθυρο) αποκοπής. mβήµατα για m πλευρές παραθύρου αποκοπής. Είσοδος στο βήµα i ( i ( ) m) : πολύγωνο µετά από αποκοπή µε πλευράi-. 4. Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Πολυγώνων: Αλγόριθµος Suherland - Hodgman Πολύγωνο ορίζεται από κορυφές του,, n µε θετική µαθηµατική φορά. Πλευρές, 3,, n n, n Βήµα i εξετάζει τη σχέση κάθε πλευράς S µε ακµή παραθύρουi. Εσωτερικό S Εξωτερικό Πλευρά παραθύρου S S S Ευθεία αποκοπής Περίπτωση έξοδος Περίπτωση έξοδος Περίπτωση 3 0 έξοδοι Περίπτωση 4 έξοδοι η κορυφή καταχωρείται στην έξοδο 4.3 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Πολυγώνων: Αλγόριθµος Suherland - Hodgman Παράδειγµα βήµατος αλγορίθµου Suherland - Hodgman. S Περίπτωση Αποτελέσµατα 3 4 5 6 3 4 5 6 4 3 4 I I 6 4.4 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Πολυγώνων: Αλγόριθµος Suherland - Hodgman (, ) ( ) ( ) Καθoρισµός σχέσης κορυφής r µε πλευρά παραθύρου K, L,. Πλευρές παραθύρου ορίζονται µε αρνητική µαθηµατική φορά. Εξίσωση ευθείας αποκοπής s c 0. µε s c εσωτερική αν εξωτερική αν sr c < 0 sr c > 0 Κατάλληλος για υλοποίηση παράλληλη / hardware. 4.5 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Πολυγώνων: Αλγόριθµος Greiner - Hormann Κατάλληλος για τυχαία πολύγωνα αποκοπής (C), προς αποκοπή (S). Mηκυρτά, self-inersecing (αλλά κλειστά). Μείωση απόδοσης σε σχέση µε Suherland - Hodgman. Κατάλληλος για αποκοπή στον αλγόριθµο αντιταύτισης του Camull. ( ) Bασίζεται στον δείκτη περιστροφών (winding number) ω γ, A. Μετρά πόσες στροφές ολοκληρώνει ακτίνα µε ένα άκρο το A και το άλλο να διαγράφει περίµετρο καµπύλης (πολυγώνου) γ. Για κάθε +ve στροφή ω γ, A, για κάθε -ve στροφή ω ( γ, A) + +. ( ) γ ϕ A 4.6 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Πολυγώνων: Αλγόριθµος Greiner - Hormann Για τον δείκτη περιστροφών ισχύουν: Ο δείκτης περιστροφών δεν αλλάζει εφόσον δεν µεταβάλλεται η τοπολογική σχέση του A µε τηγ. Αν το A είναι εκτός της καµπύλης τότε ω γ, A. Αν το A µετακινηθεί και διασταυρώσει φορά τη γ, τότε το ω γ, A. αυξάνεται ή µειώνεται κατά. Αν το A βρίσκεται εντός της γ, τότε το ω ( γ, A) είναι περιττός αριθµός, διαφορετικά είναι άρτιος. Αν µετακινήσουµε το A και διασχίσουµε τηγ τότε ( γ, A) ή Αντίστοιχο ελέγχου ηµιευθείας προς άπειρο. ( ) 0 ( ) ω γ, A ω ( ) + + 4.7 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Πολυγώνων: Αλγόριθµος Greiner - Hormann Αλγόριθµος Greiner - Hormann: Βήµα :» Ακολουθούµε περίµετρο S φορά ξεκινώντας από κάποια κορυφή του.» Σε κάθε τοµή µε C η γραφίδα αλλάζει κατάσταση.» Αρχική κατάσταση εξαρτάται από σχέση αρχικής κορυφής. (εντός, εκτός) µε C.» Τελικό αποτέλεσµα: τµήµατα του S εντός C (σχήµα β). Βήµα : Αντίστοιχο µε εναλλαγήs και C (σχήµα γ). Βήµα 3: Ένωση αποτελεσµάτων βηµάτων & (σχήµα δ). S S S C C C (α) (β) (γ) (δ) 4.8 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
Αποκοπή Πολυγώνων: Αλγόριθµος Greiner - Hormann Αποτέλεσµα µπορεί να µην είναι συνεκτικό πολύγωνο. οµή (διπλά συνδεδεµένη λίστα) προβλέπει ειδικούς δείκτες για ένωση τµηµάτων. ( ) O n m µε n,m τα πλήθη ακµών των S και C. Αποκοπή υπολογίζει το C S. Greiner - Hormann γενικεύεται για C S, C S, S C 4.9 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
3 Αποκοπή Αντικείµενο αποκοπής: περιορισµένη πυραµίδα (προοπτική) ήκύβος (παράλληλη). 6 επίπεδα αποκοπής για αυτά τα αντικείµενα. 4.0 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
3 Αποκοπή: Cohen - Suherland 3 ( ) 6 - bi κωδικοί για κάθε άκρο,, z. Έστω κύβος αποκοπής. Πρώτο Bi z > zma δηλ. το σηµείο βρίσκεται πίσω από τον κύβο εύτερο Βi z < zmin Τρίτο Bi > ma Τέταρο Bi < min Πέµπτο Bi > ma Έκτο Bi < min 4. Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
3 Αποκοπή: Cohen - Suherland 3 Aν c c 000000, εντός. Αν c c 000000, εκτός. ιαφορετικά: Εύρεση επιφάνειας κύβου που αντιστοιχεί σε bi µε διαφορετικέςτιµές. Τοµή µε επιφάνεια. Αναδροµική κλήση για εσωτερικό τµήµα ωςπροςεπιφάνεια. 4. Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
3 Αποκοπή: Cohen - Suherland 3 Τοµή ευθύγραµµου τµήµατος και επιπέδου µε χρήση παραµετρικής εξίσωσης. Αν z () + ( ) + () + ( ) + () z + ( z z ) z + z Π.χ. τοµή µε Y Y Y () + [ ] 0,, υπάρχει σηµείο τοµής µε συντεταγµένες: ( +, Y, z + z) + z ( Y ), Y, z + ( Y ) 4.3 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ
3 Αποκοπή: Αλγόριθµος Suherland - Hodgman 3 6 στάδια αποκοπής για τα 6 επίπεδα. Αρχικό πολύγωνο Αποκοπή Αποκοπή Αποκοπή Αποκοπή Αποκοπή Αποκοπή µε zz ma µε zz min µε ma µε min µε ma µε min Αποκοµµένο πολύγωνο Έλεγχος αν,, z εσωτερικό επιπέδου (α,b,c,d) από πρόσηµο ( ) f (,, z) a + b + c z + d Υπολογισµός τοµής ευθύγραµµου τµήµατος µε επίπεδο: όπως στον Cohen - Suherland 3 ( τρόπος). 4.4 Εργα: : 000+ & ΣΚΕΠΣΙΣ (ΕΠΕΑΚ