Κεφάλαιο 7. 7.1 ομές εδομένων για Γραφικά Υπολογιστών. Οι δομές δεδομένων αποτελούν αντικείμενο της επιστήμης υπολογιστών. Κατά συνέπεια πρέπει να γνωρίζουμε πώς οργανώνονται τα γεωμετρικά δεδομένα, προκειμένου τα γραφικά μας να είναι πιο αποδοτικά στη χρήση τους. Κάθε μοντέλο ενός αντικειμένου αποτελείται από τρεις διαφορετικές οντότητες: δεδομένα, αλγόριθμους, δομή. Τα δεδομένα είναι το βασικότερο στοιχείο κατά την περιγραφή μοντέλων και περιλαμβάνουν αριθμητικές τιμές, χαρακτήρες, ή άλλα είδη που αναπαριστούν ιδιότητες σε μια τυποποιημένη γλώσσα. Οι αλγόριθμοι ορίζουν πώς πρέπει να γίνει η διαχείριση των δεδομένων. Η δόμηση των δεδομένων παίζει πολύ σπουδαίο ρόλο σε μια βάση δεδομένων, η οποία είναι μια τράπεζα επεξεργαζόμενων πληροφοριών, που αποθηκεύονται για μελλοντική χρήση. Η σπουδαιότητα αυτή είναι ακόμα μεγαλύτερη στα σχεδιαστικά και γραφικά συστήματα, που επεξεργάζονται μεγάλες ποσότητες δεδομένων με μεγάλη ταχύτητα. Ένα σημαντικό μέρος των βάσεων δεδομένων αποτελείται από γεωμετρικές πληροφορίες. Αυτός είναι και ο λόγος που καθιστά επιτακτική τη σωστή αναπαράσταση των γεωμετρικών δεδομένων, προκειμένου να έχουμε μια αποδοτική βάση δεδομένων. Σε αυτό το κεφάλαιο, παρατίθεται μια συνοπτική περιγραφή δομών δεδομένων που χρησιμοποιούνται σε εφαρμογές γραφικών με υπολογιστές. Προκειμένου η ανάλυσή μας να είναι ολοκληρωμένη, συμπεριλαμβάνουμε μια σύντομη περιγραφή των βοηθητικών δομών δεδομένων. E8 E4 Εικόνα 7.1 Παράδειγμα αντικειμένου. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 1
7.1.1 Μοντέλα Βάσεων εδομένων Πριν προχωρήσουμε σε συγκεκριμένες δομές δεδομένων και στη χρήση τους για σκοπούς της σχεδίασης γραφικών, πρέπει να δοθεί μια σύντομη περιγραφή των μοντέλων βάσεων δεδομένων. Τα τρία σπουδαιότερα μοντέλα βάσεων δεδομένων είναι: το σχεσιακό, το ιεραρχικό και το δικτυακό. 1. Ένα μοντέλο σχεσιακής βάσης δεδομένων περιέχει δεδομένα που αναπαριστούν σχέσεις, που συνήθως είναι αποθηκευμένες σε αρχεία με σειριακή μορφή. Για παράδειγμα, το αντικείμενο της εικόνας 7.1 μπορεί να αποδοθεί από τρεις σχέσεις: είκτες, οι οποίοι δηλώνουν τις καρτεσιανές συντεταγμένες των κορυφών. Γραμμές, οι οποίες δείχνουν ποιες κορυφές είναι στις άκρες των ακμών. Επιφάνειες, οι οποίες δείχνουν ποιες ακμές ενώνουν μια επιφάνεια. Το μοντέλο σχεσιακής βάσης δεδομένων της εικόνας 7.1 φαίνεται στην εικόνα 7.2. Αυτός ο τύπος βάσης δεδομένων έχει το πλεονέκτημα ότι είναι σταθερός και προσαρμοσμένος στο χειρισμό των σχέσεων και των δεδομένων από το χρήστη. Παρόλα αυτά απαιτεί μια σημαντική ταξινόμηση κατά την υλοποίηση της. Κορυφές X Y Ακμές Κορυφές Έδρες Ακμές 1 x1 y1 Ε1 1 2 Ε1 2 x2 y2 Ε2 2 3 Ε2 3 x3 y3 Ε3 3 4 Ε3 4 x4 y4 Ε4 4 5 Ε4 5 x5 y5 Ε5 5 6 Ε5 6 x6 y6 Ε6 6 7 Ε6 7 x7 y7 Ε7 7 8 Ε7 8 x8 c8 Ε8 8 1 Ε8 Εικόνα 7.2 Παράδειγμα σχεσιακής βάσης δεδομένων 2. Το ιεραρχικό μοντέλο βάσης δεδομένων έχει δομή δέντρου αποτελούμενο από στοιχεία, που λέγονται κόμβοι. Η κορυφή του δέντρου ονομάζεται ρίζα και τα διάφορα επίπεδα ιεραρχίας φαίνονται αρχίζοντας από πάνω προς τα κάτω. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 2
Αντικείμεν Επίπεδο Επίπεδο E1 E2 E8 Επίπεδο 1 2 8 1 Επίπεδο X Y1 X8 Y8 Εικόνα 7.3 Παράδειγμα ιεραρχικής βάσης δεδομένων Το αντικείμενο της εικόνας 7.1 χρειάζεται τέσσερα επίπεδα για να περιγραφεί πλήρως (Εικόνα 7.3). Παρατηρήστε ότι κάθε επίπεδο στοιχείων συνδέεται μόνο με ένα ανώτερο επίπεδο. Τα ιεραρχικά μοντέλα είναι συνήθως απλά και γρήγορα, αλλά έχουν το μειονέκτημα ότι πολύ λίγες σχέσεις στον κόσμο είναι ιεραρχικές. Επιπλέον, η ιεραρχική υλοποίηση προκαλεί πλεονασμούς και κινδύνους ασυνέπειας. 3. Στο δικτυακό μοντέλο βάσης δεδομένων οι σχέσεις μεταξύ των στοιχείων είναι ''πολλά σε πολλά'', δηλαδή όλα τα στοιχεία κάθε επιπέδου μπορούν να συνδεθούν με πολλά στοιχεία ενός άλλου επιπέδου. Η εικόνα 7.4 αναπαριστά ένα δικτυακό μοντέλο για το αντικείμενο της εικόνας 7.1. Αυτός ο τύπος βάσης δεδομένων είναι πολύ περίπλοκος τόσο σε δομή όσο και σε μέγεθος προγράμματος που χρειάζεται για να την διαχειρισθεί. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 3
Εικόνα 7.4 Παράδειγμα δικτυακής βάσης δεδομένων 7.1.2 Βασικές ομές εδομένων για Γραφικά Οι βάσεις δεδομένων που προαναφέρθηκαν σχηματίζονται χρησιμοποιώντας βασικές δομές, που απαιτούνται για τη δημιουργία και την οργάνωση δεδομένων. Για να μπορέσουμε όμως να κατανοήσουμε τα βοηθητικά στοιχεία δεδομένων, χρειάζεται να τα εκτιμήσουμε και να τα δομήσουμε. Γενικά τα δεδομένα μπορούν να χωριστούν σε στατικά ή δυναμικά. Στατικές δομές δεδομένων προϋποθέτουν σταθερά προκαθορισμένες τιμές και σταθερές θέσεις μνήμης. Σε πολλά προβλήματα κατά τον υπολογισμό όχι μόνο οι τιμές αλλά και η δομή αλλάζουν. Αυτό προκαλεί την ανάγκη δομών δεδομένων που υποστηρίζουν δυναμικό καταμερισμό αποθηκευτικού χώρου. Οι δομές δεδομένων αυτού του τύπου ονομάζονται δυναμικές δομές δεδομένων. 7.1.2.1 Στατικοί πίνακες Το πιο γνωστό παράδειγμα στατικών δομών δεδομένων είναι ο πίνακας. Οι γλώσσες υψηλού επιπέδου χρησιμοποιούν πίνακες, για να περιγράφουν γραφικά δεδομένα. Το μέγεθος του πίνακα ορίζεται συνήθως στη δήλωση του πίνακα και γι αυτό θεωρούνται στατικές δομές δεδομένων. Οι πίνακες χρησιμοποιούνται συνήθως για να περιγράψουν αντικείμενα που δεν αλλάζουν σχήμα. Για παράδειγμα, ας θεωρήσουμε μια δομή δεδομένων, που βασίζεται στην χρήση πίνακα, για να περιγραφεί μία γραμμή από το σημείο Ρ 1 στα σημεία Ρ 2, Ρ 3, Ρ 4, όπως φαίνεται στο σχήμα 7.5. Ο πίνακας που θα περιείχε τις συντεταγμένες αυτών των σημείων δίνεται ως εξής: Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 4
COORD 1 x1 y1 2 x2 y2 3 x3 y3 4 x4 y4 P 2 (x 2,y 2 ) P 1 (x 1,y 1 ) P 3 (x 3,y 3 ) P 4 (x 4,y 4 ) Εικόνα 7.5 Γεωμετρικός ορισμός μιας πολυ-γραμμής οσμένου ενός πίνακα συντεταγμένων, όπως αυτού της προηγούμενης παραγράφου, μπορούμε να χρησιμοποιήσουμε μια μεταβλητή l, που να δείχνει σε κάθε στοιχείο του πίνακα συντεταγμένων. Έτσι μπορούμε να δημιουργήσουμε έναν πίνακα δεικτών (pointer array). Αυτός ο τύπος πίνακα βοηθά την διαδικασία επεξεργασίας των πληροφοριών και ένα σύνηθες παράδειγμα εφαρμογής του στα γραφικά Η/Υ είναι η αναπαράσταση ενός πολυεδρικού αντικειμένου. Εικόνα 7.6 Αναπαράσταση ενός μοναδιαίου κύβου Για την περιγραφή του κύβου της Εικόνας 7.6 χρησιμοποιούνται τρεις πίνακες: Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 5
1. Ένας πίνακας κορυφών, στον οποίο καταχωρούνται οι συντεταγμένες x, y, z κάθε κορυφής. 2. Ένας πίνακας ακμών, ο οποίος δείχνει στον πίνακα κορυφών δηλώνοντας τις δύο κορυφές στο τέλος κάθε ακμής. 3. Ένας πίνακας εδρών, ο οποίος δείχνει στον πίνακα ακμών και καταγράφει τις ακμές που περικλείουν κάθε πλευρά. Η εικόνα 7.7 δείχνει τις τιμές των πινάκων, που χρησιμοποιούνται για την περιγραφή του κύβου. Παρατηρήστε ότι στην αναπαράσταση αντικειμένων με πίνακες αυτού του τύπου υπάρχουν 2 είδη διαθέσιμων πληροφοριών - αριθμητικά δεδομένα, που ορίζουν τις συντεταγμένες x, y, z των κορυφών και δείκτες, οι οποίοι δείχνουν την συσχέτιση μεταξύ ακμών και πλευρών. Το μοντέλο μπορεί να διαφοροποιηθεί με συνεχείς μετασχηματισμούς, οι οποίοι αλλάζουν τα αριθμητικά δεδομένα ή τους δείκτες ή και τα δύο. ΚΟΡΥΦΕΣ Χ Υ Ζ 1 0 0 0 2 0 1 0 3 1 1 0 4 1 0 0 5 0 0 1 6 0 1 1 7 1 1 1 8 1 0 1 ΑΚΜΕΣ κορυφή 1 κορυφή 2 1 1 2 2 2 3 3 3 4 4 4 1 5 5 6 6 6 7 7 7 8 8 8 5 9 1 5 10 2 6 11 3 7 12 4 8 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 6
Έ ΡΕΣ ακμές 1 1 2 3 4 2 1 9 5 10 3 8 7 6 5 4 3 11 7 12 5 4 9 8 12 6 2 10 6 11 Εικόνα 7.7 Πίνακες αναπαράστασης του μοναδιαίου κύβου Για παράδειγμα, μετασχηματισμοί όπως οι μετατοπίσεις και οι περιστροφές επιτυγχάνονται αλλάζοντας τα αριθμητικά δεδομένα και αφήνοντας αμετάβλητες τις συσχετίσεις μέσω των δεικτών. Ένας πιο συνοπτικός τρόπος αναπαράστασης πολυεδρικών αντικειμένων, όπως ο κύβος του σχήματος 7.6, είναι η τοποθέτηση των συντεταγμένων των κορυφών σε ένα πίνακα και των συσχετίσεών τους σε ένα συνδετικό πίνακα, όπως φαίνεται στο σχήμα 7.8. Αυτός ο συνδετικός πίνακας περιλαμβάνει μόνο δύο τύπους στοιχείων: στοιχεία μηδενικής τιμής, τα οποία δηλώνουν απουσία συσχέτισης, μονότιμα στοιχεία (με μια τιμή), τα οποία δηλώνουν την ύπαρξη συσχέτισης. Ο συνδετικός πίνακας μπορεί να χρησιμοποιηθεί για διάφορα στοιχεία ενός μοντέλου, όπως φαίνεται και στο σχήμα 7.8, όπου αποτυπώνονται συσχετίσεις κορυφών και εδρών. ακμές 1 2 3 4 5 6 7 8 1 0 1 0 1 1 0 0 0 2 1 0 1 0 0 1 0 0 3 0 1 0 1 0 0 1 0 4 1 0 1 0 0 0 0 1 5 1 0 0 0 0 1 0 1 6 0 1 0 0 1 0 1 0 7 0 0 1 0 0 1 0 1 8 0 0 0 1 1 0 1 0 Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 7
έδρες 1 2 3 4 5 6 1 0 1 0 1 1 1 2 1 0 1 0 1 1 3 0 1 0 1 1 1 4 1 0 1 0 1 1 5 1 1 1 1 0 0 6 1 1 1 1 0 0 Εικόνα 7.8 Συνδετικοί πίνακες για τον μοναδιαίο κύβο της εικόνας 7.6. 7.1.2.2.Συνδεδεμένες λίστες Μεταξύ των δυναμικών δομών δεδομένων, αυτές που συνήθως χρησιμοποιούνται είναι οι συνδεδεμένες λίστες. Αυτός ο τύπος δομών δεδομένων μπορεί να μεγαλώνει ή να μικραίνει ανάλογα με την χρήση του. Μία συνδεδεμένη λίστα είναι μία συλλογή στοιχείων δεδομένων ή κόμβων, που τοποθετούνται σε μια γραμμική σειρά με χρήση δεικτών (pointers). Στην αναφορά μας στους πίνακες δεικτών, τα γεωμετρικά δεδομένα και οι πληροφορίες δεικτών ήταν τοποθετημένες σε διαφορετικές δομές. Στο παράδειγμα του σχήματος 7.7 ο ένας πίνακας περιέχει τις συντεταγμένες (x, y, z) και ο άλλος τις πληροφορίες δεικτών. Σε μία συνδεδεμένη λίστα οι πληροφορίες αυτές αποθηκεύονται με ενιαίο τρόπο, όπου κάθε κόμβος περιλαμβάνει τόσο τις γεωμετρικές πληροφορίες όσο και τον δείκτη. Ο κόμβος διαιρείται σε δύο μέρη: ένα μόνο με τα δεδομένα και ένα με τη διεύθυνση του επόμενου κόμβου στη λίστα. Ας θεωρήσουμε, για παράδειγμα, ένα τρίγωνο που ορίζεται από τρεις κορυφές Ρ1, Ρ2 και Ρ3. Το σχήμα 7.9 είναι ένα σχηματικό διάγραμμα μιας συνδεδεμένης λίστας που αναπαριστά αυτό το τρίγωνο. Τα δεδομένα αποθηκεύονται στο αριστερό μέρος κάθε κόμβου, μέσα στα κελιά με όνομα x και y. Το τελευταίο κελί του κόμβου περιέχει το δείκτη, ο οποίος αναπαριστάται από ένα βέλος. Το πεδίο του δείκτη του τελευταίου κόμβου περιλαμβάνει μία ειδική τιμή, που ονομάζεται μηδενικός δείκτης (null pointer) και ο οποίος υποδηλώνει ότι έχουμε φτάσει στον τελευταίο κόμβο της λίστας. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 8
Α 2 Α 1 Α 3 x 1 y 1 x 2 y 2 x 3 y 3 null Εικόνα 7.9 Σχηματικό διάγραμμα μιας συνδεδεμένης λίστας Οι λειτουργίες με συνδεδεμένες λίστες ακολουθούν την ίδια λογική με αυτήν που περιγράφηκε για τους πίνακες. Η εισαγωγή, για παράδειγμα, είναι μία κοινή λειτουργία σε εφαρμογές γραφικών με υπολογιστή. Αν υποθέσουμε ότι χρειάζεται να εισαχθεί μια επιπλέον κορυφή στο τρίγωνο του σχήματος 7.9, προκειμένου να δημιουργηθεί ένα κλειστό πολύγωνο, όπως αυτό του σχήματος 7.10. Σε αυτή την περίπτωση, η αρχική λίστα θα πρέπει να επεκταθεί (μεγαλώσει), λόγω της εισαγωγής του νέου κόμβου, με τις ακόλουθες τρεις λειτουργίες : 1. δημιουργία νέου κόμβου, 2. σύνδεση της κορυφής A2 με το νέο κόμβο, 3. σύνδεση του νέου κόμβου με τον κόμβο στον οποίο έδειχνε αρχικά η κορυφή Α2. Αυτή η διαδικασία περιγράφεται από το σχηματικό διάγραμμα του σχήματος 7.10. Α 2 Α 4 Νέος κόμβος Α 1 Α 3 x 1 y 1 x 2 y 2 x 3 y 3 null x 4 y 4 Εικόνα 7.10 Κόμβος εισαγωγής σε μία συνδεδεμένη λίστα Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 9
Μια συνδεδεμένη λίστα με απλή σύνδεση είναι συνήθως πολύ περιοριστική. Για παράδειγμα, όταν φτάνουμε στον κόμβο i δεν υπάρχει τρόπος να επιστρέψουμε στον κόμβο (i-1) εκτός και αν διασχίσουμε τη λίστα από τον κόμβο 1 έως τον κόμβο (i-1). Γι' αυτό, σε εφαρμογές όπου είναι απαραίτητη η κίνηση προς τις δύο κατευθύνσεις είναι απαραίτητη μια διπλή συνδεδεμένη λίστα. Σε αυτή την περίπτωση, κάθε κόμβος έχει τυπικά τρία πεδία: δεδομένα, προηγούμενη σύνδεση, επόμενη σύνδεση. Η χρησιμότητα των διπλών συνδετικών λιστών αποδεικνύεται κατά την αναπαράσταση πολυεδρικών αντικειμένων. Ας υποθέσουμε ότι F1 και F2 είναι οι έδρες του πολυεδρικού αντικειμένου της εικόνας 7.11. Αυτές οι έδρες δημιουργούνται μέσω τριών λιστών : ακμών (A), κορυφών (e) και εδρών (F), όπως φαίνεται στην εικόνα 7.11. Στη λίστα των ακμών χρησιμοποιείται ο δείκτης elist προς την πρώτη ακμή. Οι κόμβοι στην λίστα ακμών περιλαμβάνουν: Ένα μετρητή που αναπαριστά τον αριθμό των εδρών, στις οποίες ανήκει η ακμή. είκτες προς τις κορυφές (Α) των άκρων των ακμών. είκτες προς τις έδρες (F), οι οποίες περικλείουν την ακμή. Ένα δείκτη προς την επόμενη ακμή. Στη λίστα των εδρών, χρησιμοποιείται η λίστα δεικτών Flist που δείχνουν προς όλες τις έδρες που σχηματίζουν το αντικείμενο. Το πεδίο null ορίζει το τέλος της λίστας. Οι έδρες αναπαριστώνται από: είκτες προς τις ακμές (e), που ορίζουν την έδρα. Ένα πεδίο χωρίς τιμή (null) που χαρακτηρίζει το τέλος της λίστας. Μια σχηματική αναπαράσταση αυτής της δομής δίνεται στην εικόνα 7.12. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 10
Α 4 e 4 Α 3 F 2 e 5 e 3 F 1 e 2 Α 2 e 1 Α 1 Λίστα κορυφών Α 1 (x 1,y 1,z 1 ) Α 2 (x 2,y 2,z 2 ) Α 3 (x 3,y 3,z 3 ) Α 4 (x 4,y 4,z 4 ) Λίστα ακμών e 1 =(1, δκτa 1, δκτ A 2, δκτ F 1, null, δκτ e 2 ) elist = δκτ e 1 e 2 =(1, δκτ A 2, δκτ A 3, δκτ F 1, null, δκτ e 3 ) e 3 =(2, δκτ A 1, δκτ A 3, δκτ F 1, δκτ F 2, δκτ e 4 ) e 4 =(1, δκτ A 3, δκτ A 4, δκτ F 2, null, δκτ e 5 ) e 5 =(1, δκτ A 1, δκτ A 5, δκτ F 1, null, null) Λίστα εδρών F 1 =(δκτ e 1, δκτ e 2, δκτ e 3, null) Flist = (δκτ F 1, δκτ F 2, null) F 2 =(δκτ e 3, δκτ e 4, δκτ e 5, null). Εικόνα 7.11 Συνδεδεμένες λίστες που περιγράφουν τις έδρες ενός πολυεδρικού αντικειμένου. Flist: F1: F2: elist: null e1 e2 e3 e4 e5 Εικόνα 7.12 Σχηματική αναπαράσταση της δομής της εικόνας 7.11 (ομοίως για e2, e3, e4, e5) Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 11
7.2 Λειτουργίες Τρισδιάστατης Εμφάνισης Οι λειτουργίες τρισδιάστατης εμφάνισης είναι περισσότερο σύνθετες απ ότι οι δισδιάστατες όχι μόνο εξαιτίας της επιπρόσθετης διάστασης, αλλά και εξαιτίας του ότι το τρισδιάστατο μοντέλο πρέπει να αναπαριστάνεται πάνω σε μια δισδιάστατη επιφάνεια. Στις δύο διαστάσεις, μια εικόνα μπορεί να παραχθεί με μια απλή απεικόνιση. Στις τρεις διαστάσεις, αντίθετα, υπάρχουν περισσότερες επιλογές, που εξαρτώνται από το πώς θα φαίνεται το μοντέλο, π.χ. από εμπρός, από το πλάι κ.ο.κ. Επίσης, για να εξηγήσουμε τη διαφορά ανάμεσα στο τρισδιάστατο μοντέλο και στη δισδιάστατη αποτύπωσή του, πρέπει να χρησιμοποιήσουμε προβολές, που απεικονίζουν το τρισδιάστατο μοντέλο σε ένα δισδιάστατο σχέδιο προβολής. Οι διάφοροι τύποι προβολής δημιουργούν διάφορες όψεις ενός μοντέλου. Αρχικά θα αναπτύξουμε τους μηχανισμούς των προβολών, καθώς αυτοί αποτελούν το επίκεντρο της διαδικασίας τρισδιάστατης προβολής. 7.2.1Προβολές Το πρόβλημα της προβολής ενός τρισδιάστατου αντικειμένου σε μια δισδιάστατη επιφάνεια έχει μελετηθεί από μηχανικούς, αρχιτέκτονες και καλλιτέχνες για αιώνες. Τα συστήματα γραφικών με υπολογιστές δίνουν κι αυτά λύσεις σε προβλήματα προβολών. Οι επίπεδες προβολές αποτελούν την πλέον ενδιαφέρουσα περίπτωση. Επίπεδο προβολής Προβολή Ακτίνες προβολής Εικόνα 7.13 Παράδειγμα επίπεδης προβολής. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 12
Μια κατηγοριοποίηση των επίπεδων προβολών παρουσιάζεται στη Εικόνα 7.14. Εικόνα 7.14 Κατηγοριοποίηση των επίπεδων γεωμετρικών προβολών Κάθε επίπεδη προβολή της εικόνας 7.14 μπορεί να ορισθεί ως εξής: (1) Παράλληλες προβολές: το κέντρο της προβολής έχει τοποθετηθεί στο άπειρο έτσι, ώστε όλες οι γραμμές προβολής να είναι μεταξύ τους παράλληλες. (α) (β) Πλάγιες: Οι ακτίνες προβολής βρίσκονται σε κλίση ως προς το επίπεδο προβολής, αλλά μια πλευρά του αντικειμένου παραμένει παράλληλη προς το επίπεδο προβολής (εικόνα 7.15), Ορθογραφικές: Οι γραμμές προβολής είναι κάθετες στο επίπεδο προβολής (εικόνα 7.16) (i) Ορθογραφικές Πολλαπλών Όψεων: οι πλευρές του αντικειμένου παραμένουν παράλληλες με τα βασικά επίπεδα προβολής. (ii) Αξονομετρικές: όλες οι πλευρές του αντικειμένου βρίσκονται σε κλίση ως προς το επίπεδο προβολής (εικόνα 7.17) Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 13
Επίπεδο προβολής Εικόνα 7.15 Παράδειγμα παράλληλης-πλάγιας προβολής. Επίπεδο προβολής Εικόνα 7.16 Παράδειγμα ορθογραφικής προβολής. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 14
Επίπεδο προβολής Εικόνα 7.17 Παράδειγμα αξονομετρικής προβολής. (2) Προοπτικές προβολές: Το κέντρο της προβολής έχει τοποθετηθεί σε μια πεπερασμένη απόσταση από το επίπεδο προβολής. Σ αυτές τις προβολές, όπως φαίνεται στην εικόνα 7.18, προσδιορίζεται μια οπτική κατεύθυνση από τον παρατηρητή προς το αντικείμενο μέσω των γραμμών προβολής, που τέμνουν το επίπεδο στο οποίο εμφανίζεται η προβολή. ΑΝΟΙΓΜΑ ΕΠΙΠΕΔΟ ΠΡΟΒΟΛΗΣ (ΟΘΟΝΗ) z A ΚΕΝΤΡΟ ΠΡΟΒΟΛΗΣ P P c χ ΦΥΣΙΚΟ ΣΥΣΤΗΜΑ ΣΥΝΤΕΤΑΓΜΕΝΩΝ y Εικόνα 7.18 Γενική μορφή προοπτικής προβολής. (α) Σημεία φυγής Η αίσθηση ότι ορισμένες παράλληλες γραμμές (ως προς τους άξονες x, y, z) φαίνεται ότι συναντιόνται σε κάποιο σημείο (σημείο φυγής). ιακρίνουμε τρεις περιπτώσεις: Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 15
(i) ένα σημείο φυγής όταν το επίπεδο προβολής είναι κάθετο σε έναν από τους τρεις άξονες (x, y, z) (ii) δύο σημεία φυγής όταν το επίπεδο προβολής τέμνει δύο άξονες (iii) τρία σημεία φυγής όταν το επίπεδο προβολής τέμνει και τους τρεις άξονες Οι παράλληλες προβολές χρησιμοποιούνται συνήθως σε εφαρμογές της μηχανικής. Σε μερικές περιπτώσεις, ανταποκρίνονται στις πραγματικές διαστάσεις ενός αντικειμένου, αλλά δεν παράγουν ρεαλιστικές εικόνες. Η προβολή προοπτικής δίνει το ακριβώς αντίθετο αποτέλεσμα: ρεαλιστική εικόνα αλλά χάσιμο των αληθινών διαστάσεων. Σε κάθε προβολή διακρίνουμε τα στοιχεία: Το τρισδιάστατο αντικείμενο που θα προβάλουμε. Καθορίζεται με βάση τα σημεία ορισμού του, ως προς ένα (π.χ. δεξιόστροφο) φυσικό σύστημα συντεταγμένων. Το κέντρο προβολής ή σημείο παρατήρησης (Α), δηλαδή το σημείο από το οποίο παρατηρούμε το αντικείμενο. Αν το κέντρο προβολής βρίσκεται σε πεπερασμένη απόσταση έχουμε προοπτική προβολή, αλλιώς έχουμε παράλληλη προβολή. Το σημείο C, το οποίο κατά προσέγγιση αποτελεί το κέντρο του αντικειμένου. Η γραμμή ΑC ονομάζεται γραμμή παρατήρησης, ενώ η κατεύθυνση από το Α προς το C ονομάζεται κατεύθυνση παρατήρησης. Το επίπεδο προβολής (οθόνη) αποτελεί το επίπεδο στο οποίο απεικονίζεται το είδωλο του αντικειμένου, όπως αυτό σχηματίζεται από τις τομές του επιπέδου προβολής με τις γραμμές προβολής των σημείων του αντικειμένου (π.χ. το σημείο Ρ ως προβολή του σημείου Ρ του αντικειμένου). Το άνοιγμα παρατήρησης καθορίζει το μέγεθος του σκηνής που θα συμπεριληφθεί στην εικόνα, κατά αναλογία του ανοίγματος του φακού σε μια φωτογραφική μηχανή. Μαζί με το κέντρο προβολής και τη γραμμή παρατήρησης αποτελούν τις βασικές παραμέτρους μιας προβολής. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 16
7.2.1.1 Προσεγγίσεις προβολών Οι προσεγγίσεις που μπορούμε να χρησιμοποιήσουμε κατά την ανάπτυξη των διαφόρων προβολών είναι: 1. Ακίνητο κέντρο προβολής - Κινούμενο αντικείμενο. Η προσέγγιση αυτή μπορεί να παρομοιασθεί με την εξέταση ενός ανθοδοχείου από κάποιον, για να αποκτήσει λεπτομερή άποψη για το σχήμα του, το περιστρέφει και το μετατοπίζει. Θεωρούμε ότι το κέντρο προβολής είναι ακίνητο και για να πετύχουμε μια επιθυμητή όψη του αντικειμένου εφαρμόζουμε μετασχηματισμούς. 2. Κινούμενο κέντρο προβολής - Ακίνητο αντικείμενο. Η προσέγγιση αυτή μπορεί να παρομοιασθεί με την εξέταση ενός αυτοκινήτου από κάποιον. Ο παρατηρητής κινείται γύρω από αυτό για να μπορέσει να αποκτήσει λεπτομερή άποψη για το σχήμα του. Χρησιμοποιείται όταν ο παρατηρητής κινείται ως προς κάποιο μοντέλο, όπως οι προσομοιωτές πτήσης. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 17