ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΟΝΤΕΛΟΠΟΙΗΣΗ-ΨΗΦΙΑΚΗ ΣΥΝΘΕΣΗ ΕΙΚΟΝΩΝ Διδάσκων: Ν. ΝΙΚΟΛΑΙΔΗΣ 2 η Σειρά Ασκήσεων 1. Αντί των κλασικών κυβικών πολυωνυμικών παραμετρικών καμπυλών επιθυμούμε να χρησιμοποιήσουμε πολυωνυμικές παραμετρικές καμπύλες δευτέρου βαθμού. α)γράψτε την έκφραση μιας τέτοιας καμπύλης p(u) (0<=u<=1) με τη μορφή πολυωνύμου ως προς το u και με τη μορφή πινάκων. Πόσες συνθήκες είναι απαραίτητο να διαθέτουμε για να προσδιορίσουμε τα διανύσματα συντελεστών c i μιας τέτοιας καμπύλης και γιατί; β) Για τον προσδιορισμό των διανυσμάτων συντελεστών μιας παραμετρικής καμπύλης δευτέρου βαθμού διαθέτουμε τις εξής συνθήκες Η καμπύλη ξεκινάει στο σημείο p 0. Η καμπύλη τελειώνει στο σημείο p 1. Η παράγωγος (εφαπτόμενο διάνυσμα) της καμπύλης στην αρχή της είναι ίση με p 0 Η παράγωγος (εφαπτόμενο διάνυσμα) της καμπύλης στο τέλος της είναι ίση με p 1 Χρησιμοποιώντας τις δύο πρώτες συνθήκες και κατάλληλο αριθμό (0, 1 ή 2) από τις επόμενες δύο συνθήκες υπολογίστε τον πίνακα γεωμετρίας (geometry matrix) για ένα τέτοιου είδους καμπύλης. Όσα από τα σημεία ελέγχου p 0, p 1 και τα εφαπτόμενα διανύσματα p 0, p 1 εμφανίζονται στον πίνακα δεδομένων (data matrix) να τοποθετηθούν στον πίνακα αυτό με τη σειρά που απαντώνται στην διάταξη p 0, p 1, p 0, p 1. Δεν είναι απαραίτητο να προχωρήσετε σε αντιστροφές πινάκων που πιθανόν να χρειαστεί να πραγματοποιήσετε. 2. Για τον προσδιορισμό μιας καμπύλης Hermite δίνουμε τον πίνακα δεδομένων (data matrix) q που έχει ως στοιχεία του τα 4 τρισδιάστατα διανύσματα a, b, c, d: a b q = c d α) Εξηγήστε τη φυσική σημασία καθενός από τα τέσσερα αυτά διανύσματα, δίνοντας και το κατάλληλο σχήμα. β) Προσδιορίστε τα σημεία ελέγχου (control points) της ισοδύναμης καμπύλης Bezier, συναρτήσει των a, b, c, d, χωρίς να κάνετε χρήση των πινάκων γεωμετρίας (geometry matrices) των δύο τύπων καμπύλης. Αποδώστε σχηματικά τα 4 σημεία ελέγχου της καμπύλης Bezier.
3. Θέλουμε να δημιουργήσουμε μία κυβική B-spline καμπύλη αποτελούμενη από επιμέρους στοιχειώδη τμήματα, χρησιμοποιώντας 5 σημεία ελέγχου p 0,, p 4. α) Πόσα στοιχειώδη τμήματα καμπύλης ορίζουν τα 5 αυτά σημεία ελέγχου και μεταξύ ποιών σημείων ελέγχου κινείται το καθένα από αυτά τα τμήματα; β) Για να αντιμετωπίσουμε το πρόβλημα της μη ύπαρξης τμήματος καμπύλης που να κινείται μεταξύ των δύο τελευταίων σημείων ελέγχου p 3, p 4 ορίζουμε ένα επιπλέον τμήμα καμπύλης l(u) με τις εξής ιδιότητες: To l(u) διέρχεται (παρεμβάλει) από το σημείο p 4 Υπάρχει C 0 και C 1 συνέχεια στο σημείο ένωσης του l(u) με το προηγούμενο τμήμα καμπύλης. Το εφαπτόμενο διάνυσμα του l(u) στο δεξιό του άκρο προσδιορίζεται από τον χρήστη (έστω p 4 ). Διατυπώστε τις παραπάνω 4 συνθήκες για το l(u) με τη μορφή μαθηματικών εκφράσεων, συναρτήσει των p 0,, p 4, p 4 και υπολογίστε τον πίνακα γεωμετρίας (geometry matrix) για ένα τέτοιου είδους τμήμα καμπύλης. Όσα από τα σημεία ελέγχου και το εφαπτόμενο διάνυσμα p 4 εμφανίζονται στον πίνακα δεδομένων (data matrix) να τοποθετηθούν στον πίνακα αυτό με τη σειρά που απαντώνται στην διάταξη p 0,, p 4, p 4. Δεν είναι απαραίτητο να προχωρήσετε σε αντιστροφές πινάκων που πιθανόν να χρειαστεί να πραγματοποιήσετε. 4. Έστω τρία μη συνευθειακά σημεία p 0, p 1, p 2. Συνδέουμε τα p 0, p 1 και p 1, p 2 με δύο ευθύγραμμα τμήματα, παραμετρικά εκφρασμένα, με την παράμετρο u του καθενός να κινείται στο διάστημα τιμών [0,1]. Στη συνέχεια συνδέουμε τα σημεία των δύο ευθυγράμμων τμημάτων που αντιστοιχούν στην ίδια τιμή του u, u=a με νέο παραμετρικό ευθύγραμμο τμήμα με παράμετρο το u και στο νέο τμήμα παίρνουμε το σημείο που αντιστοιχεί στο u=a. Γράψτε την παραμετρική εξίσωσή της καμπύλης που δημιουργείται όταν το a κινείται στο διάστημα τιμών [0,1]. Τι βαθμού είναι η παραμετρική αυτή καμπύλη, ποια σημεία αποτελούν την αρχή και το τέλος της και σε ποια περιοχή του χώρου περιορίζεται; Ποια είναι τα εφαπτόμενα διανύσματα της καμπύλης στην αρχή και το τέλος της; Τι σας θυμίζει η μορφή τους; 5. Τα Catmull-Rom splines είναι παραμετρικές καμπύλες που ορίζονται από μια σειρά σημείων p 0,, p n ως εξής: Η καμπύλη αποτελείται από n επιμέρους στοιχειώδη κυβικά τμήματα q(u) k (κ=0...n-1) έτσι που το κ-οστό τμήμα q k(u) να έχει αρχή το σημείο p k και τέλος το σημείο p k+1. Η καμπύλη εμφανίζει C 1 συνέχεια στα σημεία ένωσης των στοιχειωδών τμημάτων και το εφαπτόμενο διάνυσμα στο σημείο p k (εκτός των p 0 και p n ) είναι ίσο με ½( p k+1 - p k-1 ). α) Υπολογίστε τον πίνακα γεωμετρίας (geometry matrix) για ένα στοιχειώδες τμήμα καμπύλης (εκτός του αρχικού και του τελικού στοιχειώδους τμήματος). Δεν είναι απαραίτητο να προχωρήσετε σε αντιστροφές πινάκων που πιθανόν να χρειαστεί να πραγματοποιήσετε. β) Πόσες συνθήκες υπολείπονται για να προσδιοριστούν πλήρως το αρχικό και το τελικό στοιχειώδες τμήμα; Δώστε ένα παράδειγμα συνθηκών που θα μπορούσαμε να χρησιμοποιήσουμε.
6. Επιθυμούμε να κατασκευάσουμε παραμετρικές καμπύλες που ορίζονται από μια σειρά σημείων p 0,, p n ως εξής: Η καμπύλη αποτελείται από n επιμέρους στοιχειώδη κυβικά τμήματα q(u) k (κ=0...n-1) έτσι που το κ-οστό τμήμα q k(u) να έχει αρχή το σημείο p k και τέλος το σημείο p k+1. Η καμπύλη εμφανίζει C 1 συνέχεια στα σημεία ένωσης των στοιχειωδών τμημάτων και το εφαπτόμενο διάνυσμα στο σημείο p k (εκτός των p 0 και p n ) είναι ίσο με ½p k - p k-1 +½p k+1 α) Υπολογίστε τον πίνακα γεωμετρίας (geometry matrix) για ένα στοιχειώδες τμήμα καμπύλης (εκτός του αρχικού και του τελικού στοιχειώδους τμήματος). Δεν είναι απαραίτητο να προχωρήσετε σε αντιστροφές πινάκων που πιθανόν να χρειαστεί να πραγματοποιήσετε. β) Αν υποθέσουμε ότι ο πίνακας γεωμετρίας που υπολογίσατε είναι ο παρακάτω 0 1 0 0 1 1/2 1/2 0 2 3 3/2 1/2 1 3/2 1 1/2 υπολογίστε τα πολυώνυμα ανάμειξης (blending polynomials) b 0 (u)...b 4 (u) που αντιστοιχούν σε ένα τμήμα της καμπύλης. 7. Έστω η παραμετρική πολυωνυμική καμπύλη δευτέρου βαθμού που η x συνιστώσα της δίνεται από το πολυώνυμο p(u)=4+5u+2u 2. Στην προσπάθεια μας να απεικονίσουμε την καμπύλη προσεγγίζοντάς την με ευθύγραμμα τμήματα απαιτείται να υπολογίσουμε τις τιμές του p(u) για u=0,1,2,3,4, θέλουμε δε, οι υπολογισμοί να γίνουν με τη μέθοδο των πρόσω διαφορών (forward differences). Πόσες τιμές του p(u) πρέπει να υπολογίσουμε από τον τύπο του, για να ξεκινήσουμε τους υπολογισμούς με τη μέθοδο των πρόσω διαφορών; Γράψτε τον πίνακα των πρόσω διαφορών που πρέπει να κατασκευάσουμε για να υπολογίσουμε τις υπόλοιπες τιμές του p(u), παραθέτοντας επεξηγήσεις όπου χρειάζεται. 8. Δείξτε ότι τα κυβικά B-splines διαθέτουν C 2 συνέχεια στα σημεία όπου ενώνονται δύο διαδοχικά τμήματα καμπύλης. 9 Αποδείξτε ότι κατά την αναδρομική υποδιαίρεση μιας καμπύλης Bezier τα σημεία ελέγχου (control points) των δύο καμπυλών Bezier που προκύπτουν από την υποδιαίρεση βρίσκονται εντός του κυρτού κελύφους (convex hull) που ορίζουν τα σημεία ελέγχου της αρχικής καμπύλης. 10 Για την τμηματική κατασκευή πολυωνυμικής παραμετρικής καμπύλης που να διέρχεται (παρεμβάλει) ένα σύνολο σημείων ελέγχου P 0, P 1,., P i,., P n στο δισδιάστατο χώρο (επίπεδο) ακολουθούμε την εξής διαδικασία σε τετράδες σημείων ελέγχου επικαλυπτόμενες κατά τρία σημεία: Παρεμβάλουμε μία πολυωνυμική καμπύλη P(u) 0<=u<=1 δευτέρου βαθμού μεταξύ των σημείων P i-1, P i, P i+1 έτσι ώστε η καμπύλη να διέρχεται από τα σημεία αυτά για τις τιμές της παραμέτρου u={0, 0.5, 1 } αντίστοιχα. Ομοίως παρεμβάλουμε μία πολυωνυμική καμπύλη Q(w) 0<=w<=1 δευτέρου βαθμού μεταξύ των σημείων P i, P i+1, P i+2 έτσι ώστε η καμπύλη να διέρχεται από τα σημεία αυτά για τις τιμές της παραμέτρου w={0,
0.5, 1 } αντίστοιχα. Στη συνέχεια κατασκευάζουμε μια τρίτη πολυωνυμική καμπύλη R(t) 0<=t<=1 μεταξύ των σημείων P i, P i+1 με γραμμική παρεμβολή των P(u), Q(w) στο παραπάνω διάστημα : R(t) =tp(u(t))+(1-t)q(w(t)) Εκφράστε την R(t) συναρτήσει των εμπλεκομένων σημείων ελέγχου. Τι βαθμού είναι η καμπύλη αυτή; 11 α) Βρείτε μια έκφραση για το εφαπτόμενο διάνυσμα σε ένα σημείο p(u) μιας κυβικής καμπύλης Bezier, συναρτήσει των τεσσάρων σημείων ελέγχου p 0, p 1, p 2, p 3. β) Δώστε μια έκφραση για το κάθετο διάνυσμα μιας δι-κυβικής επιφάνειας Bezier σε ένα σημείο p(u,v) συναρτήσει των 16 σημείων ελέγχου p i,j (δεν χρειάζεται να είστε πλήρως αναλυτικοί στους υπολογισμούς σας). γ) Μια κυβική καμπύλη Bezier μπορεί να παρασταθεί ως: p = 2 3 ( u) [1, u, u, u ] Υπολογίστε τα στοιχεία του 4x4 πίνακα B. p0 p1 B p 2 p3 12 α) Δείξτε ότι για να πάρουμε την περιστρεμμένη εκδοχή μίας καμπύλης παρεμβολής αρκεί να πάρουμε την καμπύλη που ορίζεται από τα αντίστοιχα περιστρεμμένα σημεία ελέγχου. β) Δώστε γραφικά και αναλυτικά τις θέσεις των 2 σημείων ελέγχου p 1, p 2 μιας καμπύλης Bezier της οποίας τα σημεία ελέγχου p 0, p 3 και τα εφαπτόμενα διανύσματα d 0, d 3 στα σημεία αυτά δίνονται στο παρακάτω σχήμα. Ζωγραφίστε την σχετική καμπύλη. d 0 d 3 p 3 p 0 13 α) Υπολογίστε τον πίνακα γεωμετρίας (χωρίς να προχωρήσετε σε αντιστροφές) μιας κυβικής παραμετρικής καμπύλης για την οποία ο χρήστης καθορίζει την πρώτη
και την δεύτερη παράγωγο ως προς το u για την τιμή u=2/3 καθώς και το σημείο από το οποίο περνάει η καμπύλη και την πρώτη παράγωγο ως προς το u για την τιμή u=1/3. Δημιουργείται κάποιο πρόβλημα από το γεγονός ότι δεν έχουμε δεδομένα για την αρχή (u=0) και το τέλος (u=1) της καμπύλης; β) Πώς μπορούμε να υπολογίσουμε τις τομές (αν υπάρχουν) δύο κυβικών παραμετρικών καμπυλών που ορίζονται στο διάστημα 0 u 1; Αιτιολογήστε αναλυτικά την απάντηση σας. 14 Δείξτε ότι η προβολή μιας κυβικής παραμετρικής καμπύλης με βάση τον παρακάτω πίνακα προβολής (που αντιστοιχεί σε COP στην αρχή των αξόνων και επίπεδο προβολής κάθετο στον άξονα z στο σημείο z=-1) 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 δεν είναι ισοδύναμη με την καμπύλη που έχει σαν σημεία ελέγχου τις προβολές (και πάλι με βάση τον παραπάνω πίνακα) των σημείων ελέγχου της αρχικής καμπύλης.