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

Σχετικά έγγραφα
ΚΕΦΑΛΑΙΟ 2: ΑΛΓΟΡΙΘΜΟΙ ΕΥΘΕΙΑΣ ΚΥΚΛΟΥ -ΈΛΛΕΙΨΗΣ

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

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

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

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

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

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

Να υπολογίζουμε τους τριγωνομετρικούς αριθμούς οξείας γωνίας. Τη γωνία σε κανονική θέση και τους τριγωνομετρικούς αριθμούς γωνίας σε κανονική θέση.

Αριθμητική Ανάλυση και Εφαρμογές


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

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

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

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

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

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

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

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

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

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

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

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

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

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

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

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

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

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

Κεφάλαιο 0 Μιγαδικοί Αριθμοί

Κεφάλαιο 2: Διανυσματικός λογισμός συστήματα αναφοράς

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

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

Θέση και Προσανατολισμός

ΓΡΑΜΜΙΚΑ ΣΥΣΤΗΜΑΤΑ ΜΗ ΓΡΑΜΜΙΚΑ ΣΥΣΤΗΜΑΤΑ ΣΥΝΑΡΤΗΣΕΙΣ ΜΟΝΟΤΟΝΙΑ-ΑΚΡΟΤΑΤΑ-ΣΥΜΜΕΤΡΙΕΣ ΣΥΝΑΡΤΗΣΗΣ

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

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

Με τη σύμβαση της «κινηματικής αλυσίδας», ο μηχανισμός αποτυπώνεται σε πίνακα παραμέτρων ως εξής:

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

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

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

f(x) = και στην συνέχεια

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

ΚΕΦΑΛΑΙΟ 4 ο : ΑΝΙΣΩΣΕΙΣ ΤΟ 2 Ο ΘΕΜΑ

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

ΤΕΣΤ Α2 ΟΜΑΔΑ Ι. παράγωγος είναι αρνητική: f (x) = 1 2x, f

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

Αριθμητική Ανάλυση & Εφαρμογές

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

Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή

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

1. Τετραγωνικές μορφές. x y 0. 0x y 0 1α 1β 2α 2β 3. 0x + y 0

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

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

Γ. Ν. Π Α Π Α Δ Α Κ Η Σ Μ Α Θ Η Μ Α Τ Ι Κ Ο Σ ( M S C ) ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ. ΠΡΟΓΡΑΜΜΑ: Σπουδές στις Φυσικές Επιστήμες

ΘΕΜΑ ίνονται τα διανύσµαταα, β. α) Να υπολογίσετε τη γωνία. β) Να αποδείξετε ότι 2α+β= β) το συνηµίτονο της γωνίας των διανυσµάτων

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

ΠΡΩΤΟ ΘΕΜΑ ΕΞΕΤΑΣΕΩΝ

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

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

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

Με τη σύμβαση της «κινηματικής αλυσίδας», ο μηχανισμός αποτυπώνεται σε πίνακα παραμέτρων ως εξής:

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

3 ΚΩΝΙΚΕΣ ΤΟΜΕΣ ΑΛΥΤΕΣ ΑΣΚΗΣΕΙΣ

1ο τεταρτημόριο x>0,y>0 Ν Β

ΕΡΓΑΣΙΕΣ 4 ου ΚΕΦΑΛΑΙΟΥ. 1 η Ομάδα: Ερωτήσεις πολλαπλής επιλογής

Τάξη B. Μάθημα: Η Θεωρία σε Ερωτήσεις. Επαναληπτικά Θέματα. Επαναληπτικά Διαγωνίσματα. Επιμέλεια: Κώστας Κουτσοβασίλης. α Ε

Λύσεις στο Επαναληπτικό Διαγώνισμα 2

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

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

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

1. Ποια μεγέθη ονομάζονται μονόμετρα και ποια διανυσματικά;

2 Η ΠΡΟΟΔΟΣ. Ενδεικτικές λύσεις κάποιων προβλημάτων. Τα νούμερα στις ασκήσεις είναι ΤΥΧΑΙΑ και ΟΧΙ αυτά της εξέταση

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

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

ΕΡΓΑΣΙΕΣ 4 ου ΚΕΦΑΛΑΙΟΥ. 1 η Ομάδα: Ερωτήσεις πολλαπλής επιλογής

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

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

Ο μαθητής που έχει μελετήσει το κεφάλαιο αυτό θα πρέπει να είναι σε θέση:

Γ. Β Α Λ Α Τ Σ Ο Σ. 4ο ΓΥΜΝΑΣΙΟ ΛΑΜΙΑΣ 1. Γιώργος Βαλατσός Φυσικός Msc

Μέτρηση του όγκου και του εμβαδού ορθών πρισμάτων Κανονική Πυραμίδα 1 Βάσης) (Απόστημα) 2 1 ό Βάσης) (Ύψος) 3

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

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

ΚΥΚΛΟΣ. Μ(x,y) Ο C ΘΕΩΡΙΑ ΕΠΙΜΕΛΕΙΑ: ΣΩΣΤΟ-ΛΑΘΟΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΧΡΑΣ ΓΙΑΝΝΗΣ ΑΣΚΗΣΕΙΣ. 3ο ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΚΕΝΤΡΙΚΟ Ν. ΣΜΥΡΝΗΣ

x y z xy yz zx, να αποδείξετε ότι x=y=z.

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

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

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

Κεφάλαιο 2 ο ΙΔΙΟΤΗΤΕΣ ΣΥΝΑΡΤΗΣΕΩΝ

Φυσικά μεγέθη. Φυσική α λυκείου ΕΙΣΑΓΩΓΗ. Όλα τα φυσικά μεγέθη τα χωρίζουμε σε δύο κατηγορίες : Α. τα μονόμετρα. Β.

ΑΣΚΗΣΕΙΣ ΣΤΗΝ ΕΞΙΣΩΣΗ ΕΥΘΕΙΑΣ

0,6 m. Οι πηγές ξεκινούν να ταλαντώνονται τη χρονική στιγμή t 0 με θετική

ΕΠΑΝΑΛΗΨΗ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΕΥΘΥΝΣΗΣ Β ΛΥΚΕΙΟΥ ( α μέρος )

1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη;

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

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

Κίνηση ΚΕΦΑΛΑΙΟ 2 Β ΓΥΜΝΑΣΙΟΥ

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

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

Transcript:

ΚΕΦΑΛΑΙΟ : ΑΛΓΟΡΙΘΜΟΙ ΕΥΘΕΙΑΣ ΚΥΚΛΟΥ - ΕΛΛΕΙΨΗΣ Μια εικόνα μπορεί να περιγραφεί με πολλούς τρόπους. Αν υποθέσουμε ότι έχουμε μια προβολή ψηφιδοπλέγματος, μια εικόνα καθορίζεται πλήρως από το σύνολο των εντάσεων για τις θέσεις των στοιχείων εικόνας (pixels) στην προβολή. Από την άλλη πλευρά, μπορούμε να περιγράψουμε μια εικόνα σαν ένα σύνολο πολύπλοκων αντικειμένων, όπως είναι τα δέντρα και το έδαφος ή τα έπιπλα και οι τοίχοι, τοποθετημένα σε συγκεκριμένες συντεταγμένες θέσεις μέσα στο σκηνικό. Tα σχήματα και τα χρώματα των αντικειμένων μπορούν να περιγραφούν εσωτερικά με πίνακες των στοιχείων εικόνας ή με σύνολα από βασικές γεωμετρικές δομές, όπως είναι τα ευθύγραμμα τμήματα και οι πολυγωνικές χρωματικές περιοχές. Το σκηνικό προβάλλεται τότε είτε με το φόρτωμα των πινάκων των στοιχείων εικόνας στην μνήμη παρουσίασης είτε με σάρωση που μετατρέπει τα βασικά χαρακτηριστικά των γεωμετρικών δομών σε σχέδια στοιχείων εικόνας. Τυπικά τα πακέτα προγραμματισμού για γραφικά παρέχουν λειτουργίες που επιτρέπουν την περιγραφή ενός σκηνικού συναρτήσει τέτοιων βασικών γεωμετρικών δομών, τα οποία αναφέρονται ως αρχέγονα εξόδου, και την ομαδοποίηση συνόλων από αρχέγονα εξόδου σε πιο πολύπλοκες δομές. Κάθε αρχέγονο εξόδου καθορίζεται από δεδομένα εισόδου για τις συντεταγμένες και από άλλες πληροφορίες για τον τρόπο με τον οποίο πρέπει να προβληθεί. Τα σημεία και τα ευθύγραμμα τμήματα είναι τα απλούστερα γεωμετρικά σχήματα των εικόνων. Επιπρόσθετα, αρχέγονα εξόδου που μπορούν να χρησιμοποιηθούν για να κατασκευαστεί μια εικόνα περιλαμβάνουν κύκλους και άλλες κωνικές τομές, καμπύλες και επιφάνειες splines, πολυγωνικές χρωματικές περιοχές και ακολουθίες χαρακτήρων. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 1

ΣΗΜΕΙΑ ΚΑΙ ΕΥΘΕΙΕΣ Για τον σχεδιασμό ενός σημείου σε μια CRT οθόνη, ενεργοποιείται η ηλεκτρονική ακτινοβολία για να φωτίσει το φώσφορο της οθόνης στο επιλεγμένο σημείο. Το πως θα τοποθετηθεί η ηλεκτρονική ακτινοβολία εξαρτάται από την τεχνολογία της προβολής. Ένα διανυσματικό σύστημα τυχαίας σάρωσης αποθηκεύει τις εντολές σχεδιασμού σημείου σε μια λίστα προβολής και οι τιμές των συντεταγμένων στις εντολές αυτές μετατρέπονται σε τάσεις απόκλισης που τοποθετούν την ηλεκτρονική ακτινοβολία στις θέσεις οθόνης που πρέπει να σχεδιαστούν σε κάθε κύκλο ανανέωσης. Για ένα ασπρόμαυρο σύστημα ψηφιδοπλέγματος, ένα σημείο σχεδιάζεται θέτοντας την τιμή του bit που αντιστοιχεί σε μια συγκεκριμένη θέση στην οθόνη μέσα στην μνήμη παρουσίασης ίση με 1. Τότε καθώς η ακτινοβολία περνάει από κάθε οριζόντια γραμμή σάρωσης, εκπέμπει μια δέσμη ηλεκτρονίων (σχεδιάζει ένα σημείο) όταν συναντά την τιμή 1 στην μνήμη παρουσίασης. Σε ένα σύστημα RGB, η μνήμη παρουσίασης φορτώνει τους κωδικούς χρώματος για τις εντάσεις που πρέπει να προβληθούν στις θέσεις οθόνης των στοιχείων εικόνας. Ο σχεδιασμός της ευθείας πετυχαίνεται με τον υπολογισμό ενδιάμεσων θέσεων κατά μήκος μιας νοητής ευθείας ανάμεσα σε δυο συγκεκριμένες τελικές θέσεις. Η συσκευή εξόδου παίρνει τότε εντολή να συμπληρώσει τις θέσεις αυτές ανάμεσα στα τελικά σημεία. Οι ψηφιακές συσκευές προβάλλουν ένα ευθύγραμμο τμήμα σχεδιάζοντας διακεκριμένα σημεία μεταξύ των δυο άκρων. Οι διακεκριμένες συντεταγμένες θέσεις κατά μήκος της νοητής γραμμής υπολογίζονται από την εξίσωση της ευθείας. Για μια οπτική παρουσίαση ψηφιδοπλέγματος, το χρώμα της ευθείας (ένταση) φορτώνεται στην μνήμη παρουσίασης στις αντίστοιχες συντεταγμένες στοιχείων εικόνας. Διαβάζοντας από τη μνήμη παρουσίασης, ο οπτικός ελεγκτής "σχεδιάζει" τα στοιχεία εικόνας της οθόνης. Οι θέσεις επάνω στην οθόνη σημειώνονται μόνο με ακέραιες τιμές, οπότε οι σχεδιασμένες θέσεις μπορούν μόνο να προσεγγίσουν τις πραγματικές θέσεις πάνω στην ευθεία μεταξύ δυο διακεκριμένων άκρων. Αυτή η στρογγυλοποίηση των συντεταγμένων σε ακέραιες τιμές κάνει τις ευθείες να παρουσιάζονται με βαθμωτό τρόπο (τα "δοντάκια"), όπως φαίνεται στην Εικόνα -1. 7 6 5 4 3 1 0 Pixel (3, 5) 0 1 3 4 5 6 7 8 9 10 Εικόνα -1: Πλεγματική οθόνη Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ

Η χαρακτηριστική οδοντωτή εικόνα των ευθειών ψηφιδοπλέγματος είναι ιδιαίτερα εμφανής σε συστήματα με χαμηλή ανάλυση. Για τους αλγόριθμους γραφικών ψηφιδοπλέγματος σε επίπεδο μηχανής που μελετώνται στο κεφάλαιο αυτό, οι θέσεις των αντικειμένων καθορίζονται απευθείας με ακέραιες συντεταγμένες. Προς το παρόν, υποθέτουμε ότι οι θέσεις των στοιχείων εικόνας δίνονται από τον αριθμό της γραμμής σάρωσης και τον αριθμό της στήλης (θέση του στοιχείου εικόνας κατά μήκος μιας γραμμής σάρωσης). Αυτός ο τρόπος αναφοράς φαίνεται στην εικόνα.. Οι γραμμές σάρωσης είναι αριθμημένες διαδοχικά από το 0, ξεκινώντας από την βάση της οθόνης. Οι στήλες των στοιχείων οθόνης είναι αριθμημένες από το 0, από αριστερά προς τα δεξιά κατά μήκος κάθε γραμμής σάρωσης. Εικόνα. Οι θέσεις των στοιχείων εικόνας αναφορικά με τον αριθμό γραμμής σάρωσης και τον αριθμό στήλης ΑΛΓΟΡΙΘΜΟΙ ΣΧΕΔΙΑΣΗΣ ΕΥΘΕΙΩΝ Η καρτεσιανή εξίσωση κλίσης - τομής για μια ευθεία είναι: y = m x + b (.1) όπου το m παριστάνει την κλίση της ευθείας και το b την τομή με τον άξονα των y. Δεδομένου ότι τα άκρα ενός ευθύγραμμου τμήματος έχουν καθοριστεί στις θέσεις (x 1, y 1 ), (x, y ), όπως φαίνεται στην εικόνα.3, μπορούμε να καθορίσουμε τις τιμές της κλίσης m και της τομής b με τους ακόλουθους υπολογισμούς: m b y y1 x x1 y m = (.) = 1 x1 (.3) Οι αλγόριθμοι που παρουσιάζουν ευθείες βασίζονται στην εξίσωση ευθείας (.1) και στους υπολογισμούς που δίνονται από τις εξισώσεις (.), (.3). Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 3

Εικόνα -3 Η ευθεία βρίσκεται μεταξύ των σημείων (x 1, y 1 ) και (x, y ) Για κάθε δοθέν διάστημα Δx πάνω στον άξονα των x μπορούμε να υπολογίσουμε ένα αντίστοιχο διάστημα Δy στον άξονα των y από την εξίσωση (.) ως εξής: Δy = m Δx (.4) Ανάλογα, μπορούμε να βρούμε ένα διάστημα Δx πάνω στον x άξονα που να αντιστοιχεί σε διάστημα Δy του y άξονα από τη σχέση: Δy Δ x = (.5) m Οι εξισώσεις αυτές αποτελούν τη βάση για τον προσδιορισμό της απόκλισης σε αναλογικές συσκευές. Για ευθεία με εύρος κλίσης m < 1, το διάστημα Δx μπορεί να είναι ανάλογο με μια μικρή οριζόντια απόκλιση και η αντίστοιχη κάθετη απόκλιση θα είναι τότε ανάλογη προς το Δy, όπως αυτό υπολογίζεται από την εξίσωση (.4). Για ευθείες των οποίων οι κλίσεις έχουν εύρος m > 1, το Δy μπορεί να τεθεί ανάλογα με μια μικρή κάθετη τάση απόκλισης, και την αντίστοιχη οριζόντια τάση απόκλισης ανάλογη με το Δx, όπως υπολογίζεται από την εξίσωση (.5). Για ευθείες με m = 1, Δx = Δy και οι οριζόντιες και κάθετες τάσεις απόκλισης είναι ίσες. Σε κάθε περίπτωση, παράγεται μια ομαλή ευθεία με κλίση τη μεταξύ των δεδομένων σημείων. Στα συστήματα ψηφιδοπλέγματος, οι ευθείες σχεδιάζονται με στοιχεία εικόνας και το μέγεθος του βήματος στις οριζόντιες και κάθετες διευθύνσεις περιορίζεται από τον διαχωρισμό των στοιχείων εικόνας. Αυτό σημαίνει ότι θα πρέπει να "πάρουμε δείγματα" μιας ευθείας σε διακεκριμένες θέσεις και να καθορίσουμε το πλησιέστερο στοιχείο εικόνας στην ευθεία για κάθε τμήμα του δείγματος. Αυτή η διαδικασία αντιστροφής σάρωσης απεικονίζεται στην εικόνα..4, για μια σχεδόν οριζόντια ευθεία με διακεκριμένες θέσεις - δείγματα κατά μήκος του άξονα των x. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 4

Εικόνα.4 Ευθύγραμμο τμήμα με τέσσερις θέσεις-δείγματα κατά μήκος του x-άξονα μεταξύ των x 1 και x Ο ΑΛΓΟΡΙΘΜΟΣ DDA Ο ψηφιακός διαφορικός αναλυτής (digital differential analyzer (DDA)) είναι ένας αλγόριθμος αναστροφής σάρωσης ευθείας βασισμένος τον υπολογισμό είτε του Δx ή του Δy, με τη χρήση των εξισώσεων (.4) ή (.5). Παίρνουμε δείγματα από την ευθεία κατά μοναδιαία διαστήματα ως προς την μια συντεταγμένη και καθορίζουμε τις αντίστοιχες ακέραιες τιμές της άλλης συντεταγμένης που βρίσκονται πλησιέστερα στην ευθεία. Στη συνέχεια θεωρούμε ότι έχουμε σχεδίαση από αριστερά προς δεξιά. Θεωρούμε κατ' αρχήν μια ευθεία με θετική κλίση, όπως φαίνεται στην εικόνα -3. Αν η κλίση είναι μικρότερη ή ίση του 1, παίρνουμε το δείγμα σε μοναδιαία διαστήματα του x- άξονα (Δx = 1) και υπολογίζουμε τις διαδοχικές τιμές του y από τη σχέση: y κ+1 = y κ + m (.6) ο δείκτης κ παίρνει ακέραιες τιμές ξεκινώντας από το 1, για το πρώτο σημείο, και αυξάνεται κατά 1 μέχρι να φτάσουμε στο τέλος της ευθείας. Επειδή το m μπορεί να είναι οποιοσδήποτε πραγματικός αριθμός μεταξύ 0 και 1, οι τιμές του y που υπολογίζουμε πρέπει να στρογγυλοποιηθούν στον πλησιέστερο ακέραιο. Για ευθείες με θετική κλίση μεγαλύτερη του 1, αντιστρέφουμε τους ρόλους των x και y. Αυτό σημαίνει ότι παίρνουμε δείγμα από μοναδιαία διαστήματα του y-άξονα (Δy=1) και υπολογίζουμε τις διαδοχικές τιμές του x από τη σχέση: 1 xk + 1 = xk + (.7) m Οι εξισώσεις (.6) και (.7) βασίζονται στην υπόθεση ότι η επεξεργασία της ευθείας γίνεται από το αριστερό άκρο προς το δεξί άκρο (Εικόνα -). Αν η φορά της Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 5

επεξεργασίας αντιστραφεί, έτσι ώστε το σημείο εκκίνησης να είναι το δεξί άκρο, τότε θα έχουμε είτε Δx =-1 και y κ+1 = y κ - m (.8) ή (όταν η κλίση είναι μεγαλύτερη του 1) Δy =-1 και 1 xk + 1 = xk (.9) m Οι εξισώσεις (.6) έως και (.9) μπορούν να χρησιμοποιηθούν και για τον υπολογισμό της θέσης των στοιχείων εικόνας κατά μήκος μιας ευθείας με αρνητική κλίση. Αν η απόλυτη τιμή της κλίσης είναι μικρότερη του 1 και το άκρο εκκίνησης βρίσκεται στα αριστερά, θέτουμε Δx = 1 και υπολογίζουμε τις τιμές του y από την εξίσωση (.6). Όταν το σημείο εκκίνησης βρίσκεται στα δεξιά (για την ίδια πάντα κλίση), θέτουμε Δx = -1 και παίρνουμε τις θέσεις του y από την εξίσωση (.8). Ανάλογα, όταν η απόλυτη τιμή της αρνητικής κλίσης είναι μεγαλύτερη του 1, θέτουμε Δy=-1 και υπολογίζουμε από την εξίσωση (.9) ή θέτουμε Δy=1 και την εξίσωση (.7). Ο αλγόριθμος αυτός συνοψίζεται στην παρακάτω διαδικασία, η οποία έχει σαν δεδομένα εισόδου τις ακραίες θέσεις των στοιχείων εικόνας. Οι οριζόντιες και οι κάθετες διαφορές μεταξύ των ακραίων θέσεων τοποθετούνται στις παραμέτρους Δx και Δy. Η διαφορά με το μέγιστο εύρος καθορίζει την τιμή της παραμέτρου steps. Ξεκινώντας από τη θέση του στοιχείου εικόνας (x a, y a ), καθορίσουμε την μετατόπιση που χρειάζεται σε κάθε βήμα για να παράγουμε την επόμενη θέση του στοιχείου εικόνας κατά μήκος της ευθείας. Επαναλαμβάνουμε την διαδικασία steps φορές. Αν το εύρος του Δx (απόλυτη τιμή) είναι μεγαλύτερο από το εύρος του Δy και το x a είναι μικρότερο από το x b, οι τιμές της αύξησης κατά μήκος των αξόνων x και y θα είναι αντίστοιχα 1 και m. Αν η μέγιστη αλλαγή γίνεται κατά τη διεύθυνση των x, αλλά το x a είναι μεγαλύτερο από το x b, τότε οι μειώσεις -1 και -m χρησιμοποιούνται για να παράγουν το κάθε καινούριο σημείο της ευθείας. Αλγόριθμος Ευθείας DDA 1. Εισάγουμε τις συντεταγμένες των άκρων (x a, y a,x b, y b ). Υπολογίζουμε τα Δx και Δy 3. Αν abs(δx) > abs(δy) τότε step = abs(δx) αλλιώς step = abs(δy) 4. Καθορίζουμε την μετατόπιση για το επόμενο pixel, xs = Δx / step & ys = Δy / step 5. Ενεργοποιούμε το πρώτο σημείο 6. θέτουμε x = x + xs & y = y + ys, για τον υπολογισμό των ενδιάμεσων σημείων 7. Επαναλαμβάνουμε το «βήμα 6» step φορές Ο αλγόριθμος DDA είναι ταχύτερη μέθοδος για τον υπολογισμό των θέσεων των στοιχείων εικόνας από την απ' ευθείας χρήση της εξίσωσης (.1). Απαλείφει τον Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 6

πολλαπλασιασμό της εξίσωσης (.1) κάνοντας χρήση των χαρακτηριστικών του ψηφιδοπλέγματος ώστε να γίνουν κατάλληλες αυξήσεις κατά την x ή την y συντεταγμένη και να περάσουμε στις θέσεις των στοιχείων εικόνας κατά μήκος της ευθείας. Παρ' όλα αυτά, η συσσώρευση του σφάλματος στρογγυλοποίησης κατά τις διαδοχικές προσθέσεις μπορεί να προκαλέσει την απόκλιση των υπολογιζόμενων θέσεων των στοιχείων εικόνας από την πραγματική ευθεία για μεγάλα ευθύγραμμα τμήματα. Επιπλέον οι εργασίες στρογγυλοποίησης και οι πράξεις με αριθμούς κινητού σημείου στην διαδικασία της δημιουργίας γραμμής με τον αλγόριθμο DDA εξακολουθούν να απαιτούν πολύ χρόνο για εκτέλεση. Μπορούμε να βελτιώσουμε την εκτέλεση του αλγόριθμου DDA διαχωρίζοντας τις αυξήσεις m και 1/m σε ακέραιο και κλασματικό μέρος έτσι ώστε όλοι οι υπολογισμοί να γίνονται με ακέραιες πράξεις. Στις επόμενες παραγράφους θα θεωρήσουμε πιο γενικές διαδικασίες γραμμών σάρωσης που μπορούν να εφαρμοστούν τόσο για ευθείες όσο και για καμπύλες. Ο ΑΛΓΟΡΙΘΜΟΣ ΕΥΘΕΙΩΝ ΤΟΥ BRESENHAM. Ένας ακριβής και αποτελεσματικός αλγόριθμος ψηφιδοπλέγματος για την παραγωγή ευθειών, ο οποίος αναπτύχθηκε από τον Bresenham, σχεδιάζει τις ευθείες χρησιμοποιώντας μόνο ακέραιους αυξητικούς υπολογισμούς που μπορούν να προσαρμοστούν για την προβολή κύκλων και άλλων καμπύλων. Οι Εικόνες -5 και -6 απεικονίζουν τμήματα μιας οθόνης προβολής στην οποία πρέπει να ζωγραφιστούν τα ευθύγραμμα τμήματα. Οι κατακόρυφοι άξονες δείχνουν τις θέσεις των γραμμών σάρωσης και οι οριζόντιοι άξονες ταυτίζονται με τις στήλες των στοιχείων εικόνας. Η δειγματοληψία σε μοναδιαία διαστήματα του άξονα x στα παραδείγματα αυτά, μας οδηγεί στην ανάγκη να αποφασίσουμε ανάμεσα σε δυο πιθανές θέσεις στοιχείων εικόνας για το ποιο βρίσκεται πιο κοντά στην ευθεία σε κάθε βήμα της δειγματοληψίας. Ξεκινώντας από το αριστερό άκρο, που φαίνεται στο Εικόνα -5, πρέπει να αποφασίσουμε αν στο επόμενο βήμα της δειγματοληψίας θα σχεδιάσουμε το στοιχείο εικόνας στην θέση (11,11) ή στην θέση (11,1). Ανάλογα, η Εικόνα -6 δείχνει ένα ευθύγραμμο τμήμα με αρνητική κλίση το οποίο ξεκινάει από το αριστερό άκρο με θέση στοιχείου εικόνας (50, 50). Εδώ, θα επιλέξουμε την επόμενη θέση στοιχείου εικόνας σαν (51, 50) ή σαν (51, 49); Αυτές οι ερωτήσεις παίρνουν απάντηση με τον αλγόριθμο ευθειών του Bresenham με την βοήθεια του ελέγχου του πρόσημου μιας ακέραιας παραμέτρου, της οποίας η τιμή είναι ανάλογη της διαφοράς των αποκλίσεων των δυο θέσεων στοιχείων εικόνας από την πραγματική ευθεία. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 7

13 1 11 10 10 11 1 13 50 49 48 50 51 5 53 Εικόνα -5: Τμήμα οθόνης στην οποία πρέπει να σχεδιαστεί ένα ευθύγραμμο τμήμα ξεκινώντας από το στοιχείο εικόνας στη στήλη 10 στη γραμμή σάρωσης 11 Εικόνα -6: Τμήμα οθόνης όπου ένα ευθύγραμμο τμήμα με αρνητική κλίση πρέπει να σχεδιαστεί ξεκινώντας από το στοιχείο εικόνας στην στήλη 50 στην γραμμή σάρωσης 50. Για την περιγραφή της προσέγγισης του Bresenham, κατ' αρχήν θεωρούμε την διαδικασία για ευθείες με θετική κλίση μικρότερη του 1. Οι θέσεις των στοιχείων εικόνας κατά μήκος μιας γραμμής καθορίζονται με δειγματοληψία σε μοναδιαία διαστήματα του άξονα x. Ξεκινώντας από το αριστερό άκρο (x 0,y 0 ) μιας ευθείας, περνάμε σε κάθε διαδοχική στήλη (θέση ως προς x) και σχεδιάζουμε το στοιχείο εικόνας του οποίου η τιμή της γραμμής σάρωσης y είναι πλησιέστερα στην ευθεία. Η Εικόνα -7 δείχνει το κ βήμα αυτή της διαδικασίας. Υποθέτοντας ότι έχουμε καθορίσει το στοιχείο εικόνας στην θέση (x κ,y κ ) για σχεδιασμό, θα πρέπει να αποφασίσουμε ποιο στοιχείο εικόνας θα σχεδιάσουμε στη στήλη x κ+1. Οι επιλογές μας είναι τα στοιχεία εικόνας στις θέσεις (x κ+1, y κ ), (x κ+1, y κ+1 ). Στην θέση x κ+1 συμβολίζουμε με d 1 και d τις κατακόρυφες αποκλίσεις από το μαθηματικό μοντέλο της ευθείας για τα στοιχεία εικόνας (Εικόνα -8). Η y συντεταγμένη του μαθηματικού μοντέλου για τη στήλη x κ+1 του στοιχείου εικόνας υπολογίζεται από τη σχέση: y = m(x κ + 1) +b (.10) Ενώ d 1 = y - y κ = m(x κ + 1) + b - y k και d = (y κ +1) - y = y κ + 1 - m(x κ + 1) -b Η διαφορά μεταξύ των δυο αποκλίσεων είναι: d 1 -d = m(x κ + 1) - y κ + b -1 (.11) Μια παράμετρος απόφασης ρ κ για το κ βήμα του αλγόριθμου μπορεί να επιτευχθεί με την αναδιάταξη της εξίσωσης (.11) ώστε να περιλαμβάνει μόνο ακέραιους υπολογισμούς. Αυτό το πετυχαίνουμε θέτοντας m = Δy / Δx, όπου Δx και Δy είναι οι οριζόντιες και οι κατακόρυφες αποκλίσεις των άκρων, και ορίζοντας: Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 8

ρ κ = Δx(d1 d) = Δy x κ - Δx y κ + c (.1) Το πρόσημο του ρ κ είναι ίδιο με το πρόσημο του d 1 -d, αφού Δx > 0 για το παράδειγμά μας. Η παράμετρος c είναι σταθερή και έχει τιμή Δy + Δx(b-1), που είναι ανεξάρτητη από τα x κ και y κ. Αν το στοιχείο εικόνας στο y κ είναι πιο κοντά στην ευθεία απ' ότι το στοιχείο εικόνας στο y κ +1 (δηλαδή d 1 <d ), τότε η παράμετρος απόφασης ρ κ είναι αρνητική. Σ' αυτή την περίπτωση σχεδιάζουμε το χαμηλότερο στοιχείο εικόνας, διαφορετικά σχεδιάζουμε το υψηλότερο στοιχείο εικόνας. Οι αλλαγές των συντεταγμένων κατά μήκος της ευθείας παρουσιάζονται με μοναδιαία βήματα είτε κατά την x είτε κατά την y κατεύθυνση. Επομένως μπορούμε να πάρουμε τις διαδοχικές τιμές των παραμέτρων απόφασης χρησιμοποιώντας αναδρομικούς ακέραιους υπολογισμούς. Στο (κ+1) βήμα η παράμετρος απόφασης υπολογίζεται από την εξίσωση (.1): ρ κ+1 = Δy x κ+1 - Δx y κ+1 + c Αφαιρώντας την εξίσωση (.1) από την προηγούμενη εξίσωση έχουμε: ρ κ+1 - ρ κ = Δy (x κ+1 - x κ ) - Δx(y κ+1 - y κ ) Αλλά x κ+1 = x κ +1, οπότε: ρ κ+1 = ρ κ + Δy - Δx(y κ+1 - y κ ) (.13) όπου ο όρος y κ+1 - y κ είναι είτε 0 ή 1, ανάλογα με το πρόσημο της παραμέτρου ρ κ. xk xk+1 xk+ xk+3 Εικόνα -7: Τμήμα του πλέγματος της οθόνης που απεικονίζει ένα στοιχείο εικόνας στην στήλη x κ και τη γραμμή σάρωσης y κ που πρέπει να σχεδιαστεί κατά μήκος ενός ευθύγραμμου τμήματος με κλίση 0<m<1 Εικόνα -8: Οι αποστάσεις μεταξύ των θέσεων των στοιχείων εικόνας και της συντεταγμένης y της ευθείας στην θέση - δείγμα x κ+1. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 9

Αυτός ο αναδρομικός υπολογισμός των παραμέτρων απόφασης εκτελείται σε κάθε ακέραια θέση για το x, ξεκινώντας από το αριστερό άκρο της ευθείας. Η πρώτη παράμετρος ρ ο υπολογίζεται από την εξίσωση (.1) για την αρχική θέση του στοιχείου εικόνας (x ο, y ο ) και με m = Δy/Δx: ρ ο = Δy - Δx (.14) Μπορούμε να συνοψίσουμε τον σχεδιασμό μιας ευθείας με τη μέθοδο Bresenham για μια ευθεία με θετική κλίση μικρότερη του 1 στα παρακάτω βήματα. Οι σταθερές Δy - Δx υπολογίζεται μια φορά για κάθε ευθεία που θα μετατραπεί με σάρωση, ώστε οι πράξεις να περιλαμβάνουν μόνο ακέραια πρόσθεση και αφαίρεση αυτών των δυο σταθερών. Αλγόριθμος Σχεδιασμού Ευθειών Bresenham 1. Εισάγουμε τα δυο άκρα της ευθείας και αποθηκεύουμε το αριστερό άκρο στο (x ο, y ο ).. Σχεδιάζουμε το πρώτο σημείο. 3. Υπολογίζουμε τις σταθερές Δx, Δy, Δy και Δy - Δx και παίρνουμε την αρχική τιμή για την παράμετρο απόφασης: ρ ο = Δy - Δx 4. Για κάθε x κ κατά μήκος της ευθείας, ξεκινώντας από κ=0, κάνουμε το παρακάτω τεστ: Αν ρ κ < 0, το επόμενο σημείο για σχεδίαση είναι το (x κ +1, y κ ) και ρ κ+1 = ρ κ + Δy Αλλιώς, το επόμενο σημείο για σχεδίαση είναι το (x κ +1, y κ +1) και ρ κ+1 = ρ κ + Δy - Δx 5. Επαναλαμβάνουμε το βήμα 4, για Δx φορές Παράδειγμα -1: Σχεδιασμός ευθείας Bresenham Για να γίνει κατανοητός ο αλγόριθμος, θα σχεδιάσουμε την ευθεία με άκρα (0,10) και (30,18). Η ευθεία αυτή έχει κλίση 0,8 με Δx = 10, Δy = 8. Η αρχική παράμετρος απόφασης έχει τιμή ρ ο = Δy - Δx = 6. Οι αυξήσεις για τον υπολογισμό των διαδοχικών παραμέτρων απόφασης είναι: Δy=16, Δy - Δx = -4. Σχεδιάζουμε το αρχικό σημείο (x ο, y ο ) = (0,10) και καθορίζουμε τις διαδοχικές θέσεις των στοιχείων εικόνας κατά μήκος της ευθείας από την τιμή της παραμέτρου απόφασης ως εξής: κ ρ κ (x κ+1, y κ+1 ) κ ρ κ (x κ+1, y κ+1 ) 1 6 1,11 6 6 6,15,1 7 7,16 3-3,1 8-8,16 4 14 4,13 9 14 9,17 5 10 5,14 10 10 30,18 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 10

Ο σχεδιασμός των στοιχείων εικόνας που παράγονται κατά μήκος της ευθείας φαίνεται στην Εικόνα -9. 19 18 17 16 15 14 13 1 11 10 0 1 3 4 5 6 7 8 9 30 Εικόνα -9: Οι θέσεις των στοιχείων εικόνας κατά μήκος του ευθύγραμμου τμήματος με άκρα (0,10), (30,18), σχεδιασμένες με τον αλγόριθμο σχεδιασμού Bresenham Ο αλγόριθμος του Bresenham γενικεύεται για ευθείες με τυχαία κλίση, αν λάβουμε υπόψη μας τη συμμετρία μεταξύ των τεταρτημορίων του x y επιπέδου και των χωρίων στα οποία διαμερίζεται ο χώρος από το σύστημα συντεταγμένων. Για μια ευθεία με θετική κλίση μεγαλύτερη του 1, εναλλάσσουμε τους ρόλους των x και y διευθύνσεων. Αυτό σημαίνει ότι μετακινούμαστε κατά τη διεύθυνση των y με μοναδιαία βήματα και υπολογίζουμε τις διαδοχικές τιμές του x κοντά στην ευθεία. Επιπλέον μπορούμε να αναδιαμορφώσουμε το πρόγραμμα ώστε να σχεδιάζει στοιχεία εικόνας ξεκινώντας από άλλο άκρο. Αν η αρχική θέση σε μια ευθεία με θετική κλίση είναι το δεξί άκρο, τότε τόσο το x όσο και το y μειώνονται καθώς μετακινούμαστε από τα δεξιά προς τ' αριστερά. Για να βεβαιωθούμε ότι τα ίδια στοιχεία εικόνας σχεδιάζονται ανεξάρτητα από το άκρο εκκίνησης, επιλέγουμε πάντα το υψηλότερο (ή το χαμηλότερο) από δυο υποψήφια στοιχεία εικόνας όταν οι δυο κατακόρυφες αποκλίσεις από την ευθεία είναι ίσες (d1 = d). Για αρνητικές κλίσεις, οι διαδικασίες είναι παρόμοιες, εκτός από το γεγονός ότι τώρα η μια συντεταγμένη μειώνεται καθώς η άλλη αυξάνεται. Τέλος, ειδικές περιπτώσεις μπορούν να αντιμετωπιστούν χωριστά: οι οριζόντιες γραμμές (Δy=0), οι κάθετες γραμμές (Δx=0) και οι διαγώνιες γραμμές (Δx = Δy) μπορούν να φορτωθούν απευθείας στη μνήμη παρουσίασης χωρίς να τις επεξεργαστούμε μέσω ενός αλγόριθμου σχεδιασμού ευθειών Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 11

ΑΛΓΟΡΙΘΜΟΣ ΣΧΕΔΙΑΣΗΣ ΚΥΚΛΩΝ Επειδή ο κύκλος είναι ένα συχνά χρησιμοποιούμενο στοιχείο σε εικόνες και γραφήματα, στα περισσότερα πακέτα γραφικών περιλαμβάνεται μια διαδικασία που παράγει είτε πλήρεις κύκλους είτε κυκλικά τόξα. Γενικότερα, μια τέτοια διαδικασία μπορεί να προβάλλει είτε κυκλικές είτε ελλειπτικές καμπύλες. ΙΔΙΟΤΗΤΕΣ ΤΩΝ ΚΥΚΛΩΝ Ένας κύκλος ορίζεται σαν το σύνολο των σημείων που βρίσκονται σε δεδομένη απόσταση R από μια κεντρική θέση (x c, y c ) (Εικόνα -10). Η σχέση της απόστασης δίνεται από το Πυθαγόρειο θεώρημα σε καρτεσιανές συντεταγμένες στη μορφή: (x-x c ) + (y-y c ) = R (.15) Θα μπορούσαμε να χρησιμοποιήσουμε την εξίσωση αυτή, για να υπολογίσουμε την θέση των σημείων της περιφέρειας ενός κύκλου, μετακινούμενοι κατά μήκος του άξονα x με μοναδιαία βήματα από το x c -r στο x c +r και υπολογίζοντας τις αντίστοιχες τιμές για το y από τη σχέση: (.16) Αυτή όμως δεν είναι η καλύτερη μέθοδος παραγωγής ενός κύκλου. Ένα πρόβλημα που παρουσιάζεται μ' αυτή την προσέγγιση είναι η υπερβολική ποσότητα υπολογισμών που περιέχει σε κάθε βήμα. Επιπλέον η απόσταση μεταξύ των θέσεων των σχεδιαζόμενων στοιχείων εικόνας δεν είναι ομοιόμορφη, όπως φαίνεται στην Εικόνα -11. Θα μπορούσαμε να αναπροσαρμόσουμε την απόσταση αυτή εναλλάσσοντας τα x και y (δηλαδή μετακινούμενοι κατά τις τιμές του y και υπολογίζοντας τις τιμές του x) όταν η απόλυτη τιμή της κλίσης του κύκλου είναι μεγαλύτερη του 1. Αυτό όμως απλά αυξάνει το πλήθος των υπολογισμών και την επεξεργασία που απαιτείται από τον αλγόριθμο. Ένας άλλος τρόπος για να εξαλείψουμε τις ανόμοιες αποστάσεις που φαίνονται στην Εικόνα -11 είναι να υπολογίσουμε τα σημεία στην περιφέρεια του κύκλου χρησιμοποιώντας πολικές συντεταγμένες r και θ (Εικόνα -11). Η έκφραση της εξίσωσης του κύκλου σε παραμετρική πολική μορφή δίνεται από το ζεύγος των εξισώσεων: x= x c + r cosθ y= y c + r sinθ (.17) όπου r η ακτίνα από την αρχή των αξόνων και θ η γωνία της ακτίνας r με τον άξονα x ( θ = tan -1 (y/x) ). Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 1

yc xc Εικόνα -10 Κύκλος με συντεταγμένες κέντρου και ακτίνα r Εικόνα -11 Θετικό ημικύκλιο σχεδιασμένο με την εξίσωση (.16) και (x c, y c ) = (0, 0) Όταν μια προβολή παράγεται από τις εξισώσεις αυτές χρησιμοποιώντας καθορισμένο μέγεθος βήματος για τη γωνία, ο κύκλος σχεδιάζεται με σημεία της περιφέρειας που ισαπέχουν. Το μέγεθος βήματος που επιλέγεται για το θ εξαρτάται από την εφαρμογή και την μηχανή απεικόνισης. Μεγαλύτεροι γωνιακοί διαμερισμοί κατά μήκος της περιφέρειας μπορούν να συνδεθούν με μικρά ευθύγραμμα τμήματα που δημιουργούν προσέγγιση του κύκλου. Για μια πιο ομαλή καμπύλη σε μια προβολή ψηφιδοπλέγματος, μπορούμε να θέσουμε το μέγεθος του βήματος ίσο με 1/r. Αυτό σχεδιάζει στοιχεία εικόνας που απέχουν κατά προσέγγιση μιας μονάδας μεταξύ τους. Οι υπολογισμοί μπορούν να περιοριστούν αν αναλογιστούμε τη συμμετρία των κύκλων. Το σχήμα ενός κύκλου είναι παρόμοιο, σε κάθε τεταρτημόριο. Μπορούμε να παράγουμε έναν κυκλικό τομέα στο δεύτερο τεταρτημόριο του xy επιπέδου παρατηρώντας ότι οι δυο κυκλικοί τομείς στο τρίτο και το τέταρτο τεταρτημόριο μπορούν να επιτευχθούν από τους τομείς του πρώτου και του δεύτερου τεταρτημορίου, αν χρησιμοποιούμε την συμμετρία ως προς τον άξονα x. Μπορούμε να επεκταθούμε και να παρατηρήσουμε ότι υπάρχει συμμετρία και ανάμεσα στα όγδοα του κύκλου. Κυκλικοί τομείς σε γειτονικά όγδοα μέσα σ' ένα τεταρτημόριο είναι συμμετρικοί ως προς την ευθεία των 45 ο που διαιρεί τα δυο όγδοα. Αυτές οι συνθήκες συμμετρίας φαίνονται στη Εικόνα -14, όπου ένα σημείο στη θέση (x, y) σ' ένα κυκλικό τομέα του πρώτου ογδόου απεικονίζεται σε επτά σημεία του κύκλου στα υπόλοιπα όγδοα του xy επιπέδου. Εκμεταλλευόμενοι μ' αυτό τον τρόπο την συμμετρία του κύκλου, μπορούμε να παράγουμε όλες τις θέσεις των στοιχείων εικόνας κατά μήκος του κύκλου υπολογίζοντας μόνο τα σημεία του τομέα από x = 0 έως x = y. Ο καθορισμός των θέσεων των στοιχείων εικόνας κατά μήκος μιας κυκλικής περιφέρειας με τη χρήση είτε της εξίσωσης (.15) ή των εξισώσεων (.17) εξακολουθεί να απαιτεί πολύ υπολογιστικό χρόνο. Η εξίσωση (.15) παρέχει πολλαπλασιασμούς και υπολογισμούς τετραγωνικών ριζών, ενώ οι παραμετρικές εξισώσεις περιέχουν πολλαπλασιασμούς και υπολογισμούς τριγωνομετρικών αριθμών. Οι πιο αποτελεσματικοί αλγόριθμοι κύκλων βασίζονται στον αυξητικό υπολογισμό παραμέτρων Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 13

απόφασης, όπως συμβαίνει στον αλγόριθμο ευθειών του Bresenham, που περιλαμβάνει μόνο απλές ακέραιες πράξεις. Ο αλγόριθμος ευθειών του Bresenham για παρουσιάσεις ψηφιδοπλέγματος προσαρμόζεται στην παραγωγή κύκλων κατασκευάζοντας παραμέτρους απόφασης για την εύρεση του πλησιέστερου στην περιφέρεια στοιχείου εικόνας σε κάθε βήμα. Η εξίσωση (.15) του κύκλου είναι όμως μη γραμμική, αφού χρειάζεται ο υπολογισμός της τετραγωνικής ρίζας για τον καθορισμό των αποστάσεων των στοιχείων εικόνας από τον κύκλο. Ο αλγόριθμος του Bresenham για κύκλους αποφεύγει τους υπολογισμούς των τετραγωνικών ριζών συγκρίνοντας τα τετράγωνα των αποστάσεων απόκλισης των στοιχείων εικόνας. Μια μέθοδος απευθείας σύγκρισης της απόστασης είναι ο έλεγχος του μέσου της απόστασης μεταξύ δυο στοιχείων εικόνας ώστε να αποφασίσουμε αν βρίσκεται μέσα ή έξω από τα όρια του κύκλου. Η μέθοδος αυτή εφαρμόζεται πιο εύκολα σε κωνικές τομές. Για ακέραια τιμή της ακτίνας, η προσέγγιση του μέσου σημείου δίνει τις ίδιες θέσεις στοιχείων εικόνας με τον αλγόριθμο του Bresenham για κύκλους. Επίσης το σφάλμα της τοποθέτησης των στοιχείων εικόνας κατά μήκος οποιασδήποτε κωνικής τομής με την χρήση του ελέγχου του μέσου σημείου περιορίζεται στο μισό της απόκλισης του στοιχείου εικόνας Εικόνα -14: Η συμμετρία ενός κύκλου. Ο υπολογισμός ενός σημείου (x, y) του κύκλου σε ένα όγδοο μας δίνει τα σημεία του κύκλου που φαίνονται στα υπόλοιπα επτά όγδοα. O ΑΛΓΟΡΙΘΜΟΣ BRESENHAM ΓΙΑ ΚΥΚΛΟ Όπως σε έναν αλγόριθμο ψηφιδοπλέγματος για ευθείες, παίρνουμε δείγματα κατά μοναδιαία διαστήματα και καθορίζουμε την πλησιέστερη θέση στοιχείου εικόνας σ' ένα συγκεκριμένο τμήμα κύκλου στο κάθε βήμα. Για δοθείσα ακτίνα r και θέση στην οθόνη του κέντρου (x c, y c ), μπορούμε πρώτα να κατασκευάσουμε τον αλγόριθμό μας ώστε να υπολογίζει τις θέσεις των στοιχείων εικόνας γύρω από έναν κύκλο με κέντρο την αρχή των συντεταγμένων (0,0). Κατόπιν κάθε υπολογισμένη θέση (x, y) μετατοπίζεται στην κανονική της θέση στην οθόνη με την πρόθεση του χ c στο χ και του y c στο y. Κατά μήκος του κυκλικού τομέα από x = 0 έως x = y, η κλίση της καμπύλης κυμαίνεται από 0 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 14

έως -1. Επομένως μπορούμε να πάρουμε μοναδιαία βήματα για την θετική κατεύθυνση των x σ' αυτό το όγδοο και να χρησιμοποιήσουμε μια παράμετρο απόφασης για να καθορίσουμε ποια από τις δυο πιθανές θέσεις του y είναι πιο κοντά στον κύκλο σε κάθε βήμα. Οι θέσεις για τα υπόλοιπα επτά όγδοα καθορίζονται με την συμμετρία. Για να εφαρμόσουμε την μέθοδο του μέσου σημείου, ορίζουμε την συνάρτηση κύκλου: fκύκλου(x, y) = x +y -r (.18) Κάθε σημείο (x, y) που ανήκει στο σύνορο ενός κύκλου με ακτίνα r ικανοποιεί την εξίσωση: fκύκλου(x, y) = 0. Αν το σημείο βρίσκεται στο εσωτερικό του κύκλου, η συνάρτηση κύκλου είναι αρνητική. Αν το σημείο βρίσκεται στο εξωτερικό του κύκλου, η συνάρτηση κύκλου είναι θετική. Συνοψίζοντας, η σχετική θέση οποιουδήποτε σημείου (x, y) μπορεί να προσδιοριστεί από το πρόσημο της συνάρτησης κύκλου: { < 0, αν το (x, y) βρίσκεται στο εσωτερικό fκύκλου(x, y)= { = 0, αν το (x, y) βρίσκεται στο σύνορο (.19) { > 0, αν το (x, y) βρίσκεται στο εξωτερικό Η συνάρτηση κύκλου είναι μια παράμετρος απόφασης για τον αλγόριθμο και μπορούμε να κατασκευάσουμε αναδρομικές σχέσεις για την συνάρτηση αυτή όπως κάναμε και στον αλγόριθμο για τις ευθείες. Η Εικόνα -15 δείχνει το μέσο σημείο μεταξύ των δυο υποψήφιων στοιχείων εικόνας στην θέση δείγματος x κ +1. Υποθέτοντας ότι μόλις σχεδιάσαμε το στοιχείο εικόνας στη θέση (x κ, y κ ), θέλουμε να αποφασίσουμε αν το στοιχείο εικόνας στη θέση (x κ+1, y κ ) ή αυτό στη θέση (x κ +1, y κ -1) είναι πιο κοντά στον κύκλο. Η παράμετρος απόφασης είναι η συνάρτηση κύκλου (.18) υπολογισμένη για το μέσο σημείο αυτών των δυο στοιχείων εικόνας: ρ κ = fκύκλου(x κ +1, y κ - 1/) = (x κ +1) + ( y κ - 1/) - r (.0) Αν ρ κ < 0, τότε το μέσο σημείο βρίσκεται μέσα στον κύκλο και το στοιχείο εικόνας που βρίσκεται στη γραμμή σάρωσης y κ βρίσκεται πιο κοντά στο σύνορο του κύκλου. Διαφορετικά η μέση θέση βρίσκεται πάνω ή έξω από τον κύκλο και επιλέγουμε το στοιχείο εικόνας που είναι στην γραμμή σάρωσης y κ - 1. Οι διαδοχικές παράμετροι απόφασης προκύπτουν με τη χρήση αναδρομικών υπολογισμών. Η αναδρομική έκφραση για την επόμενη παράμετρο απόφασης προκύπτει από τον υπολογισμό της συνάρτησης κύκλου στην θέση x κ + 1 + 1 = x κ + : ρ κ+1 = fκύκλου(x κ+1 +1, y κ+1-1/) = [(x κ +1)+1] + ( y κ+1-1/) - r ή ρ κ+1 = ρ κ + (x κ +1) + (y κ+1 - y κ) - ( y κ+1 - y κ) + 1 (.1) όπου το y κ+1 είναι είτε το y κ είτε το y κ -1, ανάλογα με το πρόσημο του ρ κ Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 15

Εικόνα -15: Το μέσο σημείο μεταξύ δυο υποψήφιων στοιχείων εικόνων στην θέση δείγματος x i+1 κατά μήκος περιφέρειας κύκλου Η αύξηση από την οποία προκύπτει το ρ κ+1 είναι είτε το x κ+1 +1 (αν το ρ κ είναι αρνητικό) ή το x κ+1 -y κ +1. Ο υπολογισμός των όρων x κ+1 και y κ+1 μπορεί να γίνει αναδρομικά ως εξής: x κ+1 =x κ + y κ+1 = y κ - Η αρχική παράμετρος απόφασης προκύπτει από την τιμή της συνάρτησης κύκλου στο σημείο εκκίνησης (x ο, y ο) = (Ο, r): ή ρ ο = 5/4 - r (.) Αν η ακτίνα r είναι ακέραιος, μπορούμε να στρογγυλοποιήσουμε το ρ ο σε: ρ ο = 1 - r (για r ακέραιο) αφού όλες οι αυξήσεις είναι ακέραιοι αριθμοί. Μπορούμε να συνοψίσουμε τα βήματα του αλγόριθμου μέσου σημείου για κύκλους ως εξής: Αλγόριθμος Βresenham για κύκλους 1. Εισάγουμε την ακτίνα r και το κέντρο του κύκλου (x c, y c ) και παίρνουμε το πρώτο σημείο στην περιφέρεια ενός κύκλου με κέντρο την αρχή των αξόνων να είναι το: (x ο, y ο ) = (Ο, r) Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 16

. Υπολογίζουμε την αρχική τιμή για την παράμετρο απόφασης: ρ ο = 1 r 3. Σε κάθε θέση x κ, ξεκινώντας με κ=0, κάνουμε το ακόλουθο τεστ: Αν ρ κ < 0, το επόμενο σημείο στον κύκλο με κέντρο (0, 0) είναι το (x κ+1, y κ ) και ρ κ+1 = ρ κ +x κ+1 +1 Αλλιώς, το επόμενο σημείο στον κύκλο είναι το (x κ+1, y κ+1 ) και ρ κ+1 = ρ κ + x κ+1 +1 - y κ+1, όπου x κ+1 = x κ + και y κ+1 = y κ - 4. Προσδιορίζουμε τα συμμετρικά σημεία στα υπόλοιπα επτά όγδοα 5. Μετακινούμε κάθε υπολογισμένη θέση των στοιχείων εικόνας (x, y) στον κύκλο με κέντρο (x c, y c ) και σχεδιάζουμε τις συντεταγμένες: x = x + x c, y = y + y c. 6. Επαναλαμβάνουμε τα βήματα 3 έως 6 μέχρι x y Παράδειγμα -: Σχεδιασμός κύκλου με τη μέθοδο Bresenham Δοθείσης μιας ακτίνας κύκλου r = 10, θα δείξουμε τον αλγόριθμο για κύκλους με τον καθορισμό των θέσεων κατά μήκος του όγδοου του κύκλου στο πρώτο τεταρτημόριο από x = 0 έως x = y. Η αρχική τιμή για την παράμετρο απόφασης είναι: ρ ο = 1 - r = -9 Για τον κύκλο με κέντρο την αρχή των συντεταγμένων, το αρχικό σημείο είναι (x ο, y ο ) = (0, 10). Οι διαδοχικές τιμές παραμέτρων απόφασης και οι θέσεις κατά μήκος του κύκλου όπως υπολογίζονται με τη μέθοδο του μέσου σημείου φαίνονται στον παρακάτω πίνακα: κ ρ κ (x κ+1, y κ+1 ) κ ρ κ (x κ+1, y κ+1 ) 1-9 1, 10 6 8 6, 8-6, 10 7 5 7, 7 3-1 3, 10 4 6 4, 9 5-3 5, 9 Ο σχεδιασμός των θέσεων των στοιχείων εικόνας που παράγονται στο πρώτο τεταρτημόριο απεικονίζεται στο Εικόνα -16. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 17

10 9 8 7 6 5 4 3 1 0 0 1 3 4 5 6 7 8 9 10 Εικόνα -16: Οι επιλεγμένες θέσεις των στοιχείων εικόνας (μαυρισμένοι κύκλοι) κατά μήκος κύκλου με ακτίνα r = 10 και κέντρο των αρχή των συντεταγμένων με τη χρήση του αλγόριθμου μέσου σημείου για κύκλους. Οι λευκοί δείχνουν τις θέσεις συμμετρίας στο πρώτο τεταρτημόριο. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 18

ΑΛΓΟΡΙΘΜΟΣ ΣΧΕΔΙΑΣΗΣ ΕΛΛΕΙΨΕΩΝ Χοντρικά, μια έλλειψη είναι ένας επιμηκυμένος κύκλος. Επομένως οι ελλειπτικές καμπύλες μπορούν να παραχθούν με την τροποποίηση των διαδικασιών για το σχεδιασμό κύκλων έλλειψης κατά μήκος του μικρού και του μεγάλου άξονα. ΙΔΙΟΤΗΤΕΣ ΤΩΝ ΕΛΛΕΙΨΕΩΝ Μια έλλειψη ορίζεται σαν το σύνολο των σημείων των οποίων το άθροισμα των αποστάσεων από δυο σταθερά σημεία (εστίες) είναι το ίδιο για όλα τα σημεία (Εικόνα - 17). Αν συμβολίσουμε τις αποστάσεις των δυο εστιών από ένα σημείο Ρ = (x, y) της έλλειψης με d 1 και d αντίστοιχα, τότε η γενική εξίσωση της έλλειψης μπορεί να γραφτεί ως εξής: d 1 + d = σταθερό (.3) Εκφράζοντας τις αποστάσεις d 1 και d συναρτήσει των συντεταγμένων των εστιών F1 = (x 1, y 1 ), F = (x, y ), έχουμε: (.4) f1 P=(x,y) r y f r x Εικόνα -17 Έλλειψη παραγόμενη από τις εστίες F1 και F Εικόνα -18 Έλλειψη με κέντρο (xc, yc), μεγάλο ημιάξονα r x και μικρό ημιάξονα r y Η εξίσωση της έλλειψης απλοποιείται σημαντικά αν ο μεγάλος και ο μικρός άξονας προσανατολιστούν ώστε να είναι ομόρροποι των αξόνων συντεταγμένων. Στο Εικόνα - 18, φαίνεται μια έλλειψη σε "συνήθη θέση" με μεγάλο και μικρό άξονα προσανατολισμένους παράλληλα προς τους άξονες. Η παράμετρος r x σ' αυτό το παράδειγμα σηματοδοτεί τον μεγάλο ημιάξονα και η παράμετρος r y τον μικρό ημιάξονα. Η εξίσωση της έλλειψης που φαίνεται στο Εικόνα -18 μπορεί να γραφτεί συναρτήσει των συντεταγμένων του κέντρου της έλλειψης και των παραμέτρων r x και r y στην μορφή: ((x-x c )/r x ) + ((y-y c )/r y ) = 1 (.5) Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 19

Χρησιμοποιώντας πολικές συντεταγμένες r και θ, μπορούμε να περιγράψουμε την έλλειψη σε συνήθη θέση με τις παραμετρικές εξισώσεις: x=x c + r x cosθ (.6) y=y c + r y sinθ (-χ, ψ) (χ, ψ) Περ. 1 Περ. (-χ, -ψ) (χ, -ψ) Εικόνα -19 Η συμμετρία σε μια έλλειψη Μπορούμε να χρησιμοποιήσουμε τη συμμετρία για να μειώσουμε ακόμη περισσότερο τους υπολογισμούς. Μια έλλειψη σε συνήθη θέση είναι συμμετρική ως προς τα τεταρτημόρια, αλλά σε αντίθεση με τον κύκλο, δεν είναι συμμετρική μεταξύ των δυο όγδοων ενός τεταρτημορίου. Επομένως πρέπει να υπολογίσουμε τις θέσεις των στοιχείων εικόνας κατά μήκος του ελλειπτικού τόξου στο ένα τεταρτημόριο και κατόπιν να πάρουμε τις θέσεις για τα υπόλοιπα τεταρτημόρια μέσω συμμετρίας (Εικόνα -19). Ο ΑΛΓΟΡΙΘΜΟΣ ΜΕΣΟΥ ΣΗΜΕΙΟΥ ΓΙΑ ΕΛΛΕΙΨΕΙΣ Η προσέγγισή της έλλειψης είναι ανάλογη μ' αυτή που χρησιμοποιήθηκε για την προβολή ενός κύκλου ψηφιδοπλέγματος. Δοθέντων των παραμέτρων r x, r y και (x c, y c ), καθορίζουμε σημεία (x, y) για μια έλλειψη σε συνήθη θέση με κέντρο την αρχή των αξόνων και κατόπιν μεταθέτουμε τα σημεία έτσι, ώστε η έλλειψη να έχει κέντρο (x c, y c ). Αν θέλουμε να προβάλλουμε μια έλλειψη σε μη συνήθη θέση, τότε περιστρέφουμε την έλλειψη γύρω από το κέντρο της ώστε να επαναπροσανατολιστούν ο μεγάλος και ο μικρός άξονας. Προς το παρόν, θεωρούμε μόνο την προβολή ελλείψεων σε συνήθη θέση. Η μέθοδος για ελλείψεις εφαρμόζεται σε ολόκληρο το πρώτο τεταρτημόριο σε δυο φάσεις. Επεξεργαζόμαστε το πρώτο τεταρτημόριο παίρνοντας μοναδιαία βήματα κατά την διεύθυνση των x όταν η κλίση της καμπύλης είναι μεγαλύτερη του -1, ενώ παίρνουμε μοναδιαία βήματα κατά τη διεύθυνση των y όταν η κλίση της καμπύλης είναι μικρότερη του -1. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 0

Οι περιοχές 1 και (Εικόνα -19) μπορούν να επεξεργαστούν με πολλούς τρόπους. Μπορούμε να ξεκινήσουμε από τη θέση (Ο, r y ) και να μετακινηθούμε κατά τη φορά των δεικτών του ρολογιού κατά μήκος της έλλειψης στο πρώτο τεταρτημόριο, αλλάζοντας από τα μοναδιαία βήματα ως προς x σε μοναδιαία βήματα ως προς y όταν η κλίση γίνεται μικρότερη του -1. Εναλλακτικά, μπορούμε να ξεκινήσουμε από το (r x, Ο) και να επιλέξουμε σημεία με φορά αντίθετη των δεικτών του ρολογιού, αλλάζοντας από μοναδιαία βήματα ως προς y σε μοναδιαία βήματα ως προς x όταν η κλίση γίνεται μεγαλύτερη του -1. Σαν ένα παράδειγμα σειριακής εφαρμογής του αλγόριθμου μέσου σημείου, μπορούμε να πάρουμε το σημείο εκκίνησης στο (Ο, r y ) και να μετακινηθούμε κατά μήκος της ελλειπτικής καμπύλης με τη φορά των δεικτών του ρολογιού σε ολόκληρο το πρώτο τεταρτημόριο. Ορίζουμε μια συνάρτηση έλλειψης από την εξίσωση (.5) με (x c, y c ) = (0, 0) ως εξής: fέλλειψη (x, y)= r y x + r x y - r x r y (.7) η οποία έχει τις ακόλουθες ιδιότητες: { < 0, αν το (x, y) είναι στο εσωτερικό της έλλειψης fέλλειψη (x, y) { = 0, αν το (x, y) είναι στο σύνορο της έλλειψης (.8) { > 0, αν το (x, y) είναι στο εξωτερικό της έλλειψης Επομένως η συνάρτηση έλλειψης εξυπηρετεί σαν παράμετρος απόφασης για τον αλγόριθμο Bresenham. Σε κάθε θέση του δείγματος, επιλέγουμε το επόμενο στοιχείο εικόνας κατά μήκος της έλλειψης σύμφωνα με το πρόσημο της συνάρτησης έλλειψης, υπολογισμένης στο μέσο σημείο δυο υποψήφιων στοιχείων εικόνας. Ξεκινώντας από το (Ο, r y ) παίρνουμε μοναδιαία βήματα κατά τη διεύθυνση των x μέχρι να φτάσουμε στο σύνορο των περιοχών 1 και (Εικόνα -0). Κατόπιν αλλάζουμε σε μοναδιαία βήματα κατά των άξονα y για το υπόλοιπο της καμπύλης στο πρώτο τεταρτημόριο. Σε κάθε βήμα πρέπει να ελέγχουμε την τιμή της κλίσης της καμπύλης. Η κλίση της έλλειψης είναι: dy/ dχ = - (r y x / r χ y) (.9) Στο σύνορο μεταξύ της περιοχής 1 και της περιοχής, dy/ dχ = -1 και r y x = r χ y Επομένως ξεφεύγουμε από την περιοχή 1 όταν: r y χ r χ y (.30) Στην περιοχή 1, μπορούμε να προσδιορίσουμε την επόμενη θέση πάνω στην έλλειψη υπολογίζοντας την τιμή της παραμέτρου απόφασης (δηλαδή την συνάρτηση έλλειψης (.37) σ' αυτό το μέσο σημείο: ρ1 κ =r y (χ κ +1) + r χ (y κ -1/) - r χ r y (.31) Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 1

Αν ρ1 κ < 0, το μέσο σημείο βρίσκεται μέσα στην έλλειψη και το στοιχείο εικόνας στην γραμμή σάρωσης y κ είναι πιο κοντά στο σύνορο της έλλειψης. Διαφορετικά, το μέσο σημείο βρίσκεται έξω ή επάνω στο σύνορο της έλλειψης και επιλέγουμε το στοιχείο εικόνας στην γραμμή σάρωσης y κ -1. Στην επόμενη θέση (χ κ+1 +1 = χ κ +), η παράμετρος απόφασης για την περιοχή 1 δίνεται από τη σχέση: ρ1 κ+1 = r y [(χ κ+1 ) +1] + r χ (y κ+1-1/) - r χ r y ρ1 κ+1 = ρ1 κ + r y (χ κ+1 ) + r y + r χ [(y κ+1-1/) - (y κ -1/) ] (.3) όπου το y κ+1 είναι είτε το y κ ή το y κ-1, ανάλογα με το πρόσημο του ρ1 κ. Οι παράμετροι απόφασης αυξάνονται κατά: αύξηση= { r y x κ+1 + r y, αν ρ1 κ < 0 { r y x κ+1 + r y - r x y κ+1, αν ρ1 κ > 0 Όπως και στον αλγόριθμο για τους κύκλους, οι αυξήσεις των παραμέτρων απόφασης μπορούν να υπολογιστούν μόνο με τη χρήση προσθαφαιρέσεων, αφού οι τιμές των όρων r y x και r x y μπορούν επίσης να υπολογιστούν αναδρομικά. Για την αρχική θέση(ο, r y ) οι δυο όροι παίρνουν τιμές: r y x = 0 (.33) r x y = r x r y (.34) Καθώς τα χ και y αυξάνονται, οι καινούριες τιμές προκύπτουν προσθέτοντας r y στην (.33) και αφαιρώντας r x από την (.34). Οι καινούριες τιμές συγκρίνονται σε κάθε βήμα και προχωράμε από την περιοχή 1 στην περιοχή όταν ικανοποιείται η συνθήκη (.30). Στην περιοχή 1, η αρχική τιμή για την παράμετρο απόφασης προκύπτει από την τιμή της συνάρτησης έλλειψης για την αρχική θέση (x o, y o ) = (Ο, r y ): ρ1 o = r y - r x r y + 1/4 r x (.35) Στην περιοχή, παίρνουμε δείγματα με μοναδιαίο βήμα κατά την αρνητική διεύθυνση των y και θεωρούμε το μέσο σημείο μεταξύ των οριζόντιων στοιχείων εικόνας σε κάθε βήμα. Σ' αυτή την περιοχή η παράμετρος απόφασης υπολογίζεται από τη σχέση: ρ κ = r y (x κ + 1/) +r x (y κ -1) - r x r y (.36) Αν ρ κ > 0, το μέσο σημείο βρίσκεται έξω από το όριο της έλλειψης και επιλέγουμε το στοιχείο εικόνας στην θέση x κ. Αν ρ κ <= 0, το μέσο σημείο βρίσκεται μέσα ή πάνω στο σύνορο της έλλειψης, οπότε επιλέγουμε το στοιχείο εικόνας στην θέση x κ +1. Για να καθορίσουμε τη σχέση μεταξύ των διαδοχικών παραμέτρων απόφασης στην περιοχή, αποφασίζουμε την συνάρτηση έλλειψης στο επόμενο βήμα y κ+1-1 = y κ -: ρ κ+1 =r y (x κ+1 + 1/) + r x [(y κ -1)-1] - r x r y (.37) Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ

ή ρ κ+1 = ρ κ - r x (y κ -1) + r x + r y [(x κ+1 + 1/) - (x κ +1/) ] (.38) όπου το x κ+1 είναι είτε x κ ή το x κ+1, ανάλογα με το πρόσημο του ρ κ. Όταν μπαίνουμε στην περιοχή, η αρχική θέση (x o, y o ) θεωρείται να είναι η τελευταία θέση που επιλέχτηκε στην περιοχή 1 και η αρχική παράμετρος απόφασης στην περιοχή είναι: ρ ο = r y (x o + 1/) + r x (y o -1) - r x r y (.39) Ο αλγόριθμος μπορεί να προσαρμοστεί για να παράγει μια έλλειψη σε μη συνήθη θέση χρησιμοποιώντας τη γενική εξίσωση της έλλειψης (Ax + Bx + Cxy + Dx + Ey + F = 0), όπου οι συντελεστές υπολογίζονται συναρτήσει των συντεταγμένων των εστιών και των διαστάσεων του μικρού και του μεγάλου άξονα. Εναλλακτικά, εφαρμόζουμε αλγόριθμους μετασχηματισμού, όπως αναφέρονται στα επόμενα κεφάλαια. Υποθέτοντας ότι μας δίνονται τα r x, r y και το κέντρο της έλλειψης σε ακέραιες συντεταγμένες οθόνης, χρειαζόμαστε μόνο ακέραιους αναδρομικούς υπολογισμούς για να βρούμε τιμές για τις παραμέτρους απόφασης στον αλγόριθμο μέσου σημείου για τις ελλείψεις. Οι αυξήσεις r x, r y, r x, r y υπολογίζονται μόνο μια φορά, στην αρχή της διαδικασίας. Μια περίληψη του αλγόριθμου μέσου σημείου για ελλείψεις δίνεται στα παρακάτω βήματα: Ο Αλγόριθμος Bresenham για Ελλείψεις 1. Εισάγουμε τα r x, r y και το κέντρο της έλλειψης (x c, y c ) και παίρνουμε το πρώτο σημείο μιας έλλειψης με κέντρο την αρχή των αξόνων να είναι το (x o, y o ) = (O, r y ). Υπολογίζουμε την αρχική τιμή για την παράμετρο απόφασης στην περιοχή 1: ρ1 ο = r y - r x r y + 1/4 r x 3. Σε κάθε θέση x κ, για αρχική τιμή κ=0, εκτελούμε το ακόλουθο τεστ: Αν ρ1 κ < 0, το επόμενο σημείο κατά μήκος της έλλειψης με κέντρο (0, 0) είναι το ( x κ +1, y κ ) και: ρ1 κ+1 = ρ1 κ + r y x κ+1 + r y Αλλιώς το επόμενο σημείο κατά μήκος της έλλειψης είναι το ( x κ +1, y κ -1) και ρ1 κ+1 = ρ1 κ + r y x κ+1 - r x y κ+1 + r y, όπου r y x κ+1 = r y x κ + r y και r x y κ+1 = r x y κ - r x. 4. Επαναλαμβάνουμε τα βήματα της περιοχής 1 έως ότου r y χ κ+1 r x y κ+1 αλλιώς μεταβαίνουμε στην περιοχή Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 3

5. Υπολογίζουμε την αρχική τιμή για την παράμετρο απόφασης στην περιοχή χρησιμοποιώντας το τελευταίο σημείο (x o, y o ) που υπολογίστηκε στην περιοχή 1: ρ ο = r y (x o + 1/) + r x (y o -1) - r x r y 6. Σε κάθε θέση y κ της περιοχής, ξεκινώντας από κ = 0, εκτελούμε τον παρακάτω έλεγχο: Αν ρ κ > 0, το επόμενο σημείο κατά μήκος της έλλειψης με κέντρο (0, 0) είναι το (x κ, y κ -1) και ρ κ+1 = ρ κ - r x y k+1 + r x. Διαφορετικά, το επόμενο σημείο κατά μήκος της έλλειψης είναι το (x κ +1, y κ -1) και ρ κ+1 = ρ κ + r y x κ+1 r x y κ+1 + r x 7. Επαναλαμβάνουμε τα βήματα της περιοχής έως ότου (χ κ+1, y κ+1 ) = (r x, 0). 8. Καθορίζουμε τα συμμετρικά σημεία στα υπόλοιπα τρία τεταρτημόρια 9. Μετακινούμε κάθε υπολογισμένη θέση στοιχείου εικόνας (x, y) πάνω στην έλλειψη με κέντρο (x c, y c ) και σχεδιάζουμε τις τιμές των συντεταγμένων: x = x + x c, y = y + y c. Παράδειγμα -3: Σχεδίαση έλλειψης Με παραμέτρους εισόδου για την έλλειψη r x = 8, r y = 6, θα δείξουμε τα βήματα του αλγόριθμου μέσου σημείου για ελλείψεις, καθορίζοντας τις θέσεις ψηφιδοπλέγματος κατά μήκος της έλλειψης στο πρώτο τεταρτημόριο. Οι αρχικές τιμές και οι αυξήσεις για την παράμετρο απόφασης είναι: r y x =0 (με αύξηση r y = 7) r x y = r y r y (με αύξηση -r x = -18) Στην περιοχή 1 έχουμε: Το αρχικό σημείο για την έλλειψη με κέντρο την αρχή των αξόνων είναι το (χ 0, y 0 ) = (0, 6) και η αρχική παράμετρος απόφασης έχει τιμή: ρ1 ο = r y - r x r y + 1/4 r x = -33 Οι διαδοχικές τιμές των παραμέτρων απόφασης και οι θέσεις κατά μήκος της έλλειψης, όπως υπολογίζονται από την μέθοδο, δίνονται από τον πίνακα: κ ρ 1/κ (x κ+1, y κ+1 ) ry x κ+1 rx y κ+1 0-33 1, 6 7 768 1-4, 6 144 768-44 3, 6 16 768 3 08 4, 5 88 640 4-108 5, 5 360 640 5 88 6, 4 43 51 6 144 7, 3 504 384 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 4

Περνάμε τώρα έξω από την περιοχή 1, αφού r y x >= r y y. Για την περιοχή, το αρχικό σημείο (χ ο, ψ ο) είναι το (7,3) και η αρχική παράμετρος απόφασης είναι: ρ ο = -151 Οι υπόλοιπες θέσεις κατά μήκος της έλλειψης στο πρώτο τεταρτημόριο φαίνονται στο πίνακα κ Ρ /κ (x κ+1, y κ+1 ) r y x κ+1 r x y κ+1 0-151 8, 576 56 1 33 8, 1 576 18 745 8, 0 - - H σχεδίαση των επιλεγμένων θέσεων κατά μήκος του συνόρου της έλλειψης μέσα στο πρώτο τεταρτημόριο απεικονίζεται στην Εικόνα -0 10 9 8 7 6 5 4 3 1 0 0 1 3 4 5 6 7 8 9 10 Εικόνα -0: Σχεδίαση έλλειψης με τον αλγόριθμο Bresenham. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 5