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

Σχετικά έγγραφα
Φροντιστηριακές Ασκήσεις Απεικόνισης - Αποκοπής

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

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

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

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

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

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

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

ισδιάστατοι μετασχηματισμοί ΚΕΦΑΛΑΙΟ 4: ισδιάστατοι γεωμετρικοί μετασχηματισμοί

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

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

Τι είναι Αποκοπή (clip)?

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

Μηχανολογικό Σχέδιο με τη Βοήθεια Υπολογιστή. Γεωμετρικός Πυρήνας Παραμετρική Σχεδίαση

Να επιλύουμε και να διερευνούμε γραμμικά συστήματα. Να ορίζουμε την έννοια του συμβιβαστού και ομογενούς συστήματος.


Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

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

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

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

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

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

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

Κεφάλαιο 1: Κίνηση και γεωμετρικά σχήματα

5.1 Δραστηριότητα: Εισαγωγή στο ορισμένο ολοκλήρωμα

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

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

ΑΣΚΗΣΕΙΣ ΘΕΜΑ Β. 0και 4 x 3 0.

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

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

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

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

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

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα

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

ΟΜΑΔΟΠΟΙΗΣΗ ΤΩΝ ΠΑΡΑΤΗΡΗΣΕΩΝ

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

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

Διαφορικός Λογισμός. Κεφάλαιο Συναρτήσεις. Κατανόηση εννοιών - Θεωρία. 1. Τι ονομάζουμε συνάρτηση;

9. Τοπογραφική σχεδίαση

Ορισμός Τετραγωνική ονομάζεται κάθε συνάρτηση της μορφής y = αx 2 + βx + γ με α 0.

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

1 ΘΕΩΡΙΑΣ...με απάντηση

ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΙΚΑ Β ΓΥΜΝΑΣΙΟΥ. ΜΕΡΟΣ 1ο ΑΛΓΕΒΡΑ

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. 2x 1. είναι Τότε έχουμε: » τον χρησιμοποιούμε κυρίως σε θεωρητικές ασκήσεις.

Η συνάρτηση y = αχ 2. Βρέντζου Τίνα Φυσικός Μεταπτυχιακός τίτλος: «Σπουδές στην εκπαίδευση» ΜEd

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ B ΤΑΞΗΣ. χρησιμοποιήσουμε καθημερινά φαινόμενα όπως το θερμόμετρο, Θετικοί-Αρνητικοί αριθμοί.

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

Θεωρία μετασχηματισμών

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης. Λογισμός 3 Ασκήσεις. Μιχάλης Μαριάς Τμήμα Α.Π.Θ.

V. Διαφορικός Λογισμός. math-gr

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Ενότητα 2. Ζωγραφίζοντας με το ΒΥΟΒ

Δυαδικό Σύστημα Αρίθμησης

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

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

x y Ax By Εξίσωση Κύκλου Έστω Oxy ένα σύστημα συντεταγμένων στο επίπεδο και C ο κύκλος με κέντρο το σημείο Εφαπτομένη Κύκλου Η εφαπτομένη του κύκλου

1.1. Διαφορική Εξίσωση και λύση αυτής

Α ΜΕΡΟΣ - ΑΛΓΕΒΡΑ. Α. Οι πραγματικοί αριθμοί και οι πράξεις τους

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο

ΑΛΓΕΒΡΑ B ΛΥΚΕΙΟΥ. Γενικής Παιδείας ΑΠΑΝΤΗΣΕΙΣ ΛΥΣΕΙΣ ΣΧΟΛΙΚΟΥ ΒΙΒΛΙΟΥ

III.9 ΑΚΡΟΤΑΤΑ ΣΕ ΠΕΡΙΟΧΗ

Ψηφιακή Επεξεργασία Σημάτων

Εισαγωγή στην επιστήμη των υπολογιστών

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

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

ΜΑΘΗΜΑΤΙΚΑ Γ ΓΥΜΝΑΣΙΟΥ

Χωρικές σχέσεις και Γεωμετρικές Έννοιες στην Προσχολική Εκπαίδευση

ΚΕΦΑΛΑΙΟ 3 Ο 3.2 Η ΕΝΝΟΙΑ ΤΟΥ ΓΡΑΜΜΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ Η. (Σ) όπου α, β, α, β, είναι οι

Τμήμα Διοίκησης Επιχειρήσεων

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

Κεφ 2. Βασικές Έννοιες Αλγορίθμων

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

222 Διδακτική των γνωστικών αντικειμένων

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. Να εξετάσετε αν ισχύουν οι υποθέσεις του Θ.Μ.Τ. για την συνάρτηση στο διάστημα [ 1,1] τέτοιο, ώστε: C στο σημείο (,f( ))

Η κατασκευή με τις δύο πινέζες και το νήμα

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

αξιοποίηση των ΤΠΕ: Η logo στη διδακτική διδακτική πράξη

ΜΕΤΡΩΝΤΑΣ ΤΟΝ ΠΛΑΝΗΤΗ ΓΗ

Ταξινόμηση καμπυλών και επιφανειών με τη βοήθεια των τετραγωνικών μορφών.

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

Μεθοδολογία Υπερβολής

4.2 Η ΣΥΝΑΡΤΗΣΗ y = αx 2 + βx + γ µε α 0

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

Καρτεσιανές συντεταγμένες Γραφική παράσταση συνάρτησης

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

5. Σε ορθογώνιο σύστημα αξόνων να σχεδιαστούν οι ευθείες που έχουν εξισώσεις τις: β. y = 4 δ. x = y

ΔΕΙΓΜΑ ΠΡΙΝ ΤΙΣ ΔΙΟΡΘΩΣΕΙΣ - ΕΚΔΟΣΕΙΣ ΚΡΙΤΙΚΗ

ΑΣΥΜΜΕΤΡΙΑ Ας υποθέσουμε, ότι κατά την μελέτη της κατανομής δύο μεταβλητών, καταλήγουμε στα παρακάτω ιστογράμματα.

Μπορούμε να χρησιμοποιήσουμε τις παρακάτω μορφές συντεταγμένων με οποιοδήποτε συνδυασμό θέλουμε. Καρτεσιανές συντεταγμένες

6 Γεωμετρικές κατασκευές

Μαθηματική Εισαγωγή Συναρτήσεις

Σύστημα Πλεονάσματος. Αναπαράσταση Πραγματικών Αριθμών. Αριθμητικές Πράξεις σε Αριθμούς Κινητής Υποδιαστολής

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

Γραμμή. Σημείο. κεφαλαίο γράμμα. Κάθε γραμμή. αποτελείται. Ευθεία κι αν αρχή και χωρίς. τέλος! x x

Μαθηματική Εισαγωγή Συναρτήσεις

Κεφάλαιο 4: Επιλογή σημείου παραγωγής

Transcript:

ΚΕΦΑΛΑΙΟ 5: ΑΠΕΙΚΟΝΙΣΗ ΚΑΙ ΑΠΟΚΟΠΗ Ένα γεωμετρικό μοντέλο είναι μια αριθμητική περιγραφή ενός αντικειμένου, που περιλαμβάνει το μέγεθος, το σχήμα, καθώς και άλλες ιδιότητές του. Η περιγραφή του μοντέλου επιτυγχάνεται σε ένα (άπειρο) καρτεσιανό σύστημα συντεταγμένων, όπου οι μονάδες (μεγέθους, κλπ) μπορούν να συσχετιστούν με τιμές των συντεταγμένων και. Προκειμένου να δημιουργήσουμε τη γραφική εικόνα ενός γεωμετρικού μοντέλου σε μια επιμέρους συσκευή οθόνης, απαιτείται μια προσέγγιση που περιλαμβάνει δύο βήματα: Βήμα 1 ο : Το μοντέλο μετατρέπεται σε ένα σύστημα συντεταγμένων που ταιριάζει στη συγκεκριμένη οθόνη. Βήμα 2 ο : Λαμβάνονται οι αποφάσεις σχετικά με το τμήμα του μοντέλου περιγραφής του αντικειμένου που θα εμφανιστεί, καθώς και τη θέση εμφάνισής του πάνω στην οθόνη. 5.1 Μετασχηματισμός συντεταγμένων Για να εκτελέσουμε το πρώτο βήμα (της προσέγγισης που αναφέραμε παραπάνω), χρησιμοποιούμε, αρχικά, δύο συστήματα συντεταγμένων: 1. Το Παγκόσμιο Σύστημα Συντεταγμένων (World Coordinate Sstem - W), στο οποίο αναφέρονται οι ακριβείς συντεταγμένες ενός αντικειμένου, όπως φαίνεται στην εικόνα 5.1. 2. Το Σύστημα Συντεταγμένων της Συσκευής (Device Coordinate Sstem - U), που αντιστοιχεί στην επιμέρους συσκευή που χρησιμοποιείται και σχετίζεται με την επιφάνειά της, 1

world world Εικόνα 5.1 Παγκόσμιο σύστημα συντεταγμένων Ο μετασχηματισμός από τις παγκόσμιες συντεταγμένες στις συντεταγμένες συσκευής εξαρτάται από τον τύπο της οθόνης που χρησιμοποιείται. Γι αυτό το λόγο, ένα πρόγραμμα εφαρμογής που έχει αναπτυχθεί για ένα συγκεκριμένο σύστημα υπολογιστή μπορεί να μη δουλεύει σε ένα άλλο, εκτός αν χρησιμοποιηθεί ένας κατάλληλος οδηγός που θα μετασχηματίζει τα γεωμετρικά δεδομένα, αποτυπώνοντας το μοντέλο στις συγκεκριμένες συντεταγμένες της κάθε συσκευής. Αυτή η διαφοροποίηση προκαλεί δυσκολίες στη χρήση των διαφόρων εφαρμογών λογισμικού λόγω της μεταφερσιμότητας που θα πρέπει να υποστηρίζεται. Σε μια προσπάθεια να παραβλεφθούν οι λεπτομέρειες που σχετίζονται με την κάθε συσκευή, έχει αναπτυχθεί μια ομοιόμορφη διεπιφάνεια (interface) για εφαρμογές μέσω μιας συσκευής - ανεξάρτητης οδηγού και η οποία περιγράφεται σε ένα κατάλληλο σύστημα συντεταγμένων, όπως οι κανονικοποιημένες συντεταγμένες. Οι κανονικοποιημένες συντεταγμένες συσκευής, (Normalized Device Coordinates - N) είναι ορισμένες για μια ιδανική συσκευή γραφικών. Η επιφάνεια της συσκευής θεωρείται ότι αντιστοιχεί σε ένα μοναδιαίο τετράγωνο, που η αρχή του βρίσκεται στη χαμηλότερη αριστερή γωνία, όπως φαίνεται στην εικόνα 5.2. 2

Y 1 0 1 X Εικόνα 5.2 To μοναδιαίο τετράγωνο Η διαδικασία μετασχηματισμού των συντεταγμένων εκτελείται ως εξής: 1. Αρχικά, το μοντέλο αποτυπώνεται σε παγκόσμιες συντεταγμένες (W). 2. Κατόπιν, το μοντέλο υφίσταται έναν μετασχηματισμό, που μετατρέπει τις συντεταγμένες του από τον χώρο του W στο χώρο του N. Με αυτόν τον τρόπο, το μοντέλο μπορεί να εμφανισθεί σε οποιοδήποτε αριθμό συσκευών παρουσίασης, γιατί ο χώρος του N είναι ανεξάρτητος από τον τύπο της συσκευής που χρησιμοποιείται. 3. Τέλος, εφαρμόζεται ένας νέος μετασχηματισμός ως προς τις συντεταγμένες U της επιμέρους συσκευής, ο οποίος αντανακλά τους περιορισμούς που αυτή εισάγει. Η αναπαράσταση τώρα εξαρτάται από το υλικό (hardware). 5.2 Εμφάνιση με αποκοπή Κατά τη διάρκεια της διαδικασίας μετασχηματισμού των συντεταγμένων, το πρόγραμμα εφαρμογής πιθανώς θα πρέπει να εμφανίσει μόνο ένα τμήμα του μοντέλου περιγραφής του αντικειμένου (μέρος μιας εικόνας). Στην περίπτωση αυτή, για να αφαιρέσουμε τα μέρη που δεν πρέπει να εμφανιστούν, εφαρμόζουμε μια διαδικασία «κοψίματος», που είναι γνωστή ως αποκοπή (clipping). 3

5.2.1 Απεικόνιση window-to-viewport Στην προηγούμενη ενότητα εξηγήσαμε ότι πρέπει να καθορίζουμε ποιά μέρη ενός αντικειμένου θα εμφανιστούν στην οθόνη και πού θα εμφανιστούν. Αυτές οι αποφάσεις λαμβάνονται επιλέγοντας 2 ορθογώνιες περιοχές: στo W, που είναι το παράθυρο (window), στo N, που είναι η περιοχή εμφάνισης (viewport). Window Viewport X Screen Συντεταγμένες συσκευής Εικόνα 5.3 Καθορισμός παραθύρου και viewport Ορίζεται ως: ένα παράθυρο (window) μια ορθογώνια περιοχή του χώρου των παγκόσμιων συντεταγμένων μια περιοχή εμφάνισης (viewport) μια ορθογώνια περιοχή του χώρου των κανονικοποιημένων συντεταγμένων συσκευής. 4

Η εικόνα 5.3 δείχνει παρaδείγματα και των δύο. Η κανονικοποίηση ή ο μετασχηματισμός εμφάνισης που φαίνεται στην εικόνα, που επίσης αναφέρεται και ως window-toviewport-mapping (απεικόνιση), σχεδιάζει το περιεχόμενο του παραθύρου στο viewport. Είναι φανερό ότι στη συνέχεια η σχεδίαση μεταφέρεται στην επιμέρους συσκευή μέσω ενός μετασχηματισμού ως προς τα συγκεκριμένα χαρακτηριστικά της. Παράθυρο (, ) w ma w ma P, ( ) w w (, ) w min w min Φυσικές Συντεταγμένες (1, 1) P (, ) N N (0, 0) Κανονικοποιημένες Συντεταγμένες Τμήμα οθόνης (, ) u ma u ma P (, ) u u (, ) u min u min Συντεταγμένες συσκευής Εικόνα 5.4 Μετασχηματισμός απεικόνισης 5

Μια window-to-viewport-απεικόνιση μπορεί να εκφραστεί με τις ακόλουθες σχέσεις, που βασίζονται στα στοιχεία που αντιστοιχούν στην εικόνα 5.4: u uma umin umin = w wma wmin wmin (5.1) και u uma umin umin = w wma wmin wmin (5.2) Έτσι ώστε ( ) u ma u min u = w wmin + u min wma (5.3) wmin + u ma u min u = ( w w min ) u min w ma (5.4) w min Οι όροι: S = uma wma umin wmin και S = uma wma umin wmin (5.5) είναι σταθεροί για όλα τα σημεία που έχουν σχεδιασθεί και είναι απλοί παραγόντες κλίμακας συντεταγμένων και, ενώ επιπλέον ισχύει ότι S = S. Αν S S τότε η εικόνα υφίσταται παραμορφώσεις, οπότε σε αυτήν την περίπτωση χρησιμοποιούμε τον λόγο εικόνας (aspect ratio) AR. Για το (ορθογώνιο) παράθυρο ή το viewport, που αναφέραμε προηγουμένως, ο λόγος εικόνας (του καθενός) δίνεται από το λόγο του πλάτους προς το ύψος AR = ma ma min min (5.6) 6

Αν ο λόγος εικόνας AR και των δύο (δηλαδή, του παραθύρου και του viewport) είναι ίδιος, τότε S = S και δεν υπάρχει παραμόρφωση της εικόνας. Ειδική φροντίδα πρέπει να δοθεί στην περίπτωση των κυκλικών παραστάσεων, καθώς οι κύκλοι μπορεί να εμφανιστούν ως ελλείψεις στην οθόνη. Οι εξισώσεις 5.3 και 5.4 μπορούν να ξαναγραφούν ως εξής: u u = ( w = ( w wmin wmin ) s ) s + + u min u min ή με μορφή πινάκων: [ u u 1] = [ w w 1] s 0 0 0 s 0 ( s wmin + u min ) ( s wmin + u min ) 1 Στην εικόνα 5.5 παρουσιάζονται παραδείγματα απεικονίσεων window-to-viewport για διαφορετικές συνθήκες. Παρατηρείστε ότι οι παράμετροι μέσα στις παρενθέσεις είναι (X min, X ma, Y min, Y ma ). Το αποτέλεσμα της μεγέθυνσης που φαίνεται στην εικόνα 5.5δ έχει επιτευχθεί με τη σχεδίαση ενός μικρότερου παραθύρου σε ολόκληρο το viewport δίνοντας έτσι την εντύπωση ότι ο χρήστης βρίσκεται πιο κοντά στο αντικείμενο. 7

window viewport Window(-2.0,2.0,-2.0,2.0) Viewport (0.0,1.0,0.0,1.0) (α) Window(-2.0,2.0,-2.0,2.0) Viewport (0.0,0.5,0.0,0.5) (β) Window(-2.0,2.0,-2.0,2.0) Viewport (0.25,0.75,0.0,1.0) (γ) Window(0..0,2.0,0.0,2.0) Viewport (0.0,1.0,0.0,1.0) (δ) Εικόνα 5.5 Παραδείγματα απεικονίσεων window to viewport 8

Παράδειγμα 5.1 Βρες τον πίνακα μετασχηματισμού που θα σχεδιάζει σημεία που περιέχονται σε ένα παράθυρο του οποίου η χαμηλότερη αριστερή γωνία είναι στο (2,2) και η ψηλότερη δεξιά γωνία είναι στο (6,5) σε ένα κανονικοποιημένο viewport που έχει χαμηλότερη αριστερή γωνία στο (1/2,1/2) και υψηλότερη δεξιά γωνία στο (1,1). Λύση Οι παράμετροι του window/vieport είναι wmin = 2 umin = ½ wma = 6 uma = 1 wmin = 2 umin = ½ wma = 5 uma = 1 Βασισμένοι στην εξίσωση 5.3 και 5.4, 1 1 S 2 = = 6 2 1 1 S = 2 = 5 2 1 8 1 6 Άρα, ο πίνακας μετασχηματισμού είναι: [ M map ] 1 8 = 0 1 4 0 1 6 1 6 0 0 1 5.2.2 ισδιάστατη αποκοπή Όπως φαίνεται στην εικόνα 5.5 μπορεί να υπάρξουν φορές που μόνο ένα τμήμα του συνολικού μοντέλου πρόκειται να εμφανισθεί. Σε αυτήν την περίπτωση το παράθυρο χρησιμοποιείται για να συνδέσει oρατά μέρη ενός χώρου παγκόσμιων συντεταγμένων, γεγονός που μοιάζει αρκετά με την περικοπή τμήματος μιας εικόνας από ένα περιοδικό. Αυτή η διαδικασία είναι γνωστή ως αποκοπή (clipping). Μπορεί να θεωρηθεί σαν ένας γεωμετρικός μετασχηματισμός και περιλαμβάνει το κόψιμο όλων των γραμμών ή των 9

καμπύλων που τέμνουν τα όρια του παραθύρου. Στην οθόνη παρουσιάζονται μόνο τμήματα της κάθε οντότητας. Γι αυτό το λόγο, η αποκοπή χωρίζει κάθε στοιχείο της εικόνας σε ορατά και μη ορατά τμήματα και απορρίπτει τα τμήματα που δεν είναι ορατά. Αν η αποκοπή δεν εφαρμοστεί, το τμήμα της εικόνας που πέφτει έξω από τα όρια εμφάνισης μπορεί να εμφανιστεί στην απέναντι πλευρά, όπως φαίνεται στην εικόνα 5.6, που πρέπει να αποφεύγεται. Οι αλγόριθμοι που χρησιμοποιούνται στην διαδικασία clipping βασίζονται ολοκληρωτικά στο σχήμα του παραθύρου. Για εκπαιδευτικούς λόγους, σε αυτό το κεφάλαιο θα θεωρείται ότι το παράθυρο είναι ορθογώνιο με πλευρές παράλληλες στους βασικούς άξονες. Εικόνα 5.5 Επιπτώσεις αποκοπής 5.2.2.1 Αποκοπή σημείου Η αποκοπή σημείου μπορεί εύκολα να επιτευχθεί ελέγχοντας τις συντεταγμένες του σημείου έναντι των ορίων του παραθύρου. Αν το παράθυρο έχει ορισθεί με τις 4 γωνίες: αριστερή (L), δεξιά (R), επάνω(t) και κάτω (Β), όπως φαίνεται στην εικόνα 5.7, τότε το σημείο Ρ(,) θα είναι ορατό αν όλες οι ακόλουθες ανισότητες ικανοποιούνται: L R (5.7) B T (5.8) Αν δεν ισχύει μια από τις παραπάνω ανισότητες, τότε το σημείο δεν θα εμφανιστεί. 10

Παρόλο που αυτή είναι μια απλή απόφαση, είναι άσκοπο να εξετάσουμε (για τους σκοπούς της εμφάνισης) ένα αντικείμενο ως προς όλα τα σημεία του. Υπάρχουν περισσότερο αποδοτικοί αλγόριθμοι που παίρνουν υπόψη τους την ύπαρξη γραμμών και πολυγώνων στη δομή του αντικειμένου. (X ) R, r (X ) L, R Εικόνα 5.7 Όρια παραθύρου 5.2.2.2 Αποκοπή γραμμής Οι αλγόριθμοι που χρησιμοποιούνται για αποκοπή γραμμής μπορούν να χωρισθούν σε δύο μέρη: 1. Έλεγχος όλων των ευθύγραμμων τμημάτων και εντοπισμός αυτών που τέμνουν τα όρια του παραθύρου. 2. Εφαρμογή αποκοπής στα ευθύγραμμα τμήματα που έχουν εντοπισθεί στο βήμα 1, με υπολογισμό των τομών τους με τα όρια του παραθύρου. 11

N M D C (X Y) R, r G H A B E F K J (XL, R) I L Εικόνα 5.8 Τοποθέτηση διαφόρων ευθύγραμμων τμημάτων σε σχέση με τα όρια του παραθύρου Το βήμα 1 μπορεί να επιτευχθεί χωρίζοντας όλα τα ευθύγραμμα τμήματα στις ακόλουθες κατηγορίες. 1. Ορατά. Και τα δύο άκρα του τμήματος ανήκουν στα όρια του παραθύρου. Το ευθύγραμμο τμήμα ΑΒ στην εικόνα 5.7 βρίσκεται σ αυτήν την κατηγορία. Αυτή η γραμμή εμφανίζεται χωρίς περαιτέρω ελέγχους. 2. Μη ορατά. Αν και τα δύο άκρα είναι έξω από τα όρια του παραθύρου, τότε το ευθύγραμμο τμήμα έχει απομακρυνθεί από την οθόνη. Ένα ευθύγραμμο τμήμα από το Ρ 1 ( 1, 1 ) στο Ρ 2 ( 2, 2 ) δεν είναι ορατό, αν μία από τις ακόλουθες ανισότητες ισχύει: 1 και 2 < L 1 και 2 > R 1 και 2 < B 1 και 2 > Τ 12

Τα ευθύγραμμα τμήματα CD και EF της εικόνας 5.7 ικανοποιούν μία από αυτές τις ανισότητες. 3. Ακαθόριστα. Το ευθύγραμμο τμήμα που δεν ανήκει σε καμία από τις προηγούμενες κατηγορίες και θα πρέπει να ληφθεί υπόψη στην αποκοπή. Τα τμήματα GH, IJ και KL της εικόνας 5.8 είναι παραδείγματα μιας τέτοιας περίπτωσης. 5.2.2.2.1 Αλγόριθμος Gohen-Sutherland Ο αλγόριθμος του Gohen-Sutherland είναι μια απλή και αποδοτική διαδικασία για να καθορίζουμε την κατηγορία στην οποία εμπίπτει ένα συγκεκριμένο ευθύγραμμο τμήμα ως προς τα όρια του ορθογωνίου παραθύρου. Ο αλγόριθμος περιλαμβάνει δύο στάδια: 1001 1000 1010 0001 (0000) 0010 Wind ow 0101 0100 0110 Εικόνα 5.9 Κώδικες για τις γειτονικές περιοχές του παραθύρου 1. Εκχωρείται ένας κώδικας 4-bit σε κάθε ένα από τα άκρα του ευθύγραμμου τμήματος που εξετάζεται, με βάση τις 9 περιοχές που περιβάλλουν το παράθυρο, όπως φαίνεται στην εικόνα 5.9. Κάθε bit αυτού του κώδικα τίθεται σε 1 (αληθές) ή 0 (ψευδές), αρχίζοντας από το αριστερότερο, ως εξής: Bit1 = 1, όταν το άκρο του ευθύγραμμου τμήματος βρίσκεται επάνω από το παράθυρο. 13

Βit2 = 1, όταν το άκρο του ευθύγραμμου τμήματος βρίσκεται κάτω από το παράθυρο. Bit3 = 1, όταν το άκρο του ευθύγραμμου τμήματος βρίσκεται στα δεξιά του παραθύρου. Βit4 = 1, όταν το άκρο του τμήματος βρίσκεται στα αριστερά του παραθύρου. Είναι προφανές ότι αν ο κώδικας 4-bit είναι (0000), το άκρο βρίσκεται μέσα στο παράθυρο ή πάνω από τα όριά του. Όλοι οι κώδικες 4-bit εκχωρούνται στα άκρα των ευθύγραμμων τμημάτων συγκρίνοντας κάθε συντεταγμένη των άκρων με τις συντεταγμένες των ορίων του παραθύρου. 2. Εξετάζονται τα άκρα του ευθύγραμμου τμήματος συγκρίνοντας το ένα με το άλλο: Αν και στα δύο άκρα έχει τεθεί το ίδιο bit σε 1 (αληθές), τότε το τμήμα είναι μη ορατό. Ένα τέτοιο παράδειγμα είναι το ευθύγραμμο τμήμα EF με κωδικούς άκρων (1010) και (0010), που είναι τοποθετημένο στα δεξιά του παραθύρου, όπως φαίνεται στην εικόνα 5.10. Αν και οι δύο κωδικοί των άκρων είναι (0000), τότε το ευθύγραμμο τμήμα είναι μέσα στο παράθυρο. Ένα τμήμα είναι ακαθόριστο όταν έχουν τεθεί σε 1 τα bits διαφορετικών περιοχών, όπως, για παράδειγμα, τα ευθύγραμμα τμήματα ΑΒ και CD της εικόνας 5.10 με κωδικούς άκρων (1000) και (0010). Αυτά τα τμήματα είναι πιθανόν να τέμνουν τα όρια του παραθύρου. Η γραμμή ΑΒ είναι μη ορατή, ενώ η γραμμή CD είναι μερικώς ορατή και πρέπει να αποκοπεί. 14

A 1000 1010 C E D B F (0000) 0010 Wind ow Εικόνα 5.10 Παράδειγμα χρήσης κωδικών για τον έλεγχο της ορατότητας μίας γραμμής Όταν εξετάζουμε περιπτώσεις, όπως αυτές που περιγράφηκαν προηγουμένως, χρησιμοποιούμε μια ειδική λογική που ονομάζεται δυαδική λογική AND. Η λογική αυτή προϋποθέτει ότι όταν εξετάζουμε bit προς bit τους κώδικες των άκρων, ισχύουν τα ακόλουθα: πρώτο άκρο δεύτερο άκρο Λογικό AND 0 και 0 ψευδής 0 0 και 1 ψευδής 0 1 και 0 ψευδής 0 1 και 1 αληθής 1 Βασιζόμενοι σ αυτή τη λογική, η ορατότητα του τμήματος καθορίζεται ως εξής: Ορατό Και οι δύο κωδικοί των άκρων είναι (0000) Μη ορατό Το λογικό AND των κωδικών των άκρων δεν είναι (0000) Ακαθόριστο Το λογικό AND των κωδικών των άκρων είναι (0000), αλλά κανένας κωδικός άκρου δεν είναι (0000) 15

Γραμμή Κωδικοί άκρων Λογικοί AND Ορατότητα 1 1000 1001 1000 Μη ορατό 2 0101 0100 0100 Μη ορατό 3 0000 0000 0000 Ορατό 4 1001 0110 0000 Ακαθόριστο (προς έλεγχο) 5 0001 1000 0000 Ακαθόριστο (προς έλεγχο) Πίνακας 5.1. Παράδειγμα υπολογισμών Χρησιμοποιώντας το λογικό AND, εξετάζονται όλα τα άκρα των ευθυγράμμων τμημάτων με αυτόν τον τρόπο. Στον πίνακα 5.1 παρατίθενται τέτοια παραδείγματα υπολογισμών. Έτσι, αν το λογικό AND είναι (0000), η γραμμή θα είναι ορατή μόνο αν και τα δύο άκρα έχουν κωδικό (0000). ιαφορετικά, είναι πιθανόν να υπάρξει μερική ορατότητα. Σε αυτήν την περίπτωση, η εξέταση των άκρων περνάει σε μια άλλη διαδικασία που καθορίζει τα σημεία τομής με τα όρια του παραθύρου. 5.2.2.2.2 Υπολογισμοί τομών και αποκοπή Ένας από τους απλούστερους τρόπους εύρεσης του σημείου τομής ενός ευθύγραμμου τμήματος και του ορίου του παραθύρου, είναι να λύσουμε τις εξισώσεις που αναπαριστούν και τη γραμμή και το όριο. Για ένα ορθογώνιο παράθυρο που είναι ευθυγραμμισμένο με τους άξονες συντεταγμένων, δεν χρειάζεται να εξετάσουμε και τις τέσσερις πλευρές. Αν προσδιορίσουμε το bit του κώδικα του κάθε άκρου που δεν είναι μηδέν, τότε το όριο (πλευρά) του παραθύρου όπου πιθανώς θα υπάρξει η τομή βρίσκεται ως εξής: για bit1 = 1 πιθανή τομή με = T για bit2 = 1 πιθανή τομή με = B για bit3 = 1 πιθανή τομή με = B για bit4 = 1 πιθανή τομή με = L 16

Η εικόνα 5.11 δείχνει τη διαδικασία για δύο ευθύγραμμα τμήματα. Η τομή βρίσκεται καθορίζοντας τις παραμετρικές εξισώσεις για το ευθύγραμμο τμήμα και το όριο του παραθύρου. C (1000) Τομή με = g Y= γ Τομή με = R D (0010) A(0000) Y= β B(0100) X= L X= X R Τομή με = B Εικόνα 5.11 Απομόνωση των κατάλληλων ορίων του παραθύρου για τους υπολογισμούς των τομών Για ένα ευθύγραμμο τμήμα που ενώνει τα Ρ 1 ( 1, 1 ) και Ρ 2 ( 2, 2 ) οι εξισώσεις είναι: = 1 + t( 2-1 ) (5.10) 0 t 1 = 1 + t( 2-1 ) (5.11) Στα όρια του παραθύρου έχουμε = ορίου = σταθερά ή = ορίου = σταθερά, οπότε το σημείο τομής βρίσκεται υπολογίζοντας την τιμή του t είτε στην εξίσωση 5.10 ή 5.11 και αντικαθιστώντας το στην άλλη εξίσωση, οπότε ανάλογα υπολογίζουμε το ή το της τομής. 17

Αν προκύψει τιμή ή της τομής εκτός των ορίων του παραθύρου, τότε απορρίπτουμε την υπολογισθείσα τομή και επαναλαμβάνουμε με το επόμενο μη μηδενικό bit του κώδικα του άκρου. Παράδειγμα 5.2 Για τα όρια του ορθογωνίου παραθύρου, που δίνονται ως L =2, B =2, R =8, T =8, εξετάστε την ορατότητα των ακόλουθων τμημάτων χρησιμοποιώντας τον αλγόριθμο Gohen-Sutherland και, αν είναι απαραίτητο, αποκόψτε τα μέσα στα κατάλληλα όρια του παραθύρου. Ευθύγραμμο τμήμα AB : A(3, 10) B(6, 12) Ευθύγραμμο τμήμα CD : C(4, 1) D(10, 6) Λύση Βήμα 1. Καθορισμός των κωδικών άκρων των δύο ευθύγραμμων τμημάτων. Ευθύγραμμο τμήμα AB A(3, 10) (1000) B(6, 12) (1000) Λογικό AND (1000) ΜΗ ΟΡΑΤΟ Ευθύγραμμο τμήμα CD C(4,1) (0100) D(10, 6) (0010) Λογικό AND (0000) ΑΚΑΘΟΡΙΣΤΟ Βήμα 2. Αποκοπή του ευθύγραμμου τμήματος CD. (a) Το άκρο C έχει κωδικό (0100). Αφού το bit 2 δεν είναι μηδέν, η τομή θα πρέπει να βρεθεί στο όριο = B = 2. Η παραμετρική εξίσωση της ευθύγραμμου τμήματος CD είναι: 18

= 4 + t(10-4) = 4 + 6t (1) = 1 + t(6-1) = 1 + 5t (2) Αντικαθιστώντας με = 2 στην εξίσωση (2), η τιμή του t γίνεται: t = 1/5 = 0,2 Οπότε: = 4 + 1/5(6) = 5,2 Άρα, το σημείο τομής είναι: I 1 (5,2, 2) (b) Το άκρο D έχει κωδικό (0010). Αφού το bit bit 3 δεν είναι μηδέν, η τομή θα πρέπει να βρεθεί στο όριο = R = 8. Αντικαθιστώντας με = 8 στην εξίσωση (1) έχουμε: 8 = 4 + 6t t = 4/6 = 0,667 και = 1 + 5(2/3) =(3+10)/3 = 4,33 Άρα, το σημείο τομής είναι: Ι 2 (8, 4,33) Αφού και τα δύο Ι 1 και Ι 2 βρίσκονται στα όρια του παραθύρου, οι κωδικοί των άκρων είναι (0000) και (0000) αντίστοιχα. Για αυτό το λόγο, το ευθύγραμμο τμήμα ανάμεσα στα 2 σημεία τομής είναι ορατό. 19

5.2.2.2.3 Υποδιαίρεση μεσαίων σημείων Η υποδιαίρεση μεσαίων σημείων είναι μία χρήσιμη μέθοδος της αριθμητικής ανάλυσης, που μπορεί να χρησιμοποιηθεί εναλλακτικά για την εύρεση του σημείου τομής ανάμεσα στο ευθύγραμμο τμήμα και στα όρια του παραθύρου. Το ευθύγραμμο τμήμα χωρίζεται στο μέσον του και τα δύο τμήματα που προκύπτουν εξετάζονται για ορατότητα και πιθανή αποκοπή. Αν δεν είναι πλήρως ορατό ή μη ορατό, το ευθύγραμμο τμήμα διχοτομείται πάλι και η διαδικασία συνεχίζεται μέχρι η τομή με το όριο του παραθύρου να βρεθεί μέσα στα καθορισμένα πλαίσια ανοχής. Η εικόνα 5.12 δίνει ένα παράδειγμα αυτής της διαδικασίας. Αν τα άκρα του ευθύγραμμου τμήματος είναι Ρ 1 ( 1, 1 ) και P 2 ( 2, 2 ), κάθε μέσο P m ( m, m ) υπολογίζεται με την ακόλουθη έκφραση: m = ( 1 + 2 )/2 m = ( 1 + 2 )/2 (5.12) Η υποδιαίρεση μεσαίων σημείων μπορεί να υλοποιηθεί αποτελεσματικά με hardware, γιατί η διαίρεση με το 2 επιτυγχάνεται με μια απλή μετατόπιση (shift) ενός bit προς τα δεξιά. Για παράδειγμα, το (0100) αποτελεί τη δυαδική αναπαράσταση με 4 bit του αριθμού τέσσερα (4). Μια μετατόπιση προς τα δεξιά δίνει (0010), που παριστάνει τον αριθμό δύο (2). Όταν υλοποιείται με hardware, η διαδικασία υποδιαίρεσης μεσαίων σημείων περιλαμβάνει μόνον ακέραιες τιμές. P 1 Pm 1 Pm 2 P 2 Τομή Εικόνα 5.12 Υποδιαίρεση μεσαίου σημείου 20

Παράδειγμα 5.3 Έστω ένα παράθυρο που ορίζεται από τις συντεταγμένες χαμηλότερης αριστερής γωνίας (2,2) και υψηλότερης δεξιάς γωνίας (8,6). Ένα ευθύγραμμο τμήμα, από το άκρο Α(4, 3) μέχρι το άκρο Β(10, 5), πρέπει να αποκοπεί ως προς το παράθυρο αυτό. Βρείτε τους κωδικούς άκρων της γραμμής και το λογικό AND της τομής τους. Αν χρειαστεί υπολογίστε τα σημεία τομής της γραμμής με τα όρια του παραθύρου χρησιμοποιώντας την μέθοδο υποδιαίρεσης μεσαίων σημείων. Λύση Βάσει των συντεταγμένων των ορίων του παραθύρου, οι κωδικοί άκρων των γραμμών είναι : Α (0000) Β (0010) Το λογικό AND της τομής τους είναι (0000). Άρα η γραμμή πρέπει να ελεγχθεί για αποκοπή. Ο ακόλουθος πίνακας 5.2 εφαρμόζει τη μέθοδο της υποδιαίρεσης μεσαίων σημείων. Όταν είναι διχοτομημένο το ευθύγραμμο τμήμα, εξετάζονται και τα δύο κομμάτια ως προς τα όρια του παραθύρου για περαιτέρω πιθανή υποδιαίρεση. 21

Μέσο Νέο τμήμα 1 (7, 4) (7, 4) (10, 5) 2 (8.5, 4.5) (7, 4) (8.5, 4.5) 3 (7.75, 4.25) (7.75, 4.25) (8.5, 4.5) 4 (8.13, 4.38) (7.75, 4.25) (8.13, 4.38) 5 (7.94, 4.31) (7.94, 4.31) (8.13, 4.38) 6 (8.03, 4.34) (7.94, 4.31) (8.03, 4.34) 7 (7.99, 4.33) Πίνακας 5.2. Παράδειγμα εφαρμογής της μεθόδου υποδιαίρεσης μεσαίων σημείων Εφόσον η συντεταγμένη, στο όριο του παραθύρου, είναι ίση με 8, η τομή μπορεί να προσεγγισθεί με την τιμή (8, 4.33). 5.2.2.3 Σύγκριση των μεθόδων Αποκοπής Γραμμής. Το μέρος της διαδικασίας αποκοπής που παίρνει πιο πολύ υπολογιστικό χρόνο είναι ο υπολογισμός της τομής με τα όρια του παραθύρου. Ο αλγόριθμος του Gohen- Sutherland μειώνει αυτούς τους υπολογισμούς, απορρίπτοντας πρώτα τις γραμμές, που μπορεί να είναι ξεκάθαρα αποδεκτές ή μη αποδεκτές. Κατόπιν, βρίσκεται η τομή με τα όρια του παραθύρου και χρησιμοποιείται για να διασπάσει την αρχική γραμμή σε δύο καινούρια τμήματα που ελέγχονται ξανά για πιθανή ξεκάθαρη αποδοχή ή απόρριψη. Η διαδικασία συνεχίζεται μέχρι να εξετασθούν όλα τα ευθύγραμμα τμήματα, αρχικά και καινούρια. Η υποδιαίρεση μεσαίων σημείων είναι μια ειδική περίπτωση του αλγόριθμου Gohen- Sutherland, όπου ο υπολογισμός της τομής δεν γίνεται με λύση εξίσωσης αλλά με μια μέθοδο προσέγγισης του μέσου. Αυτή η μέθοδος είναι ιδιαίτερα κατάλληλη για υλοποίηση με hardware, επειδή είναι πολύ γρήγορη και αποτελεσματική. 22

Επίσης έχουν αναπτυχθεί και άλλοι αλγόριθμοι για αποκοπή γραμμής, όπως αυτοί των Crus-Beck και των Liang-Barski. 5.2.2.4 Αποκοπή κειμένου Υπάρχουν τρεις διαφορετικές δυνατότητες αποκοπής κειμένου, που αναφέρονται ενδεικτικά στη συνέχεια: 1. Τα γράμματα θεωρούνται εικόνες και στη συνέχεια μπορούν να αποκοπούν. Κ Ε Ι Μ Ε Ν Ο Α Π Ο Κ Ο Π Η Σ 2. Το κείμενο ολόκληρο θεωρείται σαν μια μονάδα και ορίζεται ένα ορθογώνιο που το περιβάλλει. Όταν το περιβάλλον ορθογώνιο περιέχεται μέσα στο παράθυρο, το κείμενο εμφανίζεται, αλλιώς όχι. Κ Ε Ι Μ Ε Ν Ο Α Π Ο Κ Ο Π Η Σ 23

3. Κάθε γράμμα θεωρείται σαν μια μονάδα και ορίζεται ένα ορθογώνιο που το περιβάλλει. Ένα γράμμα εμφανίζεται όταν το ορθογώνιό του είναι πλήρως ορατό, αλλιώς αποκόπτεται. Κ Ε Ι Μ Ε Ν Ο Α Π Ο Κ Ο Π Η Σ 24