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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1 of 79 ΘΕΜΑ 2. Δίνεται η συνάρτηση f(x) = x 2 4x + 5, x R

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

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

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

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

ΜΑΘΗΜΑΤΙΚΑ 5 ΠΕΡΙΟΔΩΝ ΗΜΕΡΟΜΗΝΙΑ: 8 ΙΟΥΝΙΟΥ 2009

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

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

x 2 + y 2 x y

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΣΤΑΤΙΣΤΙΚΗ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ. Κεφάλαιο 8. Συνεχείς Κατανομές Πιθανοτήτων Η Κανονική Κατανομή

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

I.1 ΣΥΝΑΡΤΗΣΕΙΣ-ΕΞΙΣΩΣΕΙΣ: {f(x), y= f(x), y= y(x), F(x, y) = c}

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

ΔΙΑΝΥΣΜΑΤΑ. Ακολουθίες. Στην ενότητα αυτή θα μάθουμε: Να ορίζουμε το διάνυσμα.

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

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

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

1 Η εναλλάσσουσα ομάδα

ΜΕΘΟΔΟΣ ΕΛΑΧΙΣΤΩΝ ΤΕΤΡΑΓΩΝΩΝ

ΜΕΛΕΤΗ ΑΡΜΟΝΙΚΗΣ ΤΑΛΑΝΤΩΣΗΣ ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΤΟΥ ΜΑΘΗΤΗ Τάξη, τμήμα: Ημερομηνία:. Επώνυμο-όνομα:..

Transcript:

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

x Εικόνα.4 Ευθύγραμμο τμήμα με τέσσερις θέσεις-δείγματα κατά μήκος του x- άξονα μεταξύ των x 1 και x..1 Ο ΑΛΓΟΡΙΘΜΟΣ 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 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 5

Οι εξισώσεις (.6) και (.7) βασίζονται στην υπόθεση ότι η επεξεργασία της ευθείας γίνεται από το αριστερό άκρο προς το δεξί άκρο (Εικόνα -). Αν η φορά της επεξεργασίας αντιστραφεί, έτσι ώστε το σημείο εκκίνησης να είναι το δεξί άκρο, τότε θα έχουμε είτε 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 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 6

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

επόμενο βήμα της δειγματοληψίας θα σχεδιάσουμε το στοιχείο εικόνας στην θέση (11,11) ή στην θέση (11,1). Ανάλογα, η Εικόνα -6 δείχνει ένα ευθύγραμμο τμήμα με αρνητική κλίση το οποίο ξεκινάει από το αριστερό άκρο με θέση στοιχείου εικόνας (50, 50). Εδώ, θα επιλέξουμε την επόμενη θέση στοιχείου εικόνας σαν (51, 50) ή σαν (51, 49); Αυτές οι ερωτήσεις παίρνουν απάντηση με τον αλγόριθμο ευθειών του Bresenham με την βοήθεια του ελέγχου του πρόσημου μιας ακεραίας παραμέτρου, της οποίας η τιμή είναι ανάλογη της διαφοράς των αποκλίσεων των δυο θέσεων στοιχείων εικόνας από την πραγματική ευθεία. 13 1 11 10 10 11 1 13 Εικόνα -5: Τμήμα οθόνης στην οποία πρέπει να σχεδιαστεί ένα ευθύγραμμο τμήμα ξεκινώντας από το στοιχείο εικόνας στη στήλη 10 στη γραμμή σάρωσης 11 50 49 48 50 51 5 53 Εικόνα -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 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 8

συντεταγμένη του μαθηματικού μοντέλου για τη στήλη 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 είναι οι οριζόντιες και οι κατακόρυφες αποκλίσεις των άκρων, και ορίζοντας: ρ κ = 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 κ ) Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 9

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

Μπορούμε να συνοψίσουμε τον σχεδιασμό μιας ευθείας με τη μέθοδο 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 ) 0 6 1,11 5 6 6,15 1,1 6 7,16-3,1 7-8,16 3 14 4,13 8 14 9,17 4 10 5,14 9 10 30,18 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 11

Ο σχεδιασμός των στοιχείων εικόνας που παράγονται κατά μήκος της ευθείας φαίνεται στην Εικόνα -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) μπορούν να φορτωθούν απευθείας στη μνήμη παρουσίασης χωρίς να τις επεξεργαστούμε μέσω ενός αλγόριθμου σχεδιασμού ευθειών Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 1

.3.ΑΛΓΟΡΙΘΜΟΣ ΣΧΕ ΙΑΣΗΣ ΚΥΚΛΩΝ Επειδή ο κύκλος είναι ένα συχνά χρησιμοποιούμενο στοιχείο σε εικόνες και γραφήματα, στα περισσότερα πακέτα γραφικών περιλαμβάνεται μια διαδικασία που παράγει είτε πλήρεις κύκλους είτε κυκλικά τόξα. Γενικότερα, μια τέτοια διαδικασία μπορεί να προβάλλει είτε κυκλικές είτε ελλειπτικές καμπύλες..3.1.ι ΙΟΤΗΤΕΣ ΤΩΝ ΚΥΚΛΩΝ Ένας κύκλος ορίζεται σαν το σύνολο των σημείων που βρίσκονται σε δεδομένη απόσταση 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). Η έκφραση της Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 13

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

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

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

συνάρτηση κύκλου είναι αρνητική. Αν το σημείο βρίσκεται στο εξωτερικό του κύκλου, η συνάρτηση κύκλου είναι θετική. Συνοψίζοντας, η σχετική θέση οποιουδήποτε σημείου (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, ανάλογα με το πρόσημο του ρ κ Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 17

Εικόνα -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 ακέραιο) αφού όλες οι αυξήσεις είναι ακέραιοι αριθμοί. Μπορούμε να συνοψίσουμε τα βήματα του αλγόριθμου μέσου σημείου για κύκλους ως εξής: Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, Τ.Ε.Π Π.Μ 18