Αποκοπή
Τι είναι Αποκοπή (clip)? Η διαδικασία απεικόνισης μόνο των τμημάτων των αντικειμένων που βρίσκονται μέσα σε μια περιοχή Από μεγαλύτερη 2Δ σκηνή στην οποία έχουμε ήδη τιμές για τα piels Κατά την διάρκεια της μετατροπής των αντικειμένων σε piel
Γιατί χρησιμοποιούμε αποκοπή ( clip)? Δεν υπάρχει λόγος να αναπαραστούμε αντικείμενο εκτός του παραθύρου θέασης (viewing window - clipping window)
Τι είναι η αποκοπή (clipping)? Αναλυτικός υπολογισμός των αναλογιών των σημείων τομής με το παράθυρο θέασης
Τι είναι Η διαδικασία απεικόνισης μόνο των τμημάτων των αντικειμένων που βρίσκονται μέσα σε μια περιοχή. Αποκοπή αντικειμένου (π.χ.ευθυγράμων τμημάτων, πολυγώνου) ως προς ένα συγκεκριμένο αντικείμενο αποκοπής (π.χ. πολύγωνο, πυραμίδα, κύβος). Το αντικείμενο αποκοπής ορίζει εκείνο το τμήμα του χώρου που ενδιαφέρει τον παρατηρητή σχετικά με το ποιες επιφάνειες μιας τρισδιάστατης σκηνής μπορεί αυτός να δει.
Αποκοπή σε τι? Παράθυρο θέασης Up Θέση ματιού Σημείο εστίασης Back Towards Righ Κώνος θέασης
Η αποκοπή στις 3Δ Γίνεται για: αποφυγή αντεστραμμένης εμφάνισης αντικειμένων που βρίσκονται πίσω από τον παρατηρητή. σημαντική μείωση όγκου δεδομένων που προωθούνται προς την παράσταση στην οθόνη(φίλτρο). Θέσεις αντικειμένων και φωτεινών πηγών Θέση παρατηρητή 3Δ Μαθηματικά Μοντέλα 3Δ Μετασχ/σμοί Μοντέλου 3Δ Μετασχ/σμός Παρατήρησης Διαγραφή Πίσω Επιφανειών 3Δ Αποκοπή Είσοδοι (για κάθε καρέ) Παράσταση Στην Οθόνη: Σάρωση Αντιταύτιση Φωτισμός Υφή Απόκρυψη Γραμμών/ Επιφανειών Προβολή Γραφική σωλήνωση εξόδου
Αποκοπή στις 2Δ-Αποκοπή σημείων Παράθυρο αποκοπής: Είναι ένα ορθογώνιο παραλληλόγραμμο (συμβολίζει την οθόνη). Ένα σημείο με συντεταγμένες, Είναι μέσα στο παράθυρο αν min ma, min ma Διαφορετικά είναι εκτός οπότε και αποκόπτεται. ( ma, ma ) min ma ( min, min ) (, ) min ma (', ')
Γρήγορη αποκοπή Βελτιστοποίηση: γρήγορη αποκοπή Πώς μπoρούμε γρήγορα να αποφασίσουμε εάν το τμήμα μιας γραμμής είναι ολόκληρο μέσα στο παράθυρο θέασης? Ελέγχω και τα δύο άκρα
Γρήγορη αποκοπή Πώς γνωρίζω ότι μια γραμμή είναι εκτός του παραθύρου θέασης? A: Εάν και τα δυο άκρα της γραμμής βρίσκονται στην λάθος πλευρά τότε απλά αποκόπτω τη γραμμή
Αποκοπή γραμμών στο παράθυρο θέασης Συνδυασμός Αποδοχή γραμμών που και τα δυο σημεία βρίσκονται εντός του παραθύρου θέασης Απόρριψη γραμμών που και τα δύο σημεία βρίσκονται εντός της ίδια πλευράς του παραθύρου θέασης Διαφορετικά, αναγωγή στις απλές περιπτώσεις με διαίρεση της γραμμής σε δύο τμήματα
Αποκοπή ευθείας (αλγόριθμος μέσου) Σε κάθε σημείο P(,) του επιπέδου αντιστοιχίζουμε με βάση το παράθυρο δύο παραμέτρους ΙΧ και ΙY με πιθανές τιμές -,0,+. Συνολικά το επίπεδο χωρίζεται σε 9 περιοχές, με διαφορετικό συνδυασμό ΙΧ και ΙΥ το καθένα. ΙΧ=- ΙΥ=+ ΙΧ=0 ΙΥ=+ ΙΧ=+ ΙΥ=+ Οριζόντια: Ίδια τιμή στο IY ma ΙΧ=- ΙΥ=0 P (, ) ΙΧ=0 ΙΥ=0 P 2 ( 2, 2 ) ΙΧ=+ ΙΥ=0 Κάθετα: Ίδια τιμή στο IΧ min ΙΧ=- ΙΧ=0 ΙΧ=+ ΙΥ=- min ΙΥ=- ma ΙΥ=-
Αποκοπή ευθείας (αλγόριθμος μέσου) Χωρίζουμε το επίπεδο σε 9 περιοχές, στηριζόμενοι στους διαφορετικούς συνδυασμούς IΧ και IY. Κάνουμε έλεγχο αν το ευθύγραμμο τμήμα είναι ολόκληρο μέσα στο ορθογώνιο αποκοπής ή αν είναι ολόκληρο έξω από αυτό. Διαφορετικά, υπολογισμός του μέσου του ευθυγράμμου τμήματος και χωρισμός του σε δύο τμήματα. Αναδρομική εφαρμογή του αλγορίθμου και στα δύο ευθύγραμμα τμήματα που προκύπτουν. ΙΧ=- ΙΧ=0 ΙΧ=+ ΙΥ=+ ΙΥ=+ ΙΥ=+ ΙΧ=- ΙΥ=0 P (, ) ΙΧ=0 P 2 ( 2, 2 ) ΙΥ=0 M((P.+P 2.)/2, (P.+P 2.)/2)) ma ΙΧ=+ ΙΥ=0 min ΙΧ=- ΙΧ=0 ΙΧ=+ ΙΥ=- min ΙΥ=- ma ΙΥ=-
Αποκοπή ευθείας (αλγόριθμος μέσου) midpoin(p,p 2, min, ma, min, ma ) Poin P,P 2 ; floa min, ma, min, ma ; {poin M; /*Υπολογισμός IX,IY,IX2,IY2*/ if((ix==0)&&(iy==0)&&(i2==0)&&(iy2==0)) /*Το P P 2 είναι εντός παραθύρου*/ else if ((IX==IX2)&&IX!=0)) (IY==IY2)&&(IY!=0)) /*To P P 2 είναι εκτός παραθύρου*/ else {/*Υπολογισμός του μέσου Μ*/ M.=(P.+P 2.)/2; M. =(P.+P 2.)/2; /*Αναδρομική εφαρμογή στα δύο ευθύγραμμα τμήματα που προκύπτουν*/ midpoin( P,M, min, ma, min, ma ); midpoin( M,P 2, min, ma, min, ma ); } }
Αποκοπή ευθείας (Cohen-Suherland) Χωρίζουμε το επίπεδο σε περιοχές με βάση το ορθογώνιο αποκοπής. Κάνουμε έλεγχο αν το ευθύγραμμο τμήμα είναι ολόκληρο μέσα στο ορθογώνιο αποκοπής ή αν είναι ολόκληρο έξω από αυτό. Αλλιώς, υπολογισμός της τομής του ευθυγράμμου τμήματος με το παράθυρο αποκοπής και χωρισμός του σε δύο τμήματα. Αναδρομική εφαρμογή σε ένα από τα δύο ευθύγραμμα τμήματα που προκύπτουν.
2Δ Αποκοπή Ευθυγράμμων Τμημάτων: Αλγόριθμος Cohen - Suherland Αλγόριθμος Cohen - Suherland: Αρχικά φθηνός έλεγχος για απλές περιπτώσεις. Π.χ. A B έξω, C Dμέσα. Για άλλα ευθύγραμμα τμήματα, κόψιμο με ευθεία παραθύρου & αναδρομή. B G J A min K C E D ma H ma F min I
Αποκοπή ευθείας (Cohen-Suherland) Χωρισμός του χώρου ως εξής: ο bi= για την περιοχή πάνω από την ευθεία =ma 2ο bi= για την περιοχή κάτω από την ευθεία =min π.χ. το Po έχει κωδικό 0000 γιατί βρίσκεται Κάτω από την =ma Πάνω από την =min 3ο bi= για την περιοχή δεξιά από την ευθεία =ma 4ο bi= για την περιοχή αριστερά από την ευθεία =min Αριστερά της =ma Δεξιά της =min 00 000 00 P ο (,) 0 000 0000 0 000 0 0 00 000 0 0 00 ma min min ma
Αποκοπή ευθείας (Cohen-Suherland) Αλγόριθμος Cohen-Suherland: Για κάθε άκρο (,) ενός ευθύγραμμου τμήματος υπολογίζουμε των κώδικα της περιοχής στην οποία βρίσκεται. Το ο bi του κώδικα αντιστοιχεί στο πρόσημο της παράστασης ( ma -) Αν είναι αρνητικό σημαίνει πως το ο bi στον κώδικα θα είναι το και άρα το άκρο (,) θα βρίσκεται πάνω από την = ma Το 2ο bi αντιστοιχεί στο πρόσημο της παράστασης (- min ) Το 3ο bi αντιστοιχεί στο πρόσημο της παράστασης ( ma -) Το 4ο bi αντιστοιχεί στο πρόσημο της παράστασης (- min ) 00 000 P 0 (,) 00 ο bi = ma 000 0000 000 ο bi =0 00 min 000 ma 00 min P
2Δ Αποκοπή Ευθυγράμμων Τμημάτων: Αλγόριθμος Cohen - Suherland Υπολόγισε κώδικες c, c2 για P, P. 2 Αν c c2 0000, P P είναι εντός (π.χ. ). Αν c c2 0000, P P2 είναι εκτός (π.χ. A B ). Διαφορετικά: Εύρεση ευθείας παραθύρου που αντιστοιχεί σε bi με διαφορετικές τιμές. Τομή με ευθεία. P P 2 2 Αναδρομική κλήση για εσωτερικό τμήμα ως προς ευθεία. C D
Αποκοπή ευθείας (Cohen-Suherland) Αν cuc2=0000 τότε το ευθύγραμμο τμήμα βρίσκεται εντός του παραθύρου (το ότι η ένωση των δύο κωδικών είναι 0, σημαίνει πως και οι δύο κωδικοί αποτελούνται από μηδενικά μόνο, άρα και τα δύο άκρα είναι στην περιοχή 0000) Αν c c2 0 τότε το ευθύγραμμο τμήμα είναι εκτός του παραθύρου ( το ότι η τομή των δύο κωδικών είναι διάφορη του μηδενός σημαίνει πως θα υπάρχει τουλάχιστον ένας άσσος στο ίδιο bi των δύο κωδικών, άρα και τα δύο άκρα θα βρίσκονται στην ίδια περιοχή ( πάνω από την =ma ή κάτω από την =min ή δεξιά από την =ma ή αριστερά από την =min), άρα το ευθύγραμμο τμήμα θα βρίσκεται όλο εκτός του παραθύρου) Διαφορετικά, προσδιορίζουμε ένα σημείο τομής ως εξής: Συγκρίνουμε τους κωδικούς των άκρων του ευθύγραμμου τμήματος Βρίσκουμε ένα bi στο οποίο διαφέρουν
2Δ Αποκοπή Ευθυγράμμων Τμημάτων: Αλγόριθμος Cohen - Suherland A 000 00 B C 0000 0000 D E 000 F 000 G 000 H 00 B G J A min Το Το A B CD Για το EF παίρνουμε την τομή με την ευθεία =min αφού το δεύτερο bi των E, F είναι διαφορετικό και στην συνέχεια καλείται αναδρομικά για το τμήμα F I επειδή το δεύτερο bi του F είναι μηδέν H K ma C E D εκτός παραθύρου αφού εντός παραθύρου αφού ma F min I 000 00 0000 0000 0000 0000
Αποκοπή ευθείας (Cohen-Suherland) Βρίσκουμε την ευθεία που αντιστοιχεί σε αυτό το bi και υπολογίζουμε το σημείο τομής του ευθύγραμμου τμήματος με την ευθεία αυτή. Το αρχικό ευθύγραμμο τμήμα χωρίζεται σε δύο και επιλέγουμε εκείνο το ευθύγραμμο τμήμα με ένα άκρο το σημείο τομής και το άλλο άκρο να είναι εκείνο το άκρο του αρχικού ευθύγραμμου τμήματος που είχε τιμή 0 στο bi του κωδικού που διέφεραν τα δύο αρχικά άκρα. Εφαρμογή του αλγορίθμου αναδρομικά σε εκείνο το ευθύγραμμο τμήμα που επιλέχθηκε CS (P,P 2, min, ma, min, ma ) Poin P,P 2 ; floa min, ma, min, ma ; { in c,c 2 ; poin I; c = code (P ); /*Υπολογισμός του κώδικα του P */ c 2 = code (P 2 ); if ( (c c 2 )==0) /* To P P 2 είναι εντός του παραθύρου*/ else if ( (c &c 2 )!=0) /* To P P 2 είναι εκτός του παραθύρου*/ else { inersec ( P,P 2,I, min, ma, min, ma ); if eoeriko (P ) CS (I,P 2, min, ma, min, ma ); else CS (P,I, min, ma, min, ma ); } } Η ρουτίνα inersec υπολογίζει το Ι, ένα σημείο τομής μεταξύ του P, P2 και ευθείας παραθύρου. Η ρουτίνα eoeriko υπολογίζει εάν P βρίσκεται στο ημιεπίπεδο της ευθείας τομής όπου και το παράθυρο
2Δ Αποκοπή Ευθυγράμμων Τμημάτων: Αλγόριθμος Liang - Barsk Bάση παραμετρικής εξίσωσης της Για σημεία εντός παραθύρου ισχύει: ή αλλιώς ή με 2 2 2,, P P 2 2 2, 0,, P P P P ma min ma min ma ma min min,, 4, i q p i i ma 4 4 min 3 3 ma 2 2 min,,,, q p q p q p q p ή με και
2Δ Αποκοπή Ευθυγράμμων Τμημάτων: Αλγόριθμος Liang - Barsk Αρίθμηση ακμών παραθύρου. Παράθυρο: τομή 4 ορατών ημιεπιπέδων. ορατό ημιεπίπεδο πλευράς 4 A 2 2 ma B μη ορατό ημιεπίπεδο πλευράς min Τομή με ευθεία ακμής 3 ma qi i :, i 4 p i min Αν 0, P P παράλληλη ακμής p i 2 Αν 0, P P μπαίνει στο ορατό ημιεπίπεδο ακμής p i 2 Αν p i 0, P P2 βγαίνει από ορατό ημιεπίπεδο ακμής i Αν q i 0, P στο ορατό ημιεπίπεδο ακμής Αν q i 0, P στο μη ορατό ημιεπίπεδο ακμής i i i i
2Δ Αποκοπή Ευθυγράμμων Τμημάτων: Αλγόριθμος Liang - Barsk Υπολογισμός άκρων τμήματος 2 που βρίσκονται εντός παραθύρου. 2 q i ma pi q i min pi p p i i 0, 0, i 4 i 4 0 0 και εξασφαλίζουν επιλογή άκρων 2 αν τομή εκτός τμήματος. Αν τότε P εκτός παραθύρου. 2 2 P Διαφορετικά υπολογισμός αποκοπής από., 2
2Δ Αποκοπή Πολυγώνων: Αλγόριθμος Suherland - Hodgman Κατάλληλος για αποκοπή τυχαίου (κυρτού ή μη κυρτού) πολυγώνου με κυρτό πολύγωνο (παράθυρο) αποκοπής. m διαδοχικά βήματα του αλγορίθμου για m πλευρές παραθύρου αποκοπής. Είσοδος στο βήμα i i 2 m : πολύγωνο μετά από αποκοπή με πλευρά i-. παράθυρο αποκοπής πλευρά 3 Αρχικό πολύγωνο πλευρά 4 πλευρά πλευρά 2 Αποκοπή πολυγώνου ως προς την πλευρά Αποκοπή πολυγώνου ως προς την πλευρά 2 Τελικό πολύγωνο Αποκοπή πολυγώνου ως προς την πλευρά 3 Αποκοπή πολυγώνου ως προς την πλευρά 4
2Δ Αποκοπή Πολυγώνων: Αλγόριθμος Suherland - Hodgman Ένα πολύγωνο ορίζεται από κορυφές του P, P2,, P n με φορά αντίθετη από αυτή των δεικτών του ρολογιού. Πλευρές P P2 P2 P3,, Pn Pn,, P P Βήμα i εξετάζει τη σχέση κάθε πλευράς με ακμή παραθύρου i. n S P Εσωτερικό S Εξωτερικό Πλευρά παραθύρου P P S P S P S Ευθεία αποκοπής Περίπτωση έξοδος αυτή η κορυφή καταχωρείται στην έξοδο Περίπτωση 2 έξοδος Περίπτωση 3 0 έξοδοι Περίπτωση 4 2 έξοδοι Για κάθε πλευρά S P του πολυγώνου που προέκυψε από το προηγούμενο βήμα της αποκοπής, προστίθενται στη λίστα κορυφών του νέου πολυγώνου 0, ή 2 κορυφές ανάλογα με τη θέση της πλευράς σε σχέση με την ευθεία αποκοπής.
2Δ Αποκοπή Πολυγώνων: Αλγόριθμος Suherland - Hodgman Παράδειγμα βήματος αλγορίθμου Suherland - Hodgman. S P P2 P3 P4 P5 P 6 P P P3 P4 P5 P6 P 2 Περίπτωση 2 4 Αποτελέσματα P2 P3 P4 I I2P P 6 Πλευρά παραθύρου Οι κορυφές του νέου πολυγώνου που προέκυψε μετά από το παραπάνω βήμα της αποκοπής είναι: P, P2, P3, P4, I, I2, P6
2Δ Αποκοπή Πολυγώνων: Αλγόριθμος Suherland - Hodgman Καθoρισμός της σχέσης της κορυφής P r, με την πλευρά παραθύρου K,. L2, 2 Πλευρές παραθύρου ορίζονται με φορά αυτή των δεικτών του ρολογιού. Εξίσωση ευθείας αποκοπής s c 0. με 2 s = c = 2 2 2 2 P P εσωτερική αν εξωτερική αν sr c 0 sr c 0
2Δ Αποκοπή Πολυγώνων: Αλγόριθμος Greiner - Hormann Κατάλληλος για τυχαία πολύγωνα αποκοπής (C), προς αποκοπή (S). Mη κυρτά, self-inersecing (αλλά κλειστά). Μείωση απόδοσης σε σχέση με Suherland - Hodgman. Κατάλληλος για αποκοπή στον αλγόριθμο αντιταύτισης του Camull. Bασίζεται στον δείκτη περιστροφών (winding number).μετρά πόσες στροφές ολοκληρώνει ακτίνα με ένα άκρο το να διαγράφει περίμετρο καμπύλης (πολυγώνου). Για κάθε +ve στροφή, για κάθε -ve στροφή., A και το άλλο, A, A A A
2Δ Αποκοπή Πολυγώνων: Αλγόριθμος Greiner - Hormann Για τον δείκτη περιστροφών ισχύουν: Ο δείκτης περιστροφών δεν αλλάζει εφόσον δεν μεταβάλλεται η τοπολογική σχέση του A με τη γ. Αν το A είναι εκτός της καμπύλης τότε, A. Αν το A μετακινηθεί και διασταυρώσει φορά τη γ, τότε το αυξάνεται ή μειώνεται κατά. Αν το βρίσκεται εντός της γ, τότε το είναι περιττός αριθμός, διαφορετικά είναι άρτιος. Αν μετακινήσουμε το A και διασχίσουμε τη γ τότε, A ή, A Αντίστοιχο ελέγχου ημιευθείας προς άπειρο. 0 A, A, A
2Δ Αποκοπή Πολυγώνων: Αλγόριθμος Greiner - Hormann Αλγόριθμος Greiner - Hormann: Βήμα :» Ακολουθούμε περίμετρο S φορά ξεκινώντας από κάποια κορυφή του.» Σε κάθε τομή με C η γραφίδα αλλάζει κατάσταση.» Αρχική κατάσταση εξαρτάται από σχέση αρχικής κορυφής. (εντός, εκτός) με C.» Τελικό αποτέλεσμα: τμήματα του S εντός C (σχήμα β). Βήμα 2: Αντίστοιχο με εναλλαγή S και C (σχήμα γ). Βήμα 3: Ένωση αποτελεσμάτων βημάτων & 2 (σχήμα δ). S S S C C C (α) (β) (γ) (δ)
2Δ Αποκοπή Πολυγώνων: Αλγόριθμος Greiner - Hormann Αποτέλεσμα μπορεί να μην είναι συνεκτικό πολύγωνο. Δομή (διπλά συνδεδεμένη λίστα) προβλέπει ειδικούς δείκτες για ένωση τμημάτων. On m με n,m τα πλήθη ακμών των S και C. Αποκοπή υπολογίζει το C S. Greiner - Hormann γενικεύεται για C S, C S, S C
3Δ Αποκοπή Αντικείμενο αποκοπής στις 3 διαστάσεις: περιορισμένη πυραμίδα (προοπτική προβολή) κύβος (παράλληλη προβολή) Υπάρχουν 6 επίπεδα αποκοπής που ορίζουν το τρισδιάστατο αντικείμενο αποκοπής.
3Δ Αποκοπή: Cohen - Suherland 3Δ 6 - bi κωδικοί για να κωδικοποιήσουμε τη θέση του κάθε άκρου του ευθύγραμμου τμήματος σε σχέση με το αντικείμενο αποκοπής. Έστω ότι χρησιμοποιούμε κύβο αποκοπής. Επίπεδα αποκοπής: =min, =ma, =min, =ma, z=zmin, z=zma ο Bi = z δηλ. το σημείο βρίσκεται πίσω από τον κύβο p zma 2ο Βi = z p zmin 3ο Bi = p ma 4ο Bi = p min 5ο Bi = p ma 6ο Bi = p min Αν c c2 000000, P P2 είναι εντός του κύβου αποκοπής Αν c c2 000000, P P2 είναι εκτός. Διαφορετικά Εύρεση επιφάνειας κύβου που αντιστοιχεί σε bi με διαφορετικές τιμές. Τομή με επιφάνεια. Αναδρομική P P 2 κλήση για εσωτερικό τμήμα ως προς επιφάνεια. P,, z p p p
3Δ Αποκοπή: Cohen - Suherland 3Δ Τομή ευθύγραμμου τμήματος και επιπέδου με χρήση παραμετρικής εξίσωσης. Π.χ. τομή με =Y Αν, υπάρχει σημείο τομής με συντεταγμένες: P 2 P z z z z z z 2 2 2 Y Y, 0,,,, Y z z Y Y z z Y
Αρχικό πολύγωνο Αποκομμένο πολύγωνο 3Δ Αποκοπή: Αλγόριθμος Suherland - Hodgman 3Δ 6 στάδια αποκοπής για τα 6 επίπεδα (αντί για 4 που είχαμε στις 2Δ). Αποκοπή με z=z ma Αποκοπή με z=z min Αποκοπή με = ma Αποκοπή με = min Αποκοπή με = ma Αποκοπή με = min Παρόμοια λειτουργία του αλγορίθμου όπως και στις 2 διαστάσεις με εξαίρεση: Έλεγχος αν P,, z βρίσκεται στην εσωτερική ή στην εξωτερική πλευρά του επιπέδου αποκοπής. Για τυχαίο επίπεδο αποκοπής (α,b,c,d) με εξίσωση f,,z a b cz d ελέγχουμε το πρόσημο της f (P) Υπολογισμός τομής ευθύγραμμου τμήματος με το επίπεδο αποκοπής: όπως στον Cohen - Suherland 3Δ ( τρόπος).
Ερωτήσεις. Πότε ένα σημείο βρίσκεται μέσα στο παράθυρο αποκοπής σύμφωνα με i. τον αλγόριθμο σημειακής αποκοπής και ii. τον αλγόριθμο του μέσου; i. Σύμφωνα με τον αλγόριθμο σημειακής αποκοπής ένα σημείο (,) βρίσκεται μέσα στο παράθυρο αποκοπής όταν minma και minma ii. Σύμφωνα με τον αλγόριθμο του μέσου ένα σημείο (,) βρίσκεται μέσα στο παράθυρο αποκοπής όταν οι μεταβλητές ΙΧ και ΙΥ που κρατώνται για αυτό έχουν και οι δύο την τιμή 0. 2. Στον αλγόριθμο του μέσου ποια είναι η ικανή και αναγκαία συνθήκη ώστε ένα ευθύγραμμο τμήμα να βρίσκεται ολόκληρο μέσα στο παράθυρο αποκοπής; a. (IX==0)&&(IΧ2==0) b. (IY==0)&&(IY2==0)) c. (IX==0)&&(IY==0)&&(IX2==0)&&(IY2==0) d. (IX==0)&&(IY==0) Σωστή απάντηση c. 3. Στον αλγόριθμο του μέσου ποια από τις παρακάτω συνθήκες αρκεί να ισχύει ώστε ένα ευθύγραμμο τμήμα να βρίσκεται ολόκληρο εκτός του παραθύρου αποκοπής; a. (IX==IX2)&&(IΥ!=0) b. (IX==IX2)&&(IX!=0) c. (IY==IY2)&&(IΧ2!=0) d. (IY==IY2)&&(IΧ!=0) Σωστή απάντηση b.
Ερωτήσεις 4. Στον αλγόριθμο του Cohen-Suherland ποια είναι η ικανή και αναγκαία συνθήκη ώστε ένα ευθύγραμμο τμήμα να βρίσκεται ολόκληρο μέσα στο παράθυρο αποκοπής; Να δικαιολογήσετε την απάντηση σας. a. c c2=0000 b. c c2 0000 c. c c2=0000 d. c c2 0000 Σωστή απάντηση a. Και αυτό γιατί από τις ιδιότητες της ένωσης, γνωρίζουμε πως για να είναι το αποτέλεσμα της ένωσης δύο bis (δυνατές τιμές 0 και ) ίσο με το 0, θα πρέπει και τα δύο bis να είναι ίσα με. Με την ίδια λογική, αν η ένωση των δύο τετράμπιτων κωδικών είναι 0000, σημαίνει πως και οι δύο κωδικοί αποτελούνται μόνο από μηδενικά.επομένως, και τα δύο άκρα του ευθύγραμμου τμήματος βρίσκονται στην περιοχή 0000, και άρα ολόκληρο το ευθύγραμμο τμήμα θα βρίσκεται μέσα στο παράθυρο αποκοπής. 5. Στον αλγόριθμο του Cohen-Suherland ποια είναι η ικανή και αναγκαία συνθήκη ώστε ένα ευθύγραμμο τμήμα να βρίσκεται ολόκληρο έξω από το παράθυρο αποκοπής; Να δικαιολογήσετε την απάντηση σας. a. c c2=0000 b. c c2 0000 c. c c2=0000 d. c c2 0000 Σωστή απάντηση d. Και αυτό γιατί από τις ιδιότητες της τομής γνωρίζουμε πως για να είναι το αποτέλεσμα της τομής δύο bis (δυνατές τιμές 0 και ) διαφορετικό το μηδενός και άρα ίσο με το, θα πρέπει και τα δύο bis να είναι ίσα με. Με την ίδια λογική, αν η τομή των δύο τετράμπιτων κωδικών είναι διαφορετική του 0000, σημαίνει πως θα υπάρχει τουλάχιστον ένας άσσος στο ίδιο bi των δύο κωδικών, άρα και τα δύο άκρα θα βρίσκονται στην ίδια περιοχή ( πάνω από την =ma ή κάτω από την =min ή δεξιά από την =ma ή αριστερά από την =min), και άρα το ευθύγραμμο τμήμα θα βρίσκεται ολόκληρο εκτός του παραθύρου)
Ασκήσεις. Εφαρμόστε στο παρακάτω πολύγωνο τον αλγόριθμο αποκοπής Suherland- Hodgman. Η αποκοπή να γίνει ως προς τις πλευρές T, L,B,R. Κορυφές αρχικού πολυγώνου:,2,3,4 i. Αποκοπή ως προς την πλευρά Τ: Κορυφές πολυγώνου 2,Α,Β,4, ii. Αποκοπή ως προς την πλευρά L: Κορυφές πολυγώνου A,B,4,,2 iii. Αποκοπή ως προς την πλευρά B: Κορυφές πολυγώνου B,4,D,C,2,A iv. Αποκοπή ως προς την πλευρά R: Κορυφές πολυγώνου G,H,D,C,E,F,A,B Άρα, το τελικό πολύγωνο είναι το εξής: