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

Σχετικά έγγραφα
Τι είναι Αποκοπή (clip)?

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

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

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

Γραφικά Υπολογιστών: Εμφάνιση σε 2D

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

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

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

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

Γραφικά Υπολογιστών: Αποκοπή στις 3D Διαστάσεις

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

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

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

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

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

Ένας απλός και γρήγορος αλγόριθμος για την αποκοπή γραμμών στο Scratch

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

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

Συνοπτική Θεωρία Μαθηματικών Α Γυμνασίου

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

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

α) f(x(t), y(t)) = 0,

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

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

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

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

Η ΓΕΝΙΚΕΥΜΕΝΗ ΓΕΩΜΕΤΡΙΑ

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

Απαλλακτική Εργασία Γραφικά & Εικονική Πραγματικότητα. Παπαπαύλου Χρήστος ΑΜ: 6609

Διαφορικός Λογισμός πολλών μεταβλητών

ΕΠΙΣΚΟΠΗΣΗ ΦΥΣΙΚΗΣ Α ΛΥΚΕΙΟΥ

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

1 x m 2. degn = m 1 + m m n. a(m 1 m 2...m k )x m 1

Φύλλο Εργασίας για την y=αx 2

2 Β Βάσεις παραλληλογράµµου Βαρύκεντρο Γ Γεωµετρική κατασκευή Γεωµετρικός τόπος (ς) Γωνία Οι απέναντι πλευρές του. Κέντρο βάρους τριγώνου, δηλ. το σηµ

2. Ιδιότητες Συναρτήσεων

Φροντιστηριακές Ασκήσεις Απεικόνισης - Αποκοπής

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

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Περιεχόμενα. Κεφάλαιο 1 ΣΥΣΤΗΜΑΤΑ ΣΥΝΤΕΤΑΓΜΕΝΩΝ ΣΕ ΜΙΑ ΕΥΘΕΙΑ Οι συντεταγμένες ενός σημείου Απόλυτη τιμή...14

ΜΟΝΟΤΟΝΙΑ ΑΚΡΟΤΑΤΑ- ΣΥΝΟΛΟ ΤΙΜΩΝ ΚΟΙΛΟΤΗΤΑ ΣΗΜΕΙΑ ΚΑΜΠΗΣ. i) Για την εύρεση µονοτονίας µιας συνάρτησης υπολογίζω την f ( x )

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

(Study Guide for Final Test)

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

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

Για να παραστήσουμε ένα σύνολο χρησιμοποιούμε συνήθως έναν από τους παρακάτω τρόπους :

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

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

Εφαρμοσμένα Μαθηματικά

ΚΟΝΤΟΚΩΣΤΑΣ ΔΗΜΗΤΡΙΟΣ. ΠΑΡΑΔΕΙΓΜΑΤΑ-ΑΣΚΗΣΕΙΣ ΠΑΡΑΣΤΑΤΙΚΗΣ ΜΕ ΠΡΟΒΟΛΕΣ ΣΕ 2 ΕΠΙΠΕΔΑ (εκδοχή Σεπτεμβρίου 2014) Ε.Μ.Π.

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

i=1 i=1 i=1 (x i 1, x i +1) (x 1 1, x k +1),

Παραδείγματα διπλών oλοκληρωμάτων Γ. Λυχναρόπουλος


Παράλληλοι Αλγόριθμοι: Ανάλυση Εικόνας και Υπολογιστική Γεωμετρία. Πέτρος Ποτίκας CoReLab 4/5/2006

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

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

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

Σύντομος οδηγός αναφοράς Για Windows Έκδοση 4.0

Γεωμετρία. 63. Σε περίπτωση που η αρχή, το σημείο Ο, βρίσκεται πάνω σε μια ευθεία χχ τότε η

Το εγχειρίδιο αυτό, δεν είναι απλό τυπολόγιο αλλά μία εγκυκλοπαίδεια όλων των μαθηματικών του ενιαίου λυκείου.

ΚΕΦΑΛΑΙΟ 1 ο : ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ

7.1 ΜΕΛΕΤΗ ΤΗΣ ΣΥΝΑΡΤΗΣΗΣ

7.7 Ασκήσεις σχολικού βιβλίου σελίδας 156

Ανάκλαση Είδωλα σε κοίλα και κυρτά σφαιρικά κάτοπτρα. Αντώνης Πουλιάσης Φυσικός M.Sc. 12 ο ΓΥΜΝΑΣΙΟ ΠΕΡΙΣΤΕΡΙΟΥ

Να επιλύουμε και να διερευνούμε την εξίσωση αx + β = 0, βάση τη γραφική παράσταση της ευθείας y = ax + β.

Μαθηματικά Α' Γυμ. - Ερωτήσεις Θεωρίας 1 ΕΡΩΤΗΣΕΙΣ. (1) Ποιοι είναι οι φυσικοί αριθμοί; Γράψε τέσσερα παραδείγματα.

τριώνυμο Η εξίσωση δευτέρου βαθμού στην πλήρη της μορφή ονομάζεται τριώνυμο, γιατί αποτελείται από τρία μονώνυμα. Η γενική μορφή της είναι:

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

Λύκειο Παραλιμνίου Σχολική Χρονιά Γενικές ασκήσεις επανάληψης Γ κατ

Πρόλογος. Κατάλογος Σχημάτων

ΣΤΕΡΕΟΜΕΤΡΙΑ Β ΓΥΜΝΑΣΙΟΥ - ΘΕΩΡΙΑ

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΚΕΦΑΛΑΙΟ

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

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

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

ENOTHTA 1.1 ΕΥΘΥΓΡΑΜΜΗ ΚΙΝΗΣΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΘΕΩΡΗΤΙΚΗ ΓΕΩΜΕΤΡΙΑ

ΘΕΜΑΤΑ ΥΠΟΛΟΓΙΣΤΙΚΗΣ ΟΡΑΣΗΣ ΚΑΙ ΓΡΑΦΙΚΩΝ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΙ ΑΠΟΚΟΠΗ Ε. Θεοδωρίδης, Α. Τσακαλίδης

Κεφάλαιο 3 Βασική Σχεδίαση και Επεξεργασία

4.3 Δραστηριότητα: Θεώρημα Fermat

1,y 1) είναι η C : xx yy 0.

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

Στοιχεία Συναρτήσεων. 1. Να βρεθεί το πεδίο ορισμού των παρακάτω συναρτήσεων: στ. x 1

δίου ορισμού, μέσου του τύπου εξαρτημένης μεταβλητής του πεδίου τιμών που λέγεται εικόνα της f για x α f α.

ΑΣΚΗΣΕΙΣ. x + 5= 6 (1) και. x = 1, οπότε η (2) γίνεται 1 5x + 1= 7 x = 1 ΘΕΜΑ Β. Άσκηση 1. Να βρείτε τον αριθμό x R όταν. Λύση.

b proj a b είναι κάθετο στο

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο

Κεφάλαιο 1 ο. Βασικές γεωμετρικές έννοιες.

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Τεχνολογία Παιγνίων. Τεχνολογία Παιγνίων. Τεχνολογία Παιγνίων. Εισαγωγή στο Easy Java Simulations (EJS)

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Αλγόριθμοι Σχεδίασης

ΓΥΜΝΑΣΙΟ ΑΠΟΣΤΟΛΟΥ ΑΝΔΡΕΑ ΕΜΠΑΣ ΣΧΟΛΙΚΗ ΧΡΟΝΙΑ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΑΠΟΛΥΤΗΡΙΩΝ ΕΞΕΤΑΣΕΩΝ ΙΟΥΝΙΟΥ ΧΡΟΝΟΣ : 2 Ώρες Υπογραφή :

Μιχάλης Παπαδημητράκης. Μιγαδική Ανάλυση

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

Ασκήσεις. Κεφάλαιο 6. a = a 0 + x 1 b 1 + x 2 b 2 + x 3 b 3, όπου b i = a i a 0, i = 1, 2, 3, P 2 = {(x, y, z) R 3 : x 2y + 3z = 2}.

Transcript:

Εισαγωγή Αποκοπή ευθείας σε 2Δ Αποκοπή πολυγώνου σε 2Δ Αποκοπή σε 3Δ Γραφικα Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Ακ Έτος 2016-17

Εισαγωγή Αποκοπή ευθείας σε 2Δ Αποκοπή πολυγώνου σε 2Δ Αποκοπή σε 3Δ Σύνοψη του σημερινού μαθήματος 1 Εισαγωγή 2 Αποκοπή ευθείας σε 2Δ 3 Αποκοπή πολυγώνου σε 2Δ 4 Αποκοπή σε 3Δ

Εισαγωγή Εισαγωγή Μια βασική πράξη στα γραφικά είναι η αποκοπή (clipping) Η αποκοπή ενός αντικειμένου (πχ ευθύγραμμου τμήματος, πολυγώνου) γίνεται ως προς συγκεκριμένο αντικείμενο αποκοπής (πχ ορθογώνιο παραλληλόγραμμο, πυραμίδα, κύβος) Το αντικείμενο αποκοπής ορίζει το τμήμα του χώρου που ενδιαφέρει τον παρατηρητή σχετικά με το ποιες επιφάνειες μιας σκηνής μπορεί αυτός να δει

Εισαγωγή Χρησιμότητα Αποκοπής Η αποκοπή είναι πολύ χρήσιμη για τους εξής λόγους Αποφυγή της λανθασμένης (αντεστραμμένης) εμφάνισης αντικειμένων που βρίσκονται πίσω από τον παρατηρητή Μείωση του όγκου των δεδομένων που προωθούνται προς την αναπαράσταση στην οθόνη Το ενδιαφέρον της αποκοπής εστιάζεται στα αντικείμενα της σκηνής που τέμνουν το αντικείμενο αποκοπής και όχι σε αυτά που βρίσκονται πλήρως εντός ή εκτός της σκηνής

Αποκοπή ευθείας σε 2Δ Αποκοπή στις 2 διαστάσεις Για απλούστερη διατύπωση των αλγορίθμων, αλλά και επειδή το τελικό μέσο παράστασης (οθόνη) είναι ορθογώνιο παραλληλόγραμμο, χρησιμοποιείται εδώ ως αντικείμενο αποκοπής ένα ορθογώνιο παραλληλόγραμμο το οποίο και θα αποκαλείται παράθυρο αποκοπής (window)

Αποκοπή ευθείας σε 2Δ Σημειακή Αποκοπή Στην περίπτωση αυτή εξετάζεται αν το σημείο P(x, y) βρίσκεται εντός ή εκτός του Ā B C D παραθύρου που ορίζεται από τα σημεία Ā(x min, y min ) και C(x max, y max ) Εάν x min x x max και y min y y max, τότε το P(x, y) βρίσκεται εντός του παραθύρου, διαφορετικά αποκόπτεται

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Μέσου Ο απλούστερος αλγόριθμος αποκοπής ευθύγραμμου τμήματος είναι ο αλγόριθμος μέσου Έστω P 1 (x 1, y 1 ) και P 2 (x 2, y 2 ) τα δύο άκρα ενός ευθύγραμμου τμήματος Σε κάθε σημείο P(x, y) του επιπέδου αντιστοιχούν δύο παράμετροι IX, IY με βάση το παράθυρο Οι πιθανές τιμές για τα IX, IY είναι 1, 0, +1 Το επίπεδο χωρίζεται σε 9 περιοχές

Εισαγωγή Αποκοπή ευθείας σε 2Δ Αποκοπή πολυγώνου σε 2Δ Αποκοπή σε 3Δ Αποκοπή ευθείας σε 2Δ Αλγόριθμος Μέσου Στο σημείο P 1 (x 1, y 1 ) αντιστοιχούνται οι παράμετροι IX 1, IY 1 και στο P 2 (x 2, y 2 ) οι παράμετροι IX 2, IY 2

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Μέσου typedef struct {float x,y} point; midpoint (P1,P2,xmin,xmax,ymin,ymax) point P1,P2; float xmin,xmax,ymin,ymax; point M // calculate IX1,IY1,IX2,IY2 if ((IX1==0)&&(IY1==0)&&(IX2==0)&&(IY2==0)) // P1P2 is inside the window else if ((IX1==IX2)&&(IX1!=0)) ((IY1==IY2)&&(IY1!=0)) //P1P2 is outside the window else Mx=(P1x+P2x)/2; My=(P1y+P2y)/2; midpoint (P1,M,xmin,xmax,ymin,ymax); midpoint (M,P2,xmin,xmax,ymin,ymax);

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Cohen-Sutherland Ο αλγόριθμος αρχικά σαν 1ο βήμα εκτελεί έναν υπολογιστικά φθηνό έλεγχο για να αποφανθεί κατά πόσον το ευθύγραμμο τμήμα είναι εξ ολοκλήρου εντός ή εκτός του παραθύρου Εάν μπορεί να ληφθεί μια απόφαση, αποφεύγεται ο δαπανηρός υπολογισμός της τομής

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Cohen-Sutherland Εύκολα φαίνεται ότι το Ā B είναι εκτός, αφού οι x συντεταγμένες των άκρων του είναι μικρότερες από x m in Εύκολα φαίνεται ότι το C D είναι εντός, αφού όλες οι συντεταγμένες των άκρων του είναι μεταξύ από x min, x max και y min, y max

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Cohen-Sutherland Δεν μπορεί να εξαχθεί συμπέρασμα για τα Ḡ H και Ē F Αναζητείται κάποια πλευρά του παραθύρου που τέμνει είτε η ίδια είτε προέκτασή της το ευθύγραμμο τμήμα Υπολογίζεται το σημείο τομής Εφαρμόζεται αναδρομικά ο αλγόριθμος στα ευθύγραμμα τμήματα που προκύπτουν (πχ για το Ē F τα ĒĪ, Ī F)

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Cohen-Sutherland Για να γίνουν αποδοτικά οι έλεγχοι, το επίπεδο του παραθύρου χωρίζεται σε 9 περιοχές Σε κάθε περιοχή αντιστοιχεί ένας κώδικας Ο κώδικας καθορίζεται απο τη θέση της περιοχής σχετικά με τα ημιεπίπεδα των ακμών του παραθύρου

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Cohen-Sutherland Κάθε ένα από τα 4 bits του κώδικα έχει τιμή 1 αν η περιοχή βρίσκεται στο ημιεπίπεδο της ακμής που ΔΕΝ περιέχει το παράθυρο, αλλιώς έχει την τιμή 0 1ο bit = 1: περιοχή πάνω από την ευθεία y = y max 2ο bit = 1: περιοχή κάτω από την ευθεία y = y min 3ο bit = 1: περιοχή δεξιά από την ευθεία x = x max 4ο bit = 1: περιοχή αριστερά από την ευθεία x = x max

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Cohen-Sutherland Για κάθε άκρο (x, y) ενός ευθυγράμμου τμήματος υπολογίζεται ο κώδικας της περιοχής στην οποία βρίσκεται Αυτό γίνεται αποδοτικά ως εξής: το 1ο bit αντιστοιχεί στο πρόσημο της παράστασης y max y το 2ο bit αντιστοιχεί στο πρόσημο της παράστασης y y min το 3ο bit αντιστοιχεί στο πρόσημο της παράστασης x max x το 4ο bit αντιστοιχεί στο πρόσημο της παράστασης x x min Έχοντας υπολογίσει τους κώδικες c 1, c 2 των άκρων κάποιου ευθύγραμμου τμήματος, το 1ο βήμα της αποκοπής είναι Αν C 1 C 2 = 0000, τότε το ευθύγραμμο τμήμα είναι εντός του παραθύρου Αν C 1 C 2 0000, τότε το ευθύγραμμο τμήμα είναι εκτός του παραθύρου

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Cohen-Sutherland Στην περίπτωση που δεν ισχύει κάτι από τα παραπάνω, προσδιορίζεται ένα σημείο τομής ως εξής Συγκρίνοντας τους κώδικες των άκρων του ευθύγραμμου τμήματος, επιλέγεται η ευθεία μιας ακμής του παραθύρου που αντιστοιχεί σε ένα bit για το οποίο οι κώδικες έχουν διαφορετικές τιμές Υπολογίζεται το σημείο τομής του ευθύγραμμου τμήματος με την ευθεία αυτή Ο αλγόριθμος καλείται αναδρομικά για το ευθύγραμμο τμήμα του οποίου το ένα άκρο είναι το σημείο τομής και το άλλο είναι εκείνο το άκρο του ευθύγραμμου τμήματος του οποίου ο κώδικας έχει τιμή 0 στο bit που αντιστοιχεί στην ευθεία αποκοπής

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Cohen-Sutherland CS (P1,P2,xmin,xmax,ymin,ymax) point P1,P2; float xmin,xmax,ymin,ymax; int c1,c2; point I; c1=code(p1); //find P1 code c2=code(p2); //find P2 code if ((c1 c2)==0) // P1P2 is inside the window else if ((c1&&c2)!=0) // P1P2 is outside the window else intersect (P1,P2,I,xmin,xmax,ymin,ymax); if outside(p1) CS(I,P2,xmin,xmax,ymin,ymax); else CS(P1,I,xmin,xmax,ymin,ymax);

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Cohen-Sutherland Σημειώνεται ότι ο υπολογισμός των σχέσεων C 1 C 2 == 0000, C 1 C 2! = 0000 μπορεί να γίνει με τη βοήθεια ειδικών ρουτινών Η intersect υπολογίζει στο Ī σημείο τομής μεταξύ των P 1 P 2 και μιας ευθείας του παραθύρου Η outside υπολογίζει αν το P 1 βρίσκεται στο ημιεπίπεδο εκείνο της ευθείας τομής στο οποίο βρίσκεται και το παράθυρο

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Liang-Barsky Βασίζεται στην παραμετρική εξίσωση ευθείας Για P 1 (x 1, y 1 ) και P 2 (x 2, y 2 ), η παραμετρική εξίσωση των P 1, P 2 είναι P = P 1 + t ( P 2 P 1 ), t [0, 1] ή x = x 1 + t x, y = y 1 + t y με x = x 2 x 1, y = y 2 y 1 Για t [, + ] προκύπτει ολόκληρη η ευθεία που περνάει από τα P 1 και P 2

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Liang-Barsky Για δοσμένο παράθυρο αποκοπής, θα ισχύει ή x min x 1 + t x x max, t x x 1 x min, y min y 1 + t y y max t y y 1 y min t x x max x 1, t y y max y 1

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Liang-Barsky Οι προηγούμενες ανισότητες μπορούν να τεθούν στην κοινή μορφή t p i q i, i = 1, 2, 3, 4, όπου p 1 = x, q 1 = x 1 x min p 2 = x, q 2 = x max x i p 3 = y, q 3 = y 1 y min p 4 = y, q 4 = y max y 1

Εισαγωγή Αποκοπή ευθείας σε 2Δ Αποκοπή πολυγώνου σε 2Δ Αποκοπή σε 3Δ Αποκοπή ευθείας σε 2Δ Αλγόριθμος Liang-Barsky Αρίθμηση των ακμών Liang-Barsky (x = x min : 1, x = x max : 2, y = y min : 3, y = y max : 4) Ορισμός ορατού και μη ορατού ημιεπιπέδου ακμής

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Liang-Barsky Κάθε πλευρά του παραθύρου ορίζει μια ημιευθεία, η οποία χωρίζει το επίπεδο σε δύο ημιεπίπεδα Ορατό ημιεπίπεδο: αυτό που περιέχει το παράθυρο Μη Ορατό ημιεπίπεδο: αυτό που δεν περιέχει το παράθυρο Το παράθυρο πλέον μπορεί να οριστεί ως η τομή των 4 ορατών ημιεπιπέδων

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Liang-Barsky Κάθε μία ανισότητα δίνει την περιοχή τιμών του t η οποία αντιστοιχεί στο ορατό μέρος του ευθύγραμμου τμήματος αναφορικά με την αντίστοιχη ακμή Εάν p i 0, τότε το σημείο τομής της ευθείας που ορίζουν τα P 1, P 2 με την i πλευρά του παραθύρου δίνεται για t = q i p i, i = 1, 2, 3, 4 Το πρόσημο του q i καθορίζει το ημιεπίπεδο της πλευράς i στο οποίο βρίσκεται το P 1 q i 0 P 1 βρίσκεται στο ορατό ημιεπίπεδο q i < 0 P 1 βρίσκεται στο μη ορατό ημιεπίπεδο Εάν p i = 0, τότε η ευθεία είναι παράλληλη στην ακμή i, = 1, 2, 3, 4 Εάν p i < 0, τότε η προσανατολισμένη ευθεία P 1 P 2 μεταβαίνει από το μη ορατό προς το ορατό ημιεπίπεδο της πλευράς i Εάν p > 0, τότε η προσανατολισμένη ευθεία P P

Αποκοπή ευθείας σε 2Δ Αλγόριθμος Liang-Barsky Ο αλγόριθμος υπολογίζει δύο τιμές t 1 και t 2 της παραμέτρου t, οι οποίες καθορίζουν τα δύο άκρα του τμήματος του P 1 P 2 που βρίσκεται μέσα στο παράθυρο t 1 = max({ q i p i p i < 0, i = 1, 2, 3, 4} {0}) (1) και t 2 = min({ q i p i > 0, i = 1, 2, 3, 4} {1}) (2) p i Τα μονοσύνολα {0}, {1} εξασφαλίζουν την επιλογή των άκρων P 1, P 2 στην περίπτωση που τα σημεία τομής της ευθείας με τις πλευρές του παραθύρου βρίσκονται εκτός του P 1, P 2 Εάν t 1 > t 2, τότε το ευθύγραμμο τμήμα βρίσκεται εκτός του παραθύρου, διαφορετικά οι τιμές t 1, t 2 χρησιμοποιούνται για τον υπολογισμό Πανεπιστήμιο των σημείων Θεσσαλίας Τμήμα τομής Πληροφορικής

Αποκοπή πολυγώνου σε 2Δ Αποκοπή Πολυγώνων Η αποκοπή 2Δ πολυγώνων είναι βασική πράξη στα γραφικά Οι χρήσεις της περιλαμβάνουν Αλγόριθμους αντιτάυτισης (αποκοπή στα όρια του pixel) Αλγόριθμους απόκρυψης Χωρικό διαχωρισμό πολυγώνων σε συστήματα πολυεπεξεργασίας Οι 3Δ αλγόριθμοι αποκοπής είναι συνήθως γενικεύσεις των 2Δ αλγόριθμων αποκοπής Ο αλγόριθμος Sutherland-Hodgman είναι κατάλληλος για την αποκοπή οποιουδήποτε πολυγώνου με κυρτό πολύγωνο αποκοπής Ο αλγόριθμος Greiner-Hormann μπορεί να εφαρμοστεί για γενικευμένα πολύγωνα

Αποκοπή πολυγώνου σε 2Δ Αλγόριθμος Sutherland-Hodgman Ο αλγόριθμος Sutherland-Hodgman μπορεί να αποκόψει ένα κυρτό ή μη κυρτό πολύγωνο ως προς ένα κυρτό πολύγωνο (παράθυρο) αποκοπής Αν το παράθυρο έχει m πλευρές, ο αλγόριθμος αποτελείται από m βήματα Το βήμα i, i = 1, 2,, m, αφορά την αποκοπή του πολυγώνου ως προς την ευθεία που περιέχει την πλευρά i του παραθύρου Η είσοδος στο 1ο βήμα είναι το αρχικό πολύγωνο Η είσοδος στο i-οστό βήμα είναι το πολύγωνο που προκύπτει μετά την αποκοπή στο i-1-οστό βήμα

Εισαγωγή Αποκοπή ευθείας σε 2Δ Αποκοπή πολυγώνου σε 2Δ Αποκοπή σε 3Δ Αποκοπή πολυγώνου σε 2Δ Αλγόριθμος Sutherland-Hodgman Βήματα εφαρμογής του αλγορίθμου Sutherland-Hodgman

Αποκοπή πολυγώνου σε 2Δ Αλγόριθμος Sutherland-Hodgman Το πολύγωνο αρχικά ορίζεται από τις κορυφές του P 1, P 2, P 3,, P n Θεωρείται ότι η κίνηση κατά μήκος της περιμέτρου του πολυγώνου γίνεται με θετική φορά Οι κορυφές ορίζουν τις πλευρές P 1 P 2, P 2 P 3,, P n 1 P n, P n P 1 Για κάθε πλευρά S P του πολυγώνου το οποίο προέκυψε από το προηγούμενο βήμα αποκοπής, προστίθενται στη λίστα κορυφών του νέου πολυγώνου 0,1 ή 2 κορυφές, ανάλογα με τη θέση της πλευράς S P σε σχέση με την ευθεία αποκοπής

Εισαγωγή Αποκοπή ευθείας σε 2Δ Αποκοπή πολυγώνου σε 2Δ Αποκοπή σε 3Δ Αποκοπή πολυγώνου σε 2Δ Αλγόριθμος Sutherland-Hodgman Περιπτώσεις αποκοπής με την εφαρμογή του αλγορίθμου Sutherland-Hodgman

Αποκοπή πολυγώνου σε 2Δ Βήμα Αποκοπής Αλγορίθμου Sutherland-Hodgman Η θέση μιας κορυφής P(r, t) σε σχέση με την ευθεία που ορίζεται από την πλευρά K(x 1, y 1 ) L(x 2, y 2 ) ορίζεται ως Εάν η εξίσωση της ευθείας αποκοπής είναι y sx c = 0 με s = y 2 y 2 x 2 x 1, c = y 1x 2 y 2 x 1 x 2 x 1 τότε η κορυφή P θα είναι εσωτερική, αν t sr c < 0 εξωτερική, αν t sr c > 0

Αποκοπή πολυγώνου σε 2Δ Αλγόριθμος Sutherland-Hodgman Στην περίπτωση που η πλευρά του παραθύρου είναι παράλληλη με κάποιον άξονα, τότε ο παραπάνω έλεγχος απλουστεύεται σε μια σύγκριση Αποφεύγεται ο υπολογισμός των s, c Ο αλγόριθμος Sutherland-Hodgman είναι κατάλληλος για υλοποίηση σε hardware

Αποκοπή πολυγώνου σε 2Δ Αλγόριθμος Greiner-Hormann Ο αλγόριθμος των Greiner-Hormann είναι κατάλληλος για γενικευμένα πολύγωνα Το πολύγωνο αποκοπής C και το πολύγωνο προς αποκοπή S μπορεί να είναι οποιαδήποτε κλειστά πολύγωνα (ακόμη και μη κυρτά, αυτά που τέμνουν την περιφέρειά τους κλπ) Η απόφαση του εάν ένα σημείο είναι εντός ή εκτός του πολυγώνου είναι έυκολη στην περίπτωση που το πολύγωνο είναι κυρτό (Greiner-Hodgman) Για τη γενικευμένη περίπτωση, ο αλγόριθμος χρησιμοποιεί την έννοια του δείκτη περιστροφών

Αποκοπή πολυγώνου σε 2Δ Δείκτης Περιστροφών Για μια κλειστή καμπύλη γ και ένα σημείο Ā, ο αριθμός περιστροφών ω(γ, Ā) μετρά πόσες στροφές ολοκληρώνει μια ακτίνα που ξεκινά από το Ā και διαγράφει την περιφέρεια της καμπύλης γ μια φορά Για κάθε ολοκληρωμένη στροφή με τη φορά των δεικτών του ρολογιού, ο δείκτης μειώνεται κατά 1 Για κάθε ολοκληρωμένη στροφή με αντίθετη φορά από αυτή των δεικτών του ρολογιού, ο δείκτης αυξάνεται κατά 1 Ορίζεται ως ω(γ, Ā) = 1 2π dϕ

Αποκοπή πολυγώνου σε 2Δ Δείκτης Περιστροφών Ο δείκτης περιστροφής δεν αλλάζει εφόσον δεν μεταβάλλεται η τοπολογική σχέση του Ā με την γ Αν το Ā είναι εκτός της καμπύλης, τότε ω(γ, Ā) = 0 Αν το Ā μετακινηθεί και διασταυρώσει μία φορά την γ, τότε το ω(γ, Ā) αυξάνεται ή μειώνεται κατά 1 Αν το Ā βρίσκεται εντός της γ, τότε το ω(γ, Ā) είναι περιττός, αλλιώς είναι άρτιος

Αποκοπή πολυγώνου σε 2Δ Δείκτης Περιστροφών Από τα παραπάνω μπορεί να εξαχθεί το συμπέρασμα ότι κάθε φορά που το μονοπάτι του Ā τέμνει την γ, περνά είτε από το εξωτερικό στο εσωτερικό της, είτε αντίστροφα Αυτό είναι αντίστοιχο με το μέτρημα των τομών της γ με την ημιευθεία από το Ā προς το άπειρο

Εισαγωγή Αποκοπή ευθείας σε 2Δ Αποκοπή πολυγώνου σε 2Δ Αποκοπή σε 3Δ Αποκοπή πολυγώνου σε 2Δ Αλγόριθμος Greiner-Hormann - Παράδειγμα Έστω το πολύγωνο αποκοπής C και το πολύγωνο προς αποκοπή S

Αποκοπή πολυγώνου σε 2Δ Αλγόριθμος Greiner-Hormann - Βήμα 1 Εκκίνηση από μια κορυφή του S και ακολουθείται η περίμετρος του Χρησιμοποιείται μια γραφίδα (αναμμένη ή σβηστή) Αρχικά, είναι αναμμένη αν η κορυφή είναι εντός του C, σβηστή αν είναι εκτός του C Κάθε φορά που διασταυρώνεται με το C, αλλάζει κατάσταση Διαγράφονται τα τμήματα του S μέσα στο C

Εισαγωγή Αποκοπή ευθείας σε 2Δ Αποκοπή πολυγώνου σε 2Δ Αποκοπή σε 3Δ Αποκοπή πολυγώνου σε 2Δ Αλγόριθμος Greiner-Hormann - Βήμα 2 Το ίδιο με το βήμα 1, αλλάζει μόνο ο ρόλος των C, S Δημιουργούνται τα τμήματα του C που βρίσκονται μέσα στο S

Εισαγωγή Αποκοπή ευθείας σε 2Δ Αποκοπή πολυγώνου σε 2Δ Αποκοπή σε 3Δ Αποκοπή πολυγώνου σε 2Δ Αλγόριθμος Greiner-Hormann - Βήμα 3 Ενώνονται όλα τα τμήματα που προέκυψαν από τα βήματα 1 και 2 S

Αποκοπή πολυγώνου σε 2Δ Αλγόριθμος Greiner-Hormann Το αποτέλεσμα της αποκοπής μπορεί να αποτελείται από 1 ή περισσότερα μη συνεκτικά πολύγωνα Η αποκοπή ουσιαστικά βρίσκει την τομή των επιφανειών C,S (C S) Ο αλγόριθμος Greiner-Hormann εύκολα μετατρέπεται ώστε να υπολογίζει τα C S, C S, S C

Αποκοπή στις 3 Διαστάσεις Αποκοπή στις 3 Διαστάσεις Οι αλγόριθμοι που έχουν περιγραφεί εώς τώρα μπορούν να χρησιμοποιηθούν και για 3 διαστάσεις Θα περιγραφούν οι αλγόριθμοι Cohen-Sutherland και Sutherland-Hodgman Στις 3 διαστάσεις, το αντικείμενο αποκοπής είναι είτε η περιορισμένη πυραμίδα (προοπτική προβολή), είτε ο κύβος (παράλληλη προβολή) Προς το παρόν, θεωρούνται 6 επίπεδα αποκοπής, τα οποία και ορίζουν το 3Δ αντικείμενο αποκοπής

Αποκοπή στις 3 Διαστάσεις 3Δ Αλγόριθμος Cohen-Sutherland Απαιτείται χρήση κωδικών 6 bits για να κωδικοποιηθεί η θέση κάθε άκρου του P(x p y p z p ) σε σχέση με το αντικείμενο αποκοπής Θεωρείται ότι το αντικείμενο αποκοπής είναι κύβος με πλευρές κάθετες στους άξονες Τα επίπεδα αποκοπής θα είναι x = x min x = x max y = y min y = y max z = z min z = z max

Αποκοπή στις 3 Διαστάσεις 3Δ Αλγόριθμος Cohen-Sutherland Η σημασία κάθε bit του κώδικα είναι 01 1ο bit=1 z p > z max 02 2ο bit=1 z p < z min 03 3ο bit=1 y p > y max 04 4ο bit=1 y p < y min 05 5ο bit=1 x p > x max 06 6ο bit=1 x p < x min Όπως και στις 2Δ, αν C 1, C 2 οι κώδικες των δύο άκρων του ευθύγραμμου τμήματος, τότε C 1 C 2 = 000000 το ευθύγραμμο τμήμα είναι εντός του αντικειμένου αποκοπής C 1 C 2 000000 το ευθύγραμμο τμήμα είναι εκτός του αντικειμένου αποκοπής Διαφορετικά, το ευθύγραμμο τμήμα διασπάται ακριβώς όπως και στις 2Δ

Αποκοπή στις 3 Διαστάσεις 3Δ Αλγόριθμος Cohen-Sutherland Η εύρεση της τομής ευθύγραμμου τμήματος και επιπέδου γίνεται συνήθως με χρήση της παραμετρικής εξίσωσης του ευθυγράμμου τμήματος 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 όπου t [0, 1] και P 1 (x 1, y 1, z 1 ), P 2 (x 2, y 2, z 2 ) τα άκρα του ευθύγραμμου τμήματος Για παράδειγμα, η τομή με το επίπεδο y = Y βρίσκεται ως εξής Y = y(t) = y 1 + t y t = Y y 1 y Αν t [0, 1], τότε υπάρχει σημείο τομής με συντεταγμένες (x 1 + t x, Y, z 1 + t z) = (x 1 + x y (y y 1), Y, z 1 + z y (y y 1))

Αποκοπή στις 3 Διαστάσεις 3Δ Αλγόριθμος Sutherland-Hodgman Ο αλγόριθμος Sutherland-Hodgman επεκτείνεται εύκολα στις 3 διαστάσεις, χρησιμοποιώντας 6 διαδοχικά στάδια αποκοπής αντί για 4 Κάθε στάδιο αποκόπτει με ένα από τα 6 επίπεδα του αντικειμένου αποκοπής Κάθε στάδιο λειτουργεί με τον ίδιο τρόπο, ακριβώς όπως και στη διδιάστατη περίπτωση με εξαίρεση τα εξής 01 Τον έλεγχο αν ένα σημείο P βρίσκεται στην εσωτερική ή εξωτερική πλευρά του επιπέδου αποκοπής Για επίπεδα κάθετα με τους άξονες, απλή σύγκριση Για τυχαίο επίπεδο με f(x, y, z) = ax + by + cz + d = 0, ελέγχεται το πρόσημο της f( P) 02 Τον υπολογισμό της τομής του ευθυγράμμου τμήματος με το επίπεδο αποκοπής Ένας τρόπος είναι αυτός που χρησιμοποιείται στον 3Δ Cohen-Sutherland