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

Σχετικά έγγραφα
Αλγόριθµοι Παράστασης Βασικών Σχηµάτων

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

Αλγόριθμοι παράστασης βασικών σχημάτων σε πλεγματικές οθόνες

Διαλέξεις #05 & #06. Διδάσκων: Φοίβος Μυλωνάς. Γραφικά με υπολογιστές. Αλγόριθμος Σχεδίασης Κύκλου Αλγόριθμος Σχεδίασης Έλλειψης

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

Αλγόριθµοι Παράστασης Βασικών Σχηµάτων

Αλγόριθµοι Παράστασης Βασικών Σχηµάτων

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

Γραφικά Υπολογιστών. Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Ανατολικής Μακεδονίας και Θράκης. Γραφικά Υπολογιστών ΣΤ Εξάμηνο. Δρ Κωνσταντίνος Δεμερτζής

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

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

Γραφικά με Η/Υ Αλγ λ ό γ ρ ό ιθ ρ μοι κύκλου & έλλειψης

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

Έγχρωµο και Ασπρόµαυρο Φως

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

ΕΠΙΤΡΟΠΗ ΔΙΑΓΩΝΙΣΜΩΝ 33 η Ελληνική Μαθηματική Ολυμπιάδα "Ο Αρχιμήδης" 27 Φεβρουαρίου 2016

7 ο Εργαστήριο Θόρυβος 2Δ, Μετακίνηση, Περιστροφή

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

ΕΠΙΤΡΟΠΗ ΔΙΑΓΩΝΙΣΜΩΝ 33 η Ελληνική Μαθηματική Ολυμπιάδα "Ο Αρχιμήδης" 27 Φεβρουαρίου 2016

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

3 ο Εργαστήριο Μεταβλητές, Τελεστές

ΣΥΝΑΡΤΗΣΕΩΝ. f3 x = και

Η συνάρτηση y = αχ 2 + βχ + γ

ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ ΛΥΜΕΝΕΣ & ΑΛΥΤΕΣ ΑΣΚΗΣΕΙΣ. Επιμέλεια: Γ. Π. Βαξεβάνης (Γ. Π. Β.

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

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

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

ΓΡΑΦΙΚΕΣ ΠΑΡΑΣΤΑΣΕΙΣ ΒΑΣΙΚΩΝ ΣΥΝΑΡΤΗΣΕΩΝ

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

ΣΧΕΔΙΑΣΗ ΜΗΧΑΝΟΛΟΓΙΚΩΝ ΚΑΤΑΣΚΕΥΩΝ ΜΕ Η/Υ (Computer Aided Design)

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

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

Γραφικά Υπολογιστών: Αλγόριθμοι Σχεδίασης Γραμμών

MAΘΗΜΑΤΙΚΑ. κριτήρια αξιολόγησης B ΓΥΜΝΑΣΙΟΥ. Πέτρος Μάρκος

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

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

ΜΑΘΗΜΑΤΙΚΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ. Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Παρατηρήσεις για τη χρήση ενός κυκλικού διαγράμματος

Βασικές Γνώσεις Μαθηματικών Α - Β Λυκείου

Ενδεικτική πολυ-εργασία 1 - εφαρμογή στην υπολογιστική όραση

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

ΚΕΦΑΛΑΙΟ 2: ΑΛΓΟΡΙΘΜΟΙ ΕΥΘΕΙΑΣ ΚΥΚΛΟΥ -ΈΛΛΕΙΨΗΣ

Μάθημα 10 ο. Περιγραφή Σχήματος ΤΜΗΥΠ / ΕΕΣΤ 1

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών Αριθμητικά σύνολα Ιδιότητες Περισσότερες ιδιότητες...

Γραφικά Υπολογιστών. Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Ανατολικής Μακεδονίας και Θράκης. Γραφικά Υπολογιστών ΣΤ Εξάμηνο. Δρ Κωνσταντίνος Δεμερτζής

B ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΜΑΘΗΜΑΤΙΚΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ. Ημερομηνία: Τετάρτη 12 Απριλίου 2017 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

2 η δεκάδα θεµάτων επανάληψης

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

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

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

Εργασία 2. Παράδοση 20/1/08 Οι ασκήσεις είναι βαθμολογικά ισοδύναμες

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

Ο παρακάτω πίνακας τιμών θα βοηθήσει να γίνει πιο κατανοητή η λειτουργία των εντολών της συγκεκριμένης άσκησης. Α/Α Εντολές Μνήμη (Μεταβλητή α) Οθόνη

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

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

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

Δύο κύριοι τρόποι παρουσίασης δεδομένων. Παράδειγμα

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

Κεφάλαιο 1 o Εξισώσεις - Ανισώσεις

ΑΛΓΟΡΙΘΜΟΙ ΕΥΘΕΙΑΣ ΚΥΚΛΟΥ - ΕΛΛΕΙΨΗΣ

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

ΑΝΑΛΥΣΗ ΙΙ- ΜΗΧΑΝΟΛΟΓΟΙ ΜΗΧΑΝΙΚΟΙ ΦΥΛΛΑΔΙΟ 1/2012

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

Μιγαδικοί Αριθμοί. Μαθηματικά Γ! Λυκείου Θετική και Τεχνολογική Κατεύθυνση. Υποδειγματικά λυμένες ασκήσεις Ασκήσεις προς λύση

ΚΕΦΑΛΑΙΟ 3 ο ΣΥΝΑΡΤΗΣΕΙΣ, ΤΡΙΓΩΝΟΜΕΤΡΙΑ( FUNCTIONS,TRIGONOMETRY)

β) Από τον νόμο του Νεύτωνα για την μεταφορική κίνηση του κέντρου μάζας έχουμε: Επομένως το κέντρο μάζας αποκτάει αρνητική επιτάχυνση σταθερού μέτρου

ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2016 ΜΑΘΗΜΑΤΙΚΑ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ 4-ΩΡΟ ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ

I.3 ΔΕΥΤΕΡΗ ΠΑΡΑΓΩΓΟΣ-ΚΥΡΤΟΤΗΤΑ

Μελέτη της συνάρτησης ψ = α χ 2

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

ΔΙΑΝΥΣΜΑΤΑ ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ ΑΡΙΘΜΟΥ ΜΕ ΔΙΑΝΥΣΜΑ. ΘΕΜΑ 2ο

Ασκήσεις Άλγεβρας. Κώστας Γλυκός ΜΑΘΗΜΑΤΙΚΟΣ. B ΓΥΜΝΑΣΙΟΥ Άλγεβρα 265 ασκήσεις και τεχνικές σε 24 σελίδες. εκδόσεις. Καλό πήξιμο

Μαθηματικά Κατεύθυνσης (Προσανατολισμού)

Θωμάς Ραϊκόφτσαλης 01

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

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

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

Ιωάννης Σ. Μιχέλης Μαθηματικός

I.3 ΔΕΥΤΕΡΗ ΠΑΡΑΓΩΓΟΣ-ΚΥΡΤΟΤΗΤΑ

ΠΑΡΑΓΡΑΦΟΣ Α.3.2 ΚΑΡΤΕΣΙΑΝΕΣ ΣΥΝΤΕΤΑΓΜΕΝΕΣ Α. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Μας δίνουν ένα σημείο Μ στο επίπεδο.για να προσδιορίσουμε την θέση του κάνουμε τα εξής :

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

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

Αρχιτεκτονική Υπολογιστών

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

ΣΧΕ ΙΟ ΜΑΘΗΜΑΤΟΣ : Μαθηµατικά Θετικής και Τεχνολογικής κατεύθυνσης : Β Ενιαίου Λυκείου

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

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

ΣΥΣΤΗΜΑΤΑ. 6.1 ΓΡΑΜΜΙΚΑ ΣΥΣΤΗΜΑΤΑ (Επαναλήψεις-Συμπληρώσεις)

II.6 ΙΣΟΣΤΑΘΜΙΚΕΣ. 1. Γραφήματα-Επιφάνειες: z= 2. Γραμμική προσέγγιση-εφαπτόμενο επίπεδο. 3. Ισοσταθμικές: f(x, y) = c

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

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

ΠΕΡΙΕΧΟΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΟΡΘΟΓΩΝΙΩΝ ΣΥΝΤΕΤΑΓΜΕΝΩΝ...23 ΑΠΟΛΥΤΗ ΤΙΜΗ. ΑΝΙΣΟΤΗΤΕΣ...15 ΚΕΦΑΛΑΙΟ 3 ΕΥΘΕΙΕΣ...32 ΚΕΦΑΛΑΙΟ 4 ΚΥΚΛΟΙ...43

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

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

Μαθηματικά Θετικής Τεχνολογικής Κατεύθυνσης Β Λυκείου

1. Η γραφική παράσταση της συνάρτησης y = 2x + β διέρχεται από το σημείο Α( 1, 2). Να βρείτε τον αριθμό β.

Στ Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1

Transcript:

5ο Μάθημα Αλγόριθμοι Σχεδίασης Βασικών Σχημάτων Γραφικα Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Ακ Έτος 2016-17

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

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

Εισαγωγή Εισαγωγή Δεδομένου ότι θέλουμε να σχεδιάσουμε P στοιχειώδη σχήματα, για ένα συγκεκριμένο καρέ και υποθέτοντας ότι κάθε στοιχειώδες σχήμα αποτελείται από p εικονοστοιχεία, η πολυπλοκότητα της σχεδίασης είναι γενικά O(Pp) Άλλα (προηγούμενα) στάδια της σωλήνωσης γραφικών (μετασχηματισμοί και περικοπή) χρησιμοποιούν μόνο τις κορυφές των στοιχειωδών σχημάτων Γενικά, η πολυπλοκότητα αυτών των προηγούμενων σταδίων είναι O(Pn), όπου n το μέσο πλήθος κορυφών από ένα στοιχειώδες σχήμα Συνήθως, p n, οπότε πρέπει να εξασφαλιστεί ότι οι αλγόριθμοι σχεδίασης είναι ιδιαίτερα αποδοτικοί

Εισαγωγή Εισαγωγή Τα εικονοστοιχεία (pixels) μιας πλεγματικής οθόνης αποτελούν ένα διδιάστατο κανονικό πλέγμα Υπάρχουν δύο τρόποι θεώρησης του πλέγματος αυτού: Κέντρα σε ημίσειες συντεταγμένες (δεξιά): φανταστικές κάθετες και οριζόντιες γραμμές Κέντρα σε ακέραιες συντεταγμένες (αριστερά): πραγματικό πλέγμα

Εισαγωγή Εισαγωγή Θα θεωρήσουμε τα κέντρα σε ακέραιες συντεταγμένες Όταν αναφερόμαστε σε ένα εικονοστοιχείο σαν σημείο, θα εννοούμε το κέντρο του Μια σημαντική έννοια της σχεδίασης είναι αυτή της σύνδεσης: Πότε είναι συνδεδεμένο ένα σχήμα που αποτελείται από εικονοστοιχεία; Για παράδειγμα, αν ένας αλγόριθμος σχεδίασης μιας καμπύλης μεταβεί από ένα εικονοστοιχείο στο διαγώνιο γείτονά του, είναι συνδεδεμένη η καμπύλη, ή υπάρχει κενό;

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

Εισαγωγή Εισαγωγή Η δημιουργία αλγορίθμων σχεδίασης για μια κλάση στοιχειωδών σχημάτων έχει δύο βασικούς στόχους: 01 επιλογή των εικονοστοιχείων που παριστάνουν ένα σχήμα με ακρίβεια 02 αποδοτικότητα Ο πρώτος στόχος είναι απαραίτητος για τη σωστή σύνδεση και συνεπάγεται ότιένας αλγόριθμος σχεδίασης: 01 επιλέγει τα εικονοστοιχεία που παριστάνουν καλύτερα το σχήμα 02 μεταβάλλει μόνο αυτά τα εικονοστοιχεία 03 μεταβάλλει τις χρωματικές τιμές αυτών των εικονοστοιχείων σωστά

Εισαγωγή Στο σημερινό μάθημα θα ασχοληθούμε με τις μαθηματικές αρχές και τους αλγορίθμους για τη σχεδίαση κοινών στοιχειωδών σχημάτων Ευθύγραμμα τμήματα, κύκλοι, γενικά πολύγωνα, τρίγωνα και κλειστές περιοχές Θα δούμε επίσης τις τεχνικές της προοπτικής διόρθωσης και της αντιταύτισης που σκοπό έχουν να βελτιώσουν την ποιότητα της σχεδίασης

Αλγόριθμοι Σχεδίασης Ευθειών Σχεδίαση Ευθείας Για να δημιουργήσουμε έναν καλό αλγόριθμο σχεδίασης ευθείας πρέπει πρώτα να καθορίσουμε ένα κριτήριο ορθότητας Γενικά δεν είναι δυνατό να επιλέξουμε εικονοστοιχεία ακριβώς πάνω στη μαθηματική ευθεία, λόγω του ότι το πλέγμα των εικονοστοιχείων έχει περιορισμένη ανάλυση Άρα θα πρέπει να κάνουμε μια προσέγγιση

Αλγόριθμοι Σχεδίασης Ευθειών Αλγόριθμοι Σχεδίασης Ευθειών Οι επιθυμητές ιδιότητες ενός αλγόριθμου σχεδίασης ευθείας είναι 01 επιλογή pixels που βρίσκονται όσο πιο κοντά γίνεται στη μαθηματική πορεία της ευθείας 02 όσο το δυνατόν σταθερό πάχος, ανεξάρτητο από μήκος/κλίση, ελάχιστο ίσο με 1 pixel 03 μη ύπαρξη κενών 04 αποδοτικότητα (οι αλγόριθμοι χρησιμοποιούνται συχνά)

Αλγόριθμοι Σχεδίασης Ευθειών Αλγόριθμος 1 Απλός αλγόριθμος, βασίζεται στην αλγεβρική εξίσωση της ευθείας Σχεδίαση ενός ευθύγραμμου τμήματος στο 1ο οκταμόριο Τα υπόλοιπα αντιμετωπίζονται με συμμετρία Για οποιοδήποτε σημείο P(x, y) ενός ευθύγραμμου τμήματος ισχύει: y = s x + b όπου: και: s = y n y 1 = y x n x 1 x b = y 1x n y n x 1 x n x 1

Αλγόριθμοι Σχεδίασης Ευθειών Αλγόριθμος 1 Με βάση τα παραπάνω, ο αλγόριθμος μπορεί να υλοποιηθεί ως: line1(x1,y1,xn,yn,colour) int x1,y1,xn,yn,colour float s,b,y; int x s=(yn-y1)/(xn-x1) b=(y1*xn-yn*x1)/(xn-x1) for (x=x1;x<=xn;x++) y=s*x+b setpixel(x,round(y),colour)

Αλγόριθμοι Σχεδίασης Ευθειών Αλγόριθμος 1 Μειονέκτημα Περιέχει πολλαπλασιασμό μέσα στην επανάληψη Λύση Μπορεί να αποφευχθεί παρατηρώντας ότι σε κάθε επανάληψη x i+1 = x i + 1 Άρα y i+1 = sx i+1 + b = sx i + b + s = y i + s Ο πολλαπλασιασμός μπορεί να αντικατασταθεί από πρόσθεση!

Αλγόριθμοι Σχεδίασης Ευθειών Αλγόριθμος 2 Αυξητικός αλγόριθμος, ο υπολογισμός στο βήμα i βασίζεται στο βήμα i 1, αποφεύγεται ο υπολογισμός του b line2 (x1,y1,xn,yn,colour) int x1,y1,xn,yn,colour float s,y; int x s=(yn-y1)/(xn-x1) y=y1 for (x=x1;x<=xn;x++) setpixel(x,round(y),colour) y=y+s

Αλγόριθμοι Σχεδίασης Ευθειών Αλγόριθμος 2 Μειονέκτημα Περιέχει πράξη στρογγύλευσης (round) Λύση Να χωριστεί η πραγματική μεταβλητή y σε ακέραιο και δεκαδικό μέρος Η νέα μεταβλητή y θα είναι ακέραια και το δεκαδικό μέρος φυλάσσεται στην error

Εισαγωγή Ευθεία Κύκλος Έλλειψη Αλγόριθμοι Σχεδίασης Ευθειών Αλγόριθμος 3 Θεωρώντας ότι έχει επιλεγεί το pixel (x i, y i ), η error καθορίζει την επιλογή μεταξύ του (x i + 1, y i ) και (x i + 1, y i + 1)

Αλγόριθμοι Σχεδίασης Ευθειών Αλγόριθμος 3 line3 (x1,y1,xn,yn,colour) int x1,y1,xn,yn,colour float s,error; int x,y s=(yn-y1)/(xn-x1) y=y1 error=0 for (x=x1;x<=xn;x++) setpixel(x,y,colour) error=error+s if (error>=05) y++ error--

Αλγόριθμοι Σχεδίασης Ευθειών Αλγόριθμος 4 - Bresenham Με κατάλληλη κλιμάκωση των s, error και της συνθήκης επιλογής του pixel οι πραγματικές μεταβλητές αντικαθίστανται από ακέραιες Αυτό δεν επηρεάζει την επιλογή του pixel Πολλαπλασιάζοντας με dx = x n x 1, τα s, error γίνονται ακέραιοι Θέτουμε s = dy Η σύγκριση για την επιλογή του επόμενου pixel γίνεται error dx/2

Αλγόριθμοι Σχεδίασης Ευθειών Αλγόριθμος 4 - Bresenham Το error είναι πάντα ακέραιο, άρα αντί για dx/2 χρησιμοποιείται το dx/2 Το dx/2 υπολογίζεται με ολίσθηση Το dx/2 αφαιρείται από την αρχική τιμή του error Η σύγκριση για την επιλογή του επόμενου pixel γίνεται error 0

Αλγόριθμοι Σχεδίασης Ευθειών Αλγόριθμος 4 - Bresenham Ο ακόλουθος αλγόριθμος είναι γνωστός ως αλγόριθμος του Bresenham line4 (x1,y1,xn,yn,colour) int x1,y1,xn,yn,colour int error,x,y,dx,dy dx=xn-x1; dy=yn-y1 error=-dx/2; y=y1 for (x=x1; x<=xn; x++) setpixel(x,y,colour) error=error+dy if (error>=0 y++ error=error-dx

Αλγόριθμοι Σχεδίασης Ευθειών Αλγόριθμος 4 - Bresenham Ο αλγόριθμος λειτουργεί για ευθύγραμμα τμήματα για τα οποία ισχύει x 1 < x n και έχουν κλίση μεταξύ 0 και 1 Τα ανωτέρω ευθύγραμμα τμήματα βρίσκονται στο 1ο οκταμόριο Ο αλγόριθμος εύκολα επεκτείνεται για τα υπόλοιπα οκταμόρια με εναλλαγές των x, y

Αλγόριθμοι Σχεδίασης Ευθειών Αλγόριθμος 4 - Bresenham Σχέση οκταμορίων-μεταβλητών κίνησης Το οκταμόριο προσδιορίζεται με μεταφορά του ευθύγραμμου τμήματος, ώστε το (x 1, y 1 ) να συμπέσει με την αρχή των αξόνων Τότε το ευθύγραμμο τμήμα θα βρίσκεται μέσα σε ένα οκταμόριο

Αλγόριθμος Σχεδίασης Κύκλου Αλγόριθμος Σχεδίασης Κύκλου O κύκλος χρησιμοποιείται σε πολλές εφαρμογές σαν στοιχειώδες σχήμα Κατά τη σχεδίαση κύκλου λαμβάνεται υπόψη η 8-πλή συμμετρία Αρκεί να εξεταστεί η σχεδίαση σε ένα οκταμόριο πχ το δεύτερο

Αλγόριθμος Σχεδίασης Κύκλου Αλγόριθμος Σχεδίασης Κύκλου Για κύκλο με κέντρο το O και ακτίνα r, αν προσδιοριστεί σημείο (x, y), σχεδιάζονται τα 8 συμμετρικά circlesymmetry (x,y,colour) int x,y,colour setpixel(x,y,colour) setpixel(y,x,colour) setpixel(y,-x,colour) setpixel(x,-y,colour) setpixel(-x,-y,colour) setpixel(-y,-x,colour) setpixel(-y,x,colour) setpixel(-x,y,colour)

Αλγόριθμος Σχεδίασης Κύκλου Αλγόριθμος Σχεδίασης Κύκλου Για τον υπολογισμό των pixels του κύκλου που βρίσκονται στο 2ο οκταμόριο χρησιμοποιείται ο αλγόριθμος του Bresenham Έστω ότι έχει επιλεγεί το (x i, y i ) ως το πλησιέστερο στην ιδεατή πορεία του κύκλου Στο 2ο οκταμόριο άξονας ταχύτερης κίνησης είναι ο x (x i + 1, y i ) ή (x i + 1, y i 1);

Αλγόριθμος Σχεδίασης Κύκλου Αλγόριθμος Σχεδίασης Κύκλου Ο Bresenham έδειξε ότι μια καλή μεταβλητή απόφασης για την επιλογή του κατάλληλου pixel στο βήμα i είναι η όπου e i = d 1 d 2 d 1 = y 2 i y 2 και d 2 = y 2 (y i 1) 2

Αλγόριθμος Σχεδίασης Κύκλου Αλγόριθμος Σχεδίασης Κύκλου Άν e i 0, επιλέγεται το (x i + 1, y i 1) διαφορετικά επιλέγεται το (x i + 1, y i ) e i = 2(x i + 1) 2 + y 2 i + (y i 1) 2 2r 2 και e i+1 = e i + 4x i + 6 + 2(y 2 i+1 y2 i ) 2(y i+1 y i ) Για τον υπολογισμό του e i+1 : Αν e i < 0 y i+1 = y i e i+1 = e i + 4(x i + 1) + 2 Αν e i 0 y i+1 = y i 1 e i+1 = e i + 4(x i + 1) + 2 4(y i 1) Η αρχική τιμή e 1 υπολογίζεται ως e 1 = 2 + r 2 + (r 1) 2 2r 2 = 3 2r

Αλγόριθμος Σχεδίασης Κύκλου Αλγόριθμος Σχεδίασης Κύκλου Για κέντρο το O χρησιμοποιείται η circlesymmetry Αν το κέντρο είναι διαφορετικό, πχ το (x c, y c ) τότε αρκεί να γίνει κλήση της ως circlesymmetry(x+xc,y+yc,colour) circle (r,colour) int r,colour int x,y,e x=0; y=r e=3-2*r while (x<=y) circlesymmetry(x,y,colour) x++ if (e>=0) y--; e=e-4*y e=e+4*x+2

Αλγόριθμοι Σχεδίασης Κωνικών Τομών Οι κωνικές τομές (έλλειψη, υπερβολή, παραβολή) είναι βασικά γεωμετρικά σχήματα Μετά την ευθεία και τον κύκλο έχουν αποτελέσει αντικείμενο έρευνας στα γραφικά Παρουσιάζεται η μεθοδολογία των Αγάθος-Θεοχάρη-Μπέμ Ακολουθείται το σκεπτικό του Bresenham Γρήγορος αλγόριθμος, απαιτεί μικρότερη ακρίβεια ακεραίων, εξασφαλίζει σωστές μεταβάσεις μεταξύ περιοχών σχεδίασης

Έστω έλλειψη με κέντρο (0, 0) και άξονες παράλληλους με X, Y Η εξίσωση της έλλειψης είναι x 2 a 2 + y2 b 2 = 1

Η έλλειψη έχει 4πλή συμμετρία Αρκεί να δημιουργηθεί το τόξο που βρίσκεται στο 1ο τεταρτημόριο Διακρίνονται δύο περιοχές που χωρίζονται από το σημείο όπου dy/dx = 1 Στην 1η περιοχή βασικός άξονας κίνησης είναι ο X Στη 2η περιοχή βασικός άξονας κίνησης είναι ο Y

Μεταβλητή Απόφασης Περιοχής 1 Έστω ότι ο αλγόριθμος ξεκινά από το (0, b) της 1ης περιοχής Σε κάθε βήμα η τιμή του x αυξάνεται κατά 1 ενώ για το y πρέπει να λαμβάνεται η απόφαση αν θα παραμένει ίδια ή θα μειώνεται κατά 1

Ορίζονται d1 = y 2 i y 2 και d2 = y 2 (y i 1) 2 Ορίζεται d = d1 d2 Έστω ε = y i y Η συνάρτηση απόφασης γίνεται d(ε) = 2ε 2 + 5y i ε + 1 2y i Η d(ε) είναι γνήσια αύξουσα στο [, y i ]

Για την τιμή απόφασης χρησιμοποιείται η τιμή του ε στη θέση ε = 1 2 και προκύπτει d( 1 2 ) = 1 2 Άρα αν d 1 2, επιλέγεται το pixel B διαφορετικά, επιλέγεται το pixel D

Οι υπολογισμοί διευκολύνονται αν d = a 2 (d1 d2) Η συνάρτηση απόφασης γίνεται d(ε) = 2a 2 ε 2 + 4a 2 y i ε + a 2 2a 2 y i Η απόφαση γίνεται αν d a2 2, επιλέγεται το pixel B διαφορετικά, επιλέγεται το pixel D

Η τιμή της μεταβλητής απόφασης στο βήμα i της περιοχής 1 είναι d 1,i = = 2a 2 b 2 + 2b 2 (x i + 1) 2 + a 2 (y i ) 2 + a 2 (y i 1) 2 Το d 1,i+1 ορίζεται με βάση το d 1,i ως αν d 1,i > a 2 /2 : d 1,i+1 = d 1,i + 2b 2 + 4b 2 (x i + 1) 4a 2 (y i 1) αν d 1,i a 2 /2 : d 1,i+1 = d 1,i + 2b 2 + 4b 2 (x i + 1) Η αρχική τιμή d 1,0 υπολογίζεται για το 1ο pixel της περιοχής 1, (0, b): d 1,0 = 2b 2 + a 2 (1 2b)

Μετάβαση από την Περιοχή 1 στην Περιοχή 2 Απαιτείται η ύπαρξη ενός κριτηρίου που να ανιχνεύει το τέλος της 1ης περιοχής Στο σημείο αυτό αλλάζει ο άξονας κύριας κατεύθυνσης και η μεταβλητή απόφασης Ένα τέτοιο κριτήριο είναι το εξής d(3/2) = 4a 2 (y i 1) + a 2 /2 Και το κριτήριο αλλαγής περιοχής είναι αν d 4a 2 (y i 1) + a 2 /2, παραμένει η περιοχή 1 διαφορετικά γίνεται μετάβαση στην περιοχή 2 Η αρχική τιμή της μεταβλητής απόφασης d 2,i για την περιοχή 2 υπολογίζεται ως d 2,i = d 1,i a 2 (2y i 1) b 2 (2x i + 1)

Εισαγωγή Ευθεία Κύκλος Έλλειψη Μεταβλητή Απόφασης Περιοχής 2 Αλλάζουν οι εκφράσεις για τα d1, d2: d1 = (x i + 1) 2 x 2 d2 = x 2 x 2 i

Έχοντας επιλέξει το pixel A στη γραμμή i, το κριτήριο απόφασης για το επόμενο pixel θα είναι αν d b 2 /2, επιλέγεται το pixel D διαφορετικά, επιλέγεται το pixel C Η μεταβλητή απόφασης για το βήμα i της περιοχής 2 είναι d 2,i = b 2 (d1 d2) = = 2a 2 b 2 +b 2 x 2 i +2a 2 (y i 1) 2 +b 2 (x i +1) 2

Εισαγωγή Ευθεία Κύκλος Έλλειψη Το d 2,i+1 υπολογίζεται ως αν d 2,i > b 2 /2, τότε d 2,i+1 = d 2,i + 2a 2 4a 2 (y i 1) διαφορετικά, d 2,i+1 = d 2,i + 2a 2 + 4b 2 (x i + 1) 4a 2 (y i 1)