Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Γραφικά με Η/Υ Αλγόριθμοι σχεδίασης βασικών 2D σχημάτων (ευθεία)"— Μεταγράφημα παρουσίασης:

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

2 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 2 / 37 (παρουσίαση προβλήματος) Σχεδίαση ευθείας με σάρωση (παρουσίαση προβλήματος)  σχεδίαση ευθείας AB, με σάρωση, όπου A=(0,1) και B=(5,4) το επόμενοpixel  ποιο είναι το επόμενο pixel που θα πρέπει να ενεργοποιήσουμε μεταξύ των Α και Β;

3 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 3 / 37 (εύρεση επόμενου pixel) Σχεδίαση ευθείας με σάρωση (εύρεση επόμενου pixel)  οριζόντια ευθεία: ενεργοποίηση πρώτου pixel και αύξηση της τετμημένης κατά 1.  κάθετη ευθεία: ενεργοποίηση πρώτου pixel και αύξηση της τεταγμένης κατά 1.  διαγώνια ευθεία: ενεργοποίηση πρώτου pixel και αύξηση των συντεταγμένων x και y κατά 1.  Τι θα πρέπει να κάνουμε στη γενική περίπτωση;

4 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 4 / 37 (γενική περίπτωση, εύρεση επόμενου pixel) Σχεδίαση ευθείας με σάρωση (γενική περίπτωση, εύρεση επόμενου pixel) πλησιέστερο  αυξάνουμε τη τετμημένη x κατά 1 και επιλέγουμε το pixel που είναι πλησιέστερο στην ευθεία AB. πλησιέστερο – αλλά πως βρίσκουμε το “πλησιέστερο”; (x 1, y 1 ) ; (x 2, y 2 ) ; A B

5 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 5 / 37 (πραγματικές αποκλίσεις) Σχεδίαση ευθείας με σάρωση (πραγματικές αποκλίσεις) όμοια τρίγωνα οι κάθετες αποστάσεις (μπλε) είναι ανάλογες των πραγματικών αποκλίσεων (μαύρο). «όμοια τρίγωνα» (x 1, y 1 ) ; (x 2, y 2 ) ; A B

6 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 6 / 37 (σχεδίασης ευθειών) Κριτήρια σωστού αλγορίθμου (σχεδίασης ευθειών)  να φαίνονται ευθείες στην οθόνη (pixels όσο το δυνατόν πλησιέστερα στην μαθηματική πορεία της ευθείας)  να τελειώνουν ακριβώς  να έχουν σταθερή φωτεινότητα  φωτεινότητα ανεξάρτητη του μήκους – κλίσης  να σχεδιάζονται γρήγορα  ελάχιστο πάχος ένα pixel

7 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 7 / 37 Βασικός αλγόριθμος Βασικός αλγόριθμος (εξίσωση ευθείας)

8 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 8 / 37 Εξίσωση ευθείας Δίδονται οι συντεταγμένες των σημείων Α(x 1, y 1 ) & Β(x 2, y 2 ). – η εξίσωση της ευθείας ΑΒ, δίνεται από την σχέση: όπου

9 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 9 / 37 0  m  1 Περιγραφή Βασικού Αλγόριθμου σχεδίαση ευθείας από αριστερά προς τα δεξιά με κλίση m (0  m  1) Για να προσδιορίσουμε τα ενδιάμεσα pixels χρησιμοποιούμε την εξίσωση της ευθείας, ήτοι: 1. εισάγουμε τις συντεταγμένες (x 1,y 1 ) & (x 2,y 2 ) των άκρων 2. θέτουμε: 3. θέτουμε: (στρογγυλοποίηση) βήμα 3 4. επαναλαμβάνουμε το «βήμα 3» x 2 -x 1 φορές

10 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 10 / 37 Παράδειγμα 1  Να σχεδιαστεί ευθεία ΑΒ χρησιμοποιώντας τον αλγόριθμο της εξίσωσης, όπου Α(0,0) & Β(5,6).  Λύση /1 < m Τότε: m = (6-0)/(5-0)= 1.2 και b = 0, όπου 1 < m (2o οκτ.) * Άρα : y = 1.2*x+0 y = 1.2*x+0 θα χρησιμοποιούμε λοιπόν την εξίσωση y = 1.2*x+0 για να ενεργοποιήσουμε τα pixels που αντιστοιχούν σε αυτήν

11 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 11 / 37 Παράδειγμα 1 (συνέχεια) χψ ψ στρ

12 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 12 / 37 Παρατηρήσεις  Ο βασικός αλγόριθμος ή αλγόριθμος της εξίσωσης – είναι αλγόριθμος σάρωσης – παράγει πολλαπλασιασμούς – χρονοβόρες στρογγυλοποιήσεις και

13 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 13 / 37 Επαναληπτικός (αυξητικός)

14 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 14 / 37 Επαναληπτικός Αλγόριθμος DDA από αριστερά προς τα δεξιάχ 2 >χ 1 0 χ 1 ) με κλίση 0 x 1 για την οποία ισχύει:

15 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 15 / 37 Επαναληπτικός Αλγόριθμος DDA ποιο είναι το επόμενο pixel; (x i+1, y i+1 ) (x i, y i ),  υπολογίζουμε το επόμενο pixel (x i+1, y i+1 ) λαμβάνοντας υπόψη το προηγούμενό του (x i, y i ), αποφεύγοντας τον πολλαπλασιασμό, σε κάθε επανάληψη – αυξάνοντας το χ i κατά χ s = 1 το y i μεταβάλλεται κατά y s = m  γενικά ο αλγόριθμος DDA βασίζεται στις – συντεταγμένες των άκρων – διαφορές Δ x & Δ y & – μεταβολές χ s & y s, όπου x s = Δx / step & y s = Δy / step με step=max{|Δχ|, |Δy|}

16 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 16 / 37 Επαναληπτικός Αλγόριθμος DDA ποιο είναι το επόμενο pixel; από αριστερά προς τα δεξιά: Κλίση xsxsxsxs ysysysys 1 ο ογδοημόριο 0  m  1 1m 2 ο ογδοημόριο 1  m 1/m1 3 ο ογδοημόριο 1  |m| 1/m -1 4 ο ογδοημόριο 0  |m|  1 1-m από δεξιά προς τα αριστερά: Κλίση xsxsxsxs ysysysys 1 ο ογδοημόριο 0  m  1 -m-m 2 ο ογδοημόριο 1  m -1/m 3 ο ογδοημόριο 1  |m| -1/m 1 4 ο ογδοημόριο 0  |m|  1 m

17 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 17 / 37 Περιγραφή Επαναληπτικού Αλγόριθμου DDA 1. Εισάγουμε 1. Εισάγουμε τις συντεταγμένες των άκρων 2. Υπολογίζουμε 2. Υπολογίζουμε τα Δ x και Δ y 3. Αν abs(Δ x ) > abs(Δ y ) τότε step = abs(Δ x ) αλλιώς step = abs(Δ y ) 4. Καθορίζουμε 4. Καθορίζουμε την μετατόπιση για το επόμενο pixel, x s = Δx / step & y s = Δy / step 5. Ενεργοποιούμε το πρώτο pixel: x=x 1, y=y 1 6. Θέτουμε x = x + x s & y = y + y s, για τον υπολογισμό των ενδιάμεσων pixels και στρογγυλοποιούμε step 7. Επαναλαμβάνουμε το «βήμα 6» step φορές

18 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 18 / 37 Παράδειγμα 2 Να σχεδιαστεί ευθεία ΑΒ (από αριστερά προς δεξιά, χ 2 >χ 1 ) χρησιμοποιώντας τον αλγόριθμο DDA, όπου Α(0,0) & Β(5,6)Λύση m=1.2>1 → (b=0 & y=1.2x+0) Δ x = 5 Δ y = 6 step abs(Δ y )>abs(Δ x )→ step = abs(Δ y )=6 x s = 1/m=0.833 y s = 1 2 ο ογδοημόριο |m|>1 |m|≤1 m>1 m≤1

19 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 19 / 37 Παράδειγμα 2 (συνέχεια) χ Χ στρ ψ x1=0x1=00y 1 =0 x 2 =x 1 +1/m=0.8331y 2 =1 x 3 =x 2 +1/m=1.6662y 3 =2 x 4 =x 3 +1/m=2.4992y 4 =3 x 5 =x 4 +1/m=3.3323y 5 =4 x 6 =x 5 +1/m=4.1654y 6 =5 x 7 =x 6 +1/m=4.9985y 7 =6

20 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 20 / 37 Παρατηρήσεις  Ο αλγόριθμος DDA, – είναι αλγόριθμος σάρωσης – περιορίζει αισθητά τους πολλαπλασιασμούς – παράγει χρονοβόρες στρογγυλοποιήσεις – δεν χρησιμοποιεί μεταβλητές απόφασης

21 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 21 / 37 Σύγκριση: Εξίσωσης & DDA

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

23 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 23 / 37 Επαναληπτικός Αλγόριθμος Bresenham χρησιμοποιεί μόνο πρόσθεση ακεραίων, αφαίρεση και πολλαπλασιασμό επί δύο  ο αλγόριθμος του Bresenham (επαναληπτικός), είναι ένας αλγόριθμος σάρωσης ευθείων και χρησιμοποιεί μόνο πρόσθεση ακεραίων, αφαίρεση και πολλαπλασιασμό επί δύο, πράξεις που γίνονται ταχύτατα στον υπολογιστή.  είναι σχεδιασμένος, ώστε κάθε επανάληψη να μεταβάλλει μια από τις τιμές των συντεταγμένων κατά μία μονάδα. Η άλλη συντεταγμένη μπορεί να μεταβληθεί, αλλά μπορεί και όχι, εξαρτάται από μια μεταβλητή απόφασηςρ k. γεγονός που εξαρτάται από μια μεταβλητή απόφασης ρ k. ποιο είναι το επόμενο pixel;  η απόφαση για το ποιο είναι το επόμενο pixel; πρόσημο αυτής της μεταβλητής. εξαρτάται αποκλειστικά από το πρόσημο αυτής της μεταβλητής.

24 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 24 / 37 Αλγόριθμος Bresenham χ 2 >χ 1 0 ≤ m ≤ 1 Έστω ότι θέλουμε να σχεδιάσουμε μια ευθεία ΑΒ (από αριστερά προς τα δεξιά, χ 2 >χ 1 ) με κλίση 0 ≤ m ≤ 1, όπου Α(x 1,y 1 ) & B(x 2,y 2 ) για την οποία ισχύει:

25 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 25 / 37 Αλγόριθμος Bresenham ποιο είναι το επόμενο pixel;  Βρισκόμαστε στο pixel (x k, y k ) και πρέπει να αποφασίσουμε αν θα μετακινηθούμε στo pixel (x k+1, y k ) ή στo pixel (x k+1, y k+1 ) x k+1 = x k + 1 &  Ισχύει:x k+1 = x k + 1 & y k+1 = y k ή y k + 1 y k+1 = y k ή y k + 1 x κ+1  Στην θέση x κ+1 συμβολίζουμε με d 1 d 2 d 1 και d 2 τις κατακόρυφες αποκλίσεις. Άρα θα έχουμε: y = mx κ b= m(x κ + 1) + b d 1 = y – y κ = m(x κ + 1) + b - y k d 2 = (y κ +1) – y= y κ m(x κ + 1) - b d 1 - d 2 d 1 - d 2 = 2m(x κ + 1) - 2y κ + 2b - 1 y

26 ρ κ Η μεταβλητή ρ κ δίδεται από την σχέση ρ κ Δx •(d 1 – d 2 ) ρ κ = Δx •(d 1 – d 2 )= 2Δy • x κ - 2Δx • y κ + c όπου d 1 - d 2 d 1 - d 2 = 2m(x κ + 1) - 2y κ + 2b – 1 & Δx Δx = x k+1 - x k >0 y τότε η μεταβλητή απόφασης ρ κ είναι θετική y Αν το pixel (x k+1, y k ) είναι πιο μακριά από την ευθεία y απ‘ ότι το pixel (x k+1, y k+1 ) (δηλαδή d 1 >d 2 ), τότε η μεταβλητή απόφασης ρ κ είναι θετική, οπότε σχεδιάζουμε το πλησιέστερο pixel (x k+1, y k+1 ) ως προς την ευθεία y. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 26 / 37 Υπολογισμός της ρ k y

27 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 27 / 37 Διαδικασία επιλογής επόμενου pixel Για κάθε (x k, y k ), το επόμενο σημείο είναι (x k +1, y k +1) όταν ρ k ≥0 (d1>d2) & ρ k+1 = ρ k + 2(Δ y –Δ x ) (x k +1, y k ) όταν ρ k <0 (d1

28 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 28 / 37 0  m  1 Περιγραφή αλγόριθμου Bresenham σχεδίαση ευθείας από αριστερά προς τα δεξιά με κλίση m (0  m  1) 1. Εισάγουμε τις συντεταγμένες των άκρων της ευθείας 2. Υπολογίζουμε τις σταθερές Δx, Δy και την ρ 0 = 2Δy – Δx 3. Ενεργοποιούμε το πρώτο σημείο (x 0, y 0 ) και στην συνέχεια 4. Για κάθε x κ κατά μήκος της ευθείας, ξεκινώντας από κ = 0, κάνουμε το τέστ: – Αν ρκ<0 το επόμενο σημείο είναι το (x κ+1, y κ ) και ρ κ+1 = ρ κ + 2Δy – Αν ρ κ ≥0 το επόμενο σημείο είναι (x κ+1, y κ+1 ) και ρ κ+1 = ρ κ + 2(Δy - Δx) 5. Επαναλαμβάνουμε το «βήμα 4» Δx φορές

29 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 29 / 37 Αλγόριθμος Bresenham  Αν m > 1 – έχουμε εναλλαγή των x, y  μετακινούμαστε κατά τον άξονα y κατά μοναδιαία βήματα και  υπολογίζουμε το x  στην περίπτωση που η σχεδίαση γίνεται από δεξιά προς τα αριστερά – τα x & y μειώνονται

30 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 30 / 37 Παρατηρήσεις  Ο αλγόριθμος Bresenham, – είναι επαναληπτικός αλγόριθμος σάρωσης – δεν χρησιμοποιεί πολλαπλασιασμούς και διαιρέσεις – χρησιμοποιεί προσθέσεις και αφαιρέσεις – δεν παράγει χρονοβόρες στρογγυλοποιήσεις – χρησιμοποιεί μεταβλητή απόφασης – όταν χρησιμοποιεί ακεραίους έχει πολύ καλή προσέγγιση της ευθείας και – σχεδιάζει κύκλους - καμπύλες

31 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 31 / 37 Παράδειγμα 3 • Έστω ότι θέλουμε να σχεδιάσουμε το ευθύγραμμο τμήμα με αρχή στο (20,10) & τέλος στο (30,18) m = 0,8 < 1 κλίση: m = 0,8 < 1 ρ 0 = 2Δy - Δx = 6 μεταβλητή εκκίνησης: ρ 0 = 2Δy - Δx = 6, Δx = 10Δy = 8 2Δy = 16 2Δx = 20 επίσης Δx = 10, Δy = 8 & 2Δy = 16 & 2Δx = 20.

32 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 32 / 37 Παράδειγμα 3 (συνέχεια) αρχή τέλος 6(21,11) 2

33 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 33 / 37 Παράδειγμα 3 (συνέχεια) Αρχίζοντας από το σημείο (x 0,y 0 )=(20,10) οι ακόλουθες θέσεις των pixels είναι:  Αν ρκ<0 το επόμενο σημείο είναι το (x κ+1, y κ ) και ρ κ+1 = ρ κ + 2Δy  Αν ρ κ ≥0 το επόμενο σημείο είναι (x κ+1, y κ+1 ) και ρ κ+1 = ρ κ + 2(Δy - Δx) ρ 0 =2Δy-Δx=6 >0 ρ 1 > ρ 0 + 2(Δy - Δx)

34 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 34 / 37 Παράδειγμα 3 (συνέχεια) τελικά:

35 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, ΤΕΠ - ΠΜ - Γραφικά με Η/Υ 35 / 37 Αλγόριθμοι σχεδίασης ευθείας Αλγόριθμοι σχεδίασης ευθείας Βασικός Βασικός (Εξίσωσης) Επαναληπτικός Επαναληπτικός (αυξητικός)DDA Bresenham Bresenham (αυξητικός) σάρωσης  πολλαπλασιασμοί ή διαιρέσεις  (αρκετοί)  (ελάχιστοι)- στρογγυλοποιήσεις  - μεταβλητή απόφασης-- 


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

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google