3 | 'ΓΡΑΦΙΚΑ ΚΑΙ ΕΙΚΟΝΙΚΗ ΠΡΑΓΜΑΤΙΚΟΤΗΤΑ' | Μουστάκας Κ., Παλιόκας Ι., Τσακίρης A., Τζοβάρας Δ. |
Πατήστε πάνω στους τίτλους των υποκεφαλαίων ή μεταφερθείτε στην αρχική σελίδα.
2015 |
ΚΕΦΑΛΑΙΟ 3: ΓΕΩΜΕΤΡΙΚΟΙ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΙ ΚΑΙ ΠΡΟΒΟΛΕΣ
|
|
ΣύνοψηΤο παρόν κεφάλαιο είναι θεμελιώδες για τα συστήματα γραφικών. Αποτελεί τη βάση για την υλοποίηση πολλών πιο πολύπλοκων διαδικασιών όπως ο φωτισμός, η προβολή και η συνθετική κίνηση. Αρχικά παρουσιάζονται οι γραμμικοί μετασχηματισμοί και οι ιδιότητές τους. Στη συνέχεια περιγράφονται οι δισδιάστατοι μετασχηματισμοί συντεταγμένων και γίνεται μια εισαγωγή στις ομογενείς συντεταγμένες. Ακολουθεί η ανάλυση των ευρύτατα χρησιμοποιούμενων στην πράξη τρισδιάστατων ομογενών συντεταγμένων και το κεφάλαιο κλείνει με τους μετασχηματισμούς προοπτικής και ορθογραφικής προβολής. Προαπαιτούμενη γνώσηΒασικό υπόβαθρο στη Γραμμική Άλγεβρα. Ευχέρεια στη Διανυσματική Ανάλυση. Στοιχειώδεις γνώσεις Γεωμετρίας και Τριγωνομετρίας. |
Η κίνηση και γενικότερα η δυναμική είναι σήμερα ένα εγγενές στοιχείο των συστημάτων γραφικών. Έτσι πρέπει να υπάρχει η δυνατότητα να αλλάζουν κάποιες ιδιότητες πολλών εκ των αντικειμένων μιας σκηνής. Για παράδειγμα ένα αυτοκίνητο εν κινήσει «μεταφέρει» και «περιστρέφει» τη γεωμετρία του στον εικονικό κόσμο. Ακόμα είναι δυνατό να χρησιμοποιούνται αντίγραφα ενός αντικειμένου (π.χ. δένδρο) σε διαφορετικές κλίμακες και σε διαφορετικές θέσεις. Το μαθηματικό εργαλείο για την υλοποίηση όλων των παραπάνω παραδειγμάτων είναι οι μετασχηματισμοί, οι οποίοι συνθέτουν μία από τις πλέον θεμελιώδεις έννοιες των συστημάτων γραφικών.
Έστω ένα 3Δ σύστημα συντεταγμένων Σ1, στο οποίο ένα σημείο P εκφράζεται μέσω των συντεταγμένων του (x,y,z). Έστω τώρα ένα δεύτερο σύστημα συντεταγμένων Σ2, στο οποίο το ίδιο σημείο εκφράζεται μέσω των συντεταγμένων (a,b,c), οι οποίες μπορούν να εκφραστούν ως γραμμικός συνδυασμός των συντεταγμένων (x,y,z) του Σ1.
{Εξ. 3.1} |
Οι παραπάνω σχέσεις ορίζουν ένα γραμμικό μετασχηματισμό του Σ1 στο Σ2 που μπορεί να γραφεί ως:
{Εξ. 3.2} |
Υπό την προϋπόθεση ότι ο μετασχηματισμός είναι αντιστρέψιμος, ο γραμμικός μετασχηματισμός του Σ2 στο Σ1 προκύπτει ως:
{Εξ. 3.3} |
Το διάνυσμα t=(t1, t2, t3) αντιστοιχεί στη μεταφορά της αρχής των αξόνων του Σ1, ώστε αυτή να συμπέσει με αυτή του Σ2, ενώ ο πίνακας W, συνήθως, σε επανυπολογισμό των διανυσμάτων βάσης. Στις επόμενες παραγράφους και πιο συγκεκριμένα στους ομογενείς μετασχηματισμούς θα δούμε έναν έξυπνο τρόπο να συνδυάσουμε έναν μετασχηματισμό που απαρτίζεται από έναν 3x3 πίνακα W και ένα διάνυσμα t σε έναν και μόνο πίνακα διάστασης 4x4.
Στην παράγραφο αυτή θα συζητήσουμε τους βασικότερους απλούς μετασχηματισμούς, αρχικά στις 2 διαστάσεις και στη συνέχεια θα γενικεύουμε και στις 3 διαστάσεις, περιγράφοντας τις διαφορές που παρουσιάζονται. Οι κύριοι μετασχηματισμοί συντεταγμένων είναι η μεταφορά, η αλλαγή κλίμακας και η περιστροφή.
Ο μετασχηματισμός μεταφοράς περιγράφει τη μετακίνηση προς συγκεκριμένη κατεύθυνση κατά συγκεκριμένη απόσταση. Σημαντική πληροφορία για την υλοποίηση του μετασχηματισμού μεταφοράς είναι η ποσότητα της μετακίνησης tx και ty στον άξονα των x και των y αντίστοιχα. Στις 2Δ, ένα σημείο p1=(x,y) μπορεί να μεταφερθεί κατά t=(tx,ty) και το νέο σημείο p2 προκύπτει ως εξής:
{Εξ. 3.4} |
Στην Εικόνα 3.1 παρουσιάζεται ένα παράδειγμα μεταφοράς ενός σχήματος στις δύο διαστάσεις.
Ο μετασχηματισμός μεταφοράς γενικεύεται εύκολα στις τρεις διαστάσεις, όπως περιγράφει η παρακάτω σχέση:
{Εξ. 3.5} |
Ο μετασχηματισμός αλλαγής κλίμακας επηρεάζει και μεταβάλλει εξ’ ορισμού το μέγεθος των αντικειμένων. Σημαντική πληροφορία για την υλοποίηση του μετασχηματισμού αλλαγής κλίμακας είναι η ποσότητα της μεγέθυνσης ή σμίκρυνσης sx και sy στον άξονα των x και των y αντίστοιχα. Στις 2Δ, ένα σημείο p1=(x,y) μπορεί να κλιμακωθεί με τη χρήση ενός πίνακα κλιμάκωσης S και το νέο σημείο p2 προκύπτει ως εξής:
{Εξ. 3.6} |
Στην περίπτωση όπου sx=sy=s, μιλάμε για ομοιόμορφη αλλαγή κλίμακας, όπου η κλιμάκωση λαμβάνει χώρα με τον ίδιο τρόπο και ως προς τους δύο άξονες. Στην περίπτωση αυτή ο πίνακας S μπορεί να αντικατασταθεί με τη βαθμωτή ποσότητα s.
{Εξ. 3.7} |
Όταν ο συντελεστής κλιμάκωσης έχει τιμή ίση με τη μονάδα, τότε δεν υπάρχει αλλαγή κλίμακας, ενώ μιλάμε για μεγέθυνση ή σμίκρυνση όταν έχει τιμή μεγαλύτερη ή μικρότερη της μονάδας αντίστοιχα. Στην Εικόνα 3.2 παρουσιάζεται ένα παράδειγμα κλιμάκωσης ενός σχήματος στις δύο διαστάσεις.
Η κλιμάκωση ως μετασχηματισμός πολλαπλασιάζει με ένα συντελεστή τις συντεταγμένες ενός αντικειμένου. Έστω τώρα το μαύρο τετράγωνο στο παρακάτω σχήμα, το οποίο θέλουμε να μετασχηματίσουμε ώστε να συμπίπτει με το κόκκινο τετράγωνο. Με μια πρώτη ματιά παρατηρούμε ότι το μέγεθος του αντικειμένου έχει διπλασιαστεί. Άρα ένας μετασχηματισμός ομοιόμορφης κλιμάκωσης κατά 2 S(2,2) ίσως να μας έδινε την απάντηση στο πρόβλημά μας. Δεν είναι όμως έτσι, διότι ο μετασχηματισμός εφαρμόζεται στις συντεταγμένες κάθε σημείου του αντικειμένου. Έτσι αν εφαρμόσουμε την παραπάνω κλιμάκωση αντί να πάρουμε το επιθυμητό αποτέλεσμα της Εικόνας 3.3, θα πάρουμε αντί αυτού το αποτέλεσμα που φαίνεται στην Εικόνα 3.4.
Για να μπορέσουμε τώρα να εφαρμόσουμε κλιμάκωση θα πρέπει να χρησιμοποιήσουμε σύνθετους μετασχηματισμούς. Πρέπει, δηλαδή, αρχικά να μεταφέρουμε το αντικείμενο στην αρχή των αξόνων, στη συνέχεια να εκτελέσουμε την επιθυμητή κλιμάκωση και τέλος να το επαναφέρουμε στην επιθυμητή θέση. Οι σύνθετοι μετασχηματισμοί θα αναλυθούν σε επόμενη παράγραφο. Ο μετασχηματισμός κλιμάκωσης γενικεύεται εύκολα στις τρεις διαστάσεις, όπως περιγράφει η παρακάτω σχέση:
{Εξ. 3.8} |
Η περιστροφή στις δύο διαστάσεις περιστρέφει ένα αντικείμενο γύρω από την αρχή των αξόνων. Σημαντική πληροφορία για την υλοποίηση του μετασχηματισμού περιστροφής στις δύο διαστάσεις είναι η γωνία περιστροφής θ. Ακόμα υιοθετούμε τη σύμβαση ότι θετική είναι μία περιστροφή κατά φορά αντίθετη αυτής των δεικτών του ρολογιού. Έστω, λοιπόν, το σημείο p1=(x,y) το οποίο, όπως απεικονίζει η Εικόνα 3.5 πρέπει να περιστραφεί κατά θ μοίρες και να μετασχηματιστεί στο σημείο p2=(a,b).
Παρατηρώντας την Εικόνα 3.5 και έχοντας υπόψη ότι κατά την περιστροφή το μήκος του διανύσματος Οp παραμένει σταθερό, μπορούμε να εξάγουμε εύκολα τις παρακάτω σχέσεις:
{Εξ. 3.9} |
Η παραπάνω σχέση μπορεί να εκφραστεί και σε μορφή πίνακα ως εξής:
{Εξ. 3.10} |
όπου R(θ) ο πίνακας περιστροφής:
{Εξ. 3.11} |
Η παρακάτω εικόνα παρουσιάζει ένα παράδειγμα 2Δ περιστροφής ενός αντικειμένου.
Όπως και η κλιμάκωση έτσι και η περιστροφή ως μετασχηματισμός επηρεάζει τις συντεταγμένες ενός αντικειμένου. Έστω τώρα το μαύρο τετράγωνο στο παρακάτω σχήμα, το οποίο θέλουμε να μετασχηματίσουμε στο κόκκινο τετράγωνο. Θέλουμε, δηλαδή, να εκτελέσουμε μία περιστροφή 90ο γύρω από το κέντρο βάρους του. Ένας μετασχηματισμός R(90) θα έδινε τη λύση στο πρόβλημά μας; Η απάντηση είναι όχι, διότι ο μετασχηματισμός εφαρμόζεται στις συντεταγμένες κάθε σημείου του αντικειμένου και η περιστροφή λαμβάνει χώρα γύρω από την αρχή των αξόνων. Έτσι, εφαρμόζοντας την παραπάνω περιστροφή αντί να πάρουμε το επιθυμητό αποτέλεσμα (Εικόνα 3.6), θα πάρουμε αντί αυτού το αποτέλεσμα που απεικονίζεται στην Εικόνα 3.7.
Για να μπορέσουμε τώρα να εφαρμόσουμε την περιστροφή πρέπει να χρησιμοποιήσουμε σύνθετους μετασχηματισμούς. Πρέπει, δηλαδή, αρχικά να μεταφέρουμε το αντικείμενο στην αρχή των αξόνων στη συνέχεια να εκτελέσουμε την επιθυμητή περιστροφή και τέλος να το επαναφέρουμε στην επιθυμητή θέση.
Η σημαντικότερη θεμελιώδης διαφορά της περιστροφής στις τρεις διαστάσεις σε σχέση με τις δύο είναι ότι στις τρεις διαστάσεις δεν ορίζεται περιστροφή γύρω από σημείο, αλλά μπορεί να οριστεί περιστροφή γύρω από άξονα. Έτσι σημαντική πληροφορία για την υλοποίηση του μετασχηματισμού περιστροφής στις τρεις διαστάσεις είναι η γωνία περιστροφής θ και ο άξονας περιστροφής v.
Για την περίπτωση περιστροφής γύρω από έναν από τους τρεις άξονες βάσης του συστήματος συντεταγμένων τα πράγματα είναι απλά. Θεωρώντας την περίπτωση της περιστροφής γύρω από τον άξονα z, τότε έχουμε πρακτικά μια περιστροφή δύο διαστάσεων, κατά την οποία αλλάζουν οι συντεταγμένες x και y, ενώ παραμένει σταθερή η z. Αυτό μπορεί να μοντελοποιηθεί επεκτείνοντας τον 2x2 πίνακα περιστροφής σε πίνακα 3x3 με τη χρήση του μοναδιαίου πίνακα για την τρίτη διάσταση, όπως περιγράφει η παρακάτω σχέση:
{Εξ. 3.12} |
Κατά αναλογία μπορούν να οριστούν και οι πίνακες που εκτελούν περιστροφή κατά γωνία θ γύρω από τον άξονα των x και y αντίστοιχα.
{Εξ. 3.13} |
Πρέπει αρχικά να υπενθυμίσουμε ότι εν γένει είναι σημαντική η σειρά με την οποία εφαρμόζονται οι μετασχηματισμοί. Στις παρακάτω εικόνες απεικονίζονται οι διαφορές στην εφαρμογή με διαφορετική σειρά ενός μετασχηματισμού μεταφοράς t(-3,0) και ενός μετασχηματισμού περιστροφής R(90).
Όταν ένας μετασχηματισμός εφαρμοστεί σε ένα σημείο μίας σκηνής τότε έχουμε ως αποτέλεσμα ένα νέο σημείο στη σκηνή. Στο αποτέλεσμα μπορούν να εφαρμοστούν στη συνέχεια επιπλέον μετασχηματισμοί. Για παράδειγμα έστω ένα αντικείμενο με 100 σημεία, το οποίο θέλουμε να κλιμακώσουμε με τον πίνακα S, και να περιστρέψουμε με τον πίνακα R. Δηλαδή, κάθε σημείο του αντικειμένου θέλουμε να μετασχηματιστεί ως εξής:
{Εξ. 3.14} |
Η πράξη αυτή ισοδυναμεί με δύο πολλαπλασιασμούς πινάκων για κάθε σημείο, άρα για τα 100 σημεία έχουμε 200 πολλαπλασιασμούς πινάκων. Ωστόσο, αντί να πολλαπλασιάσουμε τον πίνακα S με το σημείο p και στη συνέχεια το αποτέλεσμα με το R, μπορούμε να υπολογίσουμε ένα σύνθετο μετασχηματισμό ο οποίος να συμπεριλαμβάνει το R και το S σε έναν πίνακα και να πολλαπλασιάσουμε το αποτέλεσμα με όλα τα σημεία του αντικειμένου. Στην περίπτωση αυτή έχουμε 100 πολλαπλασιασμούς πινάκων συν 1 για τον υπολογισμό του σύνθετου μετασχηματισμού. Άρα έχουμε:
{Εξ. 3.15} |
Εδώ πρέπει να προσέξουμε ότι ο πολλαπλασιασμός πινάκων δεν έχει την αντιμεταθετική ιδιότητα, οπότε έχει σημασία η σειρά με την οποία πολλαπλασιάζονται οι πίνακες. Επομένως, όταν θέλουμε να εφαρμόσουμε διαδοχικά ένα σύνολο μετασχηματισμών Μ1, Μ2,…, Μn, πρέπει να υπολογίσουμε το σύνθετο πίνακα πολλαπλασιάζοντας με αντίστροφη φορά:
{Εξ. 3.16} |
Τι γίνεται, όμως, όταν θέλουμε στο σύνθετο μετασχηματισμό μας να εφαρμόσουμε και μεταφορά; Στην περίπτωση αυτή, δυστυχώς, η μεταφορά δεν μπορεί να εκφραστεί ως γραμμικός συνδυασμός των συντεταγμένων του σημείου, δηλαδή με την παρακάτω μορφή:
{Εξ. 3.17} |
Η μεταφορά ας θυμηθούμε ότι απλώς προσθέτει μία ποσότητα σε κάθε συντεταγμένη:
{Εξ. 3.18} |
Συμπερασματικά δεν μπορεί να συμπεριληφθεί σε έναν σύνθετο μετασχηματισμό όπως περιγράφηκε παραπάνω. Τη λύση στο πρόβλημα αυτό δίνουν οι ομογενείς συντεταγμένες, οι οποίες περιγράφονται αναλυτικά στην επόμενη παράγραφο.
Έστω τώρα ότι θέλουμε να εφαρμόσουμε μία αλλαγή συστήματος συντεταγμένων. Αυτό, συνήθως, απαιτεί μία περιστροφή και μία μεταφορά, ώστε να συμπέσουν οι άξονες. Άρα καταλήγουμε σε ένα μετασχηματισμό της παρακάτω μορφής:
{Εξ. 3.19} |
όπου R είναι ο αντιστρέψιμος πίνακας περιστροφής και t το διάνυσμα μεταφοράς. Τι γίνεται, όμως, όταν θέλουμε να επαναλάβουμε άλλον έναν όμοιο μετασχηματισμό με διαφορετικό πίνακα περιστροφής και διάνυσμα μεταφοράς; Αυτή η πολύ κοινή διεργασία στους γράφους σκηνής και στη σκελετική κίνηση, όπως θα περιγράψουμε σε επόμενα κεφάλαια, γίνεται ιδιαίτερα πολύπλοκη, όπως περιγράφεται στην παρακάτω σχέση:
{Εξ. 3.20} |
Για n μετασχηματισμούς, η παραπάνω σχέση υποδεικνύει ότι πρέπει να αποθηκεύουμε τους συνδυασμένους πίνακες περιστροφής RnRn-1αλλά και τους όρους μεταφοράς Rntn-1και tn.
Οι ομογενείς συντεταγμένες μας παρέχουν τη δυνατότητα με ένα έξυπνο τρόπο να παρακάμψουμε το παραπάνω πρόβλημα και προσθέτοντας μία ακόμα διάσταση να περιγράψουμε καθολικά όλους τους βασικούς μετασχηματισμούς με πίνακες (n+1)x(n+1), όπου n είναι η διάσταση του προβλήματος.
Ένα σημείο δύο διαστάσεων αναπαρίσταται, πλέον, με ένα διάνυσμα τριών στοιχείων προσθέτοντας την ομογενή συντεταγμένη w, την οποία και θέτουμε ίση με 1. Άρα η ομογενής αναπαράσταση του σημείου p θα είναι:
{Εξ. 3.21} |
Για ένα δισδιάστατο πρόβλημα μπορούμε να ορίσουμε τον 3x3 ομογενή πίνακα μετασχηματισμού M, ο οποίος συμπεριλαμβάνει και την περιστροφή αλλά και τη μετατόπιση ως εξής:
{Εξ. 3.22} |
Ο πίνακας Μ αν πολλαπλασιαστεί με ένα σημείο p, το μετασχηματίζει ακριβώς, όπως η Εξ. 3.20 και έχει ως αποτέλεσμα ένα σημείο με w συντεταγμένη ίση με 1. Όπως θα δούμε στη συνέχεια και στους μετασχηματισμούς προβολής, δεν «αφήνουν» όλοι η μετασχηματισμοί ανεπηρέαστο το w. Στην περίπτωση αυτή μπορούμε να ανακτήσουμε τις καρτεσιανές συντεταγμένες ενός σημείου διαιρώντας όλες τις συντεταγμένες με το w. Δηλαδή:
{Εξ. 3.23} |
Με τις ομογενείς συντεταγμένες μπορούμε να υπολογίσουμε ένα μετασχηματισμό κλιμάκωσης ενός ζεύγους συντεταγμένων βάσει των παρακάτω εξισώσεων:
{Εξ. 3.24} |
Οπότε η ομογενής κλιμάκωση στις δύο διαστάσεις περιγράφεται από τον παρακάτω πίνακα:
{Εξ. 3.25} |
όπου sx και sy οι συντελεστές κλιμάκωσης κατά τον άξονα των x και y αντίστοιχα.
Με τον ίδιο τρόπο μπορεί να επεκταθεί και ο μετασχηματισμός περιστροφής, ώστε να εφαρμόζεται πάνω σε σημεία τα οποία αναπαρίστανται με ομογενείς συντεταγμένες. Για την περιστροφή ενός σημείου μπορεί να χρησιμοποιηθεί η παρακάτω σχέση:
{Εξ. 3.26} |
Οπότε η ομογενής περιστροφής στις δύο διαστάσεις περιγράφεται από τον παρακάτω πίνακα, όπου θ είναι η γωνία περιστροφής γύρω από την αρχή των αξόνων.
{Εξ. 3.27} |
Ένα από τα προβλήματα τα οποία λύνουν οι ομογενείς συντεταγμένες είναι, όπως αναφέρθηκε και σε προηγούμενη παράγραφο, η δυνατότητα έκφρασης της μεταφοράς ως γραμμικού συνδυασμού των συντεταγμένων εισόδου, δηλαδή με τη χρήση ενός πίνακα 3x3, αντίστοιχου με αυτόν της περιστροφής και της κλιμάκωσης. Πώς, όμως, μπορεί να γίνει κάτι τέτοιο;
Βάσει της συντεταγμένης w των ομογενών συντεταγμένων, η οποία έχει την τιμή 1 για κάθε σημείο (x, y, w) όπου τα x, y αντιστοιχούν σε σημεία του 2Δ κόσμου (αλλιώς θα αντιστοιχούσαν οι συντεταγμένες x/w και y/w σε σημεία του 2Δ κόσμου) μπορούμε να εκφράσουμε τη μεταφορά ως γραμμικό συνδυασμό της εισόδου ως εξής:
{Εξ. 3.28} |
Οπότε η ομογενής μεταφορά στις δύο διαστάσεις περιγράφεται από τον παρακάτω πίνακα όπου tx και ty είναι η μετατόπιση ως προς τον άξονα των x και y αντίστοιχα.
{Εξ. 3.29} |
Πλέον, όλοι οι βασικοί μετασχηματισμοί μπορούν να εκφραστούν ως γραμμικός συνδυασμός των ομογενών συντεταγμένων του σημείου, δηλαδή με την παρακάτω μορφή:
{Εξ. 3.30} |
Οπότε, όταν θέλουμε να εφαρμόσουμε διαδοχικά ένα σύνολο μετασχηματισμών Μ1, Μ2,…, Μn, συμπεριλαμβανομένης της μεταφοράς, πρέπει να υπολογίσουμε το σύνθετο πίνακα πολλαπλασιάζοντας με αντίστροφη φορά:
{Εξ. 3.31} |
Η γενίκευση των 3Δ ομογενών μετασχηματισμών στις τρεις διαστάσεις είναι σχετικά απλή. Στις επόμενες παραγράφους γίνεται η παρουσίασή τους και αναλύονται κάποιες ιδιαιτερότητές τους.
Με τις ομογενείς συντεταγμένες μπορούμε να υπολογίσουμε ένα μετασχηματισμό κλιμάκωσης στις τρεις χωρικές διαστάσεων βάσει των παρακάτω εξισώσεων:
{Εξ. 3.32} |
Οπότε η ομογενής κλιμάκωση στις τρεις διαστάσεις περιγράφεται από τον παρακάτω πίνακα:
{Εξ. 3.33} |
όπου sx, sy και sz οι συντελεστές κλιμάκωσης κατά τον άξονα των x, y και z αντίστοιχα. Πολλές φορές είναι χρήσιμο να γνωρίζουμε και τους αντίστροφους μετασχηματισμούς, όταν για παράδειγμα θέλουμε να αναιρέσουμε μία κίνηση σε μία προσομοίωση. Σε γενικές γραμμές ο αντίστροφος Μ-1 ενός μετασχηματισμού M είναι ο αντίστροφος του πίνακα Μ, οπότε πρέπει να ικανοποιεί την παρακάτω σχέση:
{Εξ. 3.34} |
Για την περίπτωση της κλιμάκωσης, ο αντίστροφος μετασχηματισμός μιας κλιμάκωσης (sx, sy, sz) προκύπτει από τον παρακάτω πίνακα:
{Εξ. 3.35} |
Με τις ομογενείς συντεταγμένες μπορούμε να υπολογίσουμε ένα μετασχηματισμό μεταφοράς στις τρεις χωρικές διαστάσεων βάσει των παρακάτω εξισώσεων:
{Εξ. 3.36} |
Οπότε η ομογενής μεταφορά στις δύο διαστάσεις περιγράφεται από τον παρακάτω πίνακα, όπου tx, ty και tz είναι η μετατόπιση ως προς τον άξονα των x και y αντίστοιχα.
{Εξ. 3.37} |
Για την περίπτωση της μεταφοράς ο αντίστροφος μετασχηματισμός μίας μετατόπισης (tx, ty, tz) προκύπτει από τον παρακάτω πίνακα:
{Εξ. 3.38} |
Με τις ομογενείς συντεταγμένες μπορούμε να υπολογίσουμε ένα μετασχηματισμό περιστροφής κατά γωνία θ, γύρω από έναν από τους άξονες βάσης. Θεωρώντας την περίπτωση της περιστροφής γύρω από τον άξονα z, μπορούμε να υπολογίσουμε την περιστροφή ενός σημείου ως εξής:
{Εξ. 3.39} |
Οπότε ο πίνακας ομογενούς περιστροφής γύρω από τον άξονα z έχει ως εξής:
{Εξ. 3.40} |
Κατά αναλογία μπορούν να οριστούν και οι πίνακες που εκτελούν περιστροφή κατά γωνία θ, γύρω από τον άξονα των x και y αντίστοιχα.
{Εξ. 3.41} |
Για την περίπτωση της περιστροφής ο αντίστροφος μετασχηματισμός προκύπτει, θέτοντας όπου θ το –θ. Οπότε οι αντίστροφοι πίνακες περιστροφής είναι οι εξής:
{Εξ. 3.42} |
Ο υπολογισμός μίας τυχαίας περιστροφής στις τρεις διαστάσεις είναι ένα αρκετά περίπλοκο πρόβλημα. Εάν κανείς θέλει να συνδυάσει τρεις περιστροφές γύρω από τους άξονες βάσης για να συνθέσει μία τυχαία περιστροφή, πρέπει να είναι ιδιαίτερα προσεκτικός και να λάβει υπόψη ότι οι σύνθετοι μετασχηματισμοί δεν έχουν την αντιμεταθετική ιδιότητα. Δηλαδή, αν εκτελέσει κανείς μία περιστροφή γύρω από τον άξονα των x και μετά μία περιστροφή γύρω από τον άξονα των z, δε θα καταλήξει στο ίδιο αποτέλεσμα που θα κατέληγε αν εκτελούσε τους μετασχηματισμούς με αντίστροφη σειρά.
Ας εξετάσουμε, όμως, μια αρκετά χρήσιμη στην πράξη περίπτωση που είναι η περιστροφή γύρω από τυχαίο άξονα. Έστω ότι έχουμε το διάνυσμα p, το οποίο θέλουμε να περιστρέψουμε γύρω από το μοναδιαίο διάνυσμα (άξονα) v, όπως απεικονίζεται στην παρακάτω εικόνα:
Το διάνυσμα p μπορεί να αποσυντεθεί σε δύο συνιστώσες: την p1 παράλληλη με το v και την κάθετη σε αυτό p2.
Δεδομένου ότι το v είναι μοναδιαίο, οι δύο αυτές συνιστώσες προκύπτουν από τις παρακάτω σχέσεις:
{Εξ. 3.43} |
Τώρα είναι προφανές ότι η παράλληλη συνιστώσα δεν περιστρέφεται, οπότε το πρόβλημα περιορίζεται στον υπολογισμό της περιστροφής του p2 γύρω από το v. Στη συνέχεια το αποτέλεσμα θα προστεθεί στο p1. Πώς, όμως, μπορούμε να υπολογίσουμε την περιστροφή αυτή; Όπως απεικονίζεται και στο παρακάτω σχήμα, η περιστροφή του p2γίνεται σε ένα επίπεδο κάθετο στο v.
Εάν γνωρίζαμε το διάνυσμα w του παρακάτω σχήματος, τότε θα μπορούσαμε να χρησιμοποιήσουμε γνωστές τριγωνομετρικές σχέσεις, ώστε να υπολογίσουμε την περιστροφή:
{Εξ. 3.44} |
Με μια προσεκτικότερη ματιά στην Εικόνα 3.12, βλέπουμε ότι το διάνυσμα w που θέλουμε να υπολογίσουμε είναι κάθετο στο επίπεδο που σχηματίζεται από το p και το v και μπορεί να υπολογιστεί από το εξωτερικό τους γινόμενο:
{Εξ. 3.45} |
επίσης, παρατηρούμε ότι τα w και p2 έχουν ίδιο πλάτος. Άρα το περιστραμμένο διάνυσμα προκύπτει από την παρακάτω σχέση:
{Εξ. 3.46} |
Άρα τελικά το περιστραμμένο διάνυσμα είναι:
{Εξ. 3.47} |
και κάνοντας τις πράξεις προκύπτει ο παρακάτω πίνακας περιστροφής {Εξ. 3.48}:
Στη γραμμική άλγεβρα ως προβολή πολλές φορές περιγράφεται η μεταφορά ενός διανυσματικού χώρου σε έναν άλλο μικρότερης διάστασης. Στα γραφικά και ειδικότερα στους μετασχηματισμούς ως προβολή εννοούμε την απόδοση ενός τρισδιάστατου αντικειμένου σε ένα επίπεδο, το οποίο και ονομάζουμε επίπεδο προβολής. Η διαδικασία της προβολής ενός τρισδιάστατου αντικειμένου σε ένα δισδιάστατο επίπεδο είναι σχετικά απλή αν και αποτελεί μία μόνο ειδική περίπτωση ενός ιδιαίτερα ενδιαφέροντος κλάδου των μαθηματικών ο οποίος είναι η προβολική γεωμετρία. Για να προβάλλουμε ένα σημείο σε ένα επίπεδο χρειαζόμαστε ένα κέντρο προβολής. Η ευθεία τώρα που ενώνει κάθε σημείο του τρισδιάστατου αντικειμένου με το κέντρο προβολής τέμνει το επίπεδο προβολής σε ένα σημείο, το οποίο είναι και το ίχνος του σημείου αυτού στο επίπεδο προβολής.
Στα γραφικά ιδιαίτερο ενδιαφέρον παρουσιάζουν δύο προβολές: η προοπτική προβολή, κατά την οποία η απόσταση του κέντρου προβολής από το επίπεδο προβολής είναι πεπερασμένη και η ορθογραφική προβολή, η οποία αποτελεί εξιδανικευμένη περίπτωση όπου θεωρείται ότι η απόσταση αυτή είναι άπειρη.
Η προοπτική προβολή έχει πολλά κοινά στοιχεία με το ανθρώπινο σύστημα όρασης. Το κέντρο της προβολής αντιστοιχεί στην ίριδα, ενώ το επίπεδο προβολής αντιστοιχεί στον αμφιβληστροειδή χιτώνα.
Εάν υποθέσουμε τώρα, για χάρη απλότητας, ότι η αρχή των αξόνων αντιστοιχεί στο κέντρο προβολής και ότι το επίπεδο προβολής είναι παράλληλο με το επίπεδο xy και απέχει από αυτό απόσταση d προς τον αρνητικό ημιάξονα των z, τότε με αναφορά στην Εικόνα 3.14 έχουμε το εξής παράδειγμα.
Έστω το σημείο p1, το οποίο βρίσκεται πάνω στο επίπεδο yz και το ίχνος του p1’, πάνω στο επίπεδο προβολής. Έστω και το σημείο p2, το οποίο βρίσκεται πάνω στον άξονα των z και το ίχνος του p2’, πάνω στο επίπεδο προβολής. Παρατηρούμε ότι τα τρίγωνα Οp1p2 και Οp1’p2’ είναι όμοια. Άρα ισχύουν οι εξής σχέσεις:
{Εξ. 3.49} |
Με παρόμοια ανάλυση για σημείο p1 πάνω στο επίπεδο xz μπορεί εύκολα να εξαχθεί η παρακάτω σχέση:
{Εξ. 3.50} |
ενώ για το z ισχύει πάντα ότι:
{Εξ. 3.51} |
Πώς, όμως, μπορούμε να εκφράσουμε τις μη γραμμικές αυτές εξισώσεις της προοπτικής προβολής με τη μορφή ενός πίνακα M γραμμικού μετασχηματισμού; Για να το επιτύχουμε αυτό χρησιμοποιούμε την ομογενή συντεταγμένη. Παρατηρείστε ότι ο αριθμητής μπορεί εύκολα να περιγραφεί ως:
{Εξ. 3.52} |
Η εισαγωγή, όμως, του όρου του παρονομαστή παραμένει πρόβλημα. Εδώ πρέπει να θυμηθούμε μία ιδιότητα των ομογενών συντεταγμένων, κατά την οποία για να πάρουμε τις πραγματικές ευκλείδειες συντεταγμένες ενός σημείου με ομογενή συντεταγμένη w διάφορη του 1, πρέπει να διαιρέσουμε όλες τις συντεταγμένες με το w, έτσι ώστε η ομογενής συντεταγμένη να γίνει 1. Αντί να διαιρέσουμε κάθε x, y, z συντεταγμένη, αρκεί να πολλαπλασιάσουμε την ομογενή συντεταγμένη με το z. Έτσι, προκύπτει ο πίνακας προοπτικής προβολής:
{Εξ. 3.53} |
Οπότε έχουμε:
{Εξ. 3.54} |
Για να εξάγουμε, όμως, τις ευκλείδειες συντεταγμένες, πρέπει να διαιρεθεί το αποτέλεσμα με την ομογενή συντεταγμένη:
{Εξ. 3.55} |
Ένα σημαντικό χαρακτηριστικό της προοπτικής προβολής, σχετίζεται με τη σμίκρυνση των αντικειμένων τα οποία βρίσκονται μακριά από το κέντρο προβολής. Η πρακτική αυτή παρατήρηση κωδικοποιείται μαθηματικά στη διαίρεση με τη συντεταγμένη z στην παραπάνω σχέση.
Η ορθογραφική προβολή βασίζεται στην υπόθεση ότι η απόσταση μεταξύ του κέντρου και του επιπέδου προβολής είναι άπειρη. Πρακτικά, η ορθογραφική προβολή εφαρμόζεται όταν οι διαστάσεις ενός προβλήματος είναι αμελητέες σε σχέση με την απόσταση του επιπέδου προβολής από το κέντρο προβολής. Αυτή η υπόθεση που απεικονίζεται στην παρακάτω Εικόνα 3.15 οδηγεί σε μία πολύ χρήσιμη μαθηματική απλοποίηση, η οποία είναι η εξαφάνιση της προοπτικής σμίκρυνσης και της διαίρεσης με τη συντεταγμένη του βάθους z.
Οπότε, όπως είναι προφανές από την παραπάνω εικόνα, οι συντεταγμένες x και y παραμένουν αμετάβλητες, ενώ η συντεταγμένη z παύει να έχει νόημα εφόσον όποια τιμή και αν πάρει το αποτέλεσμα της προβολής δεν αλλάζει. Η ορθογραφική προβολή για z=0 μπορεί να περιγραφεί από τον παρακάτω πίνακα:
Άρα και η ορθογραφική προβολή ενός σημείου περιγράφεται από την παρακάτω εξίσωση.
{Εξ. 3.56} |
Η ορθογραφική προβολή χρησιμοποιείται κατά κόρον όπου οι διαστάσεις του προβλήματος μπορούν να θεωρηθούν αμελητέες σε σχέση με την απόσταση του επιπέδου προβολής από το κέντρο προβολής. Επίσης χρησιμοποιείται και σε περιπτώσεις όπου η προοπτική σμίκρυνση είναι περισσότερο ανεπιθύμητη παρά στοιχείο ρεαλισμού, όπως στην περίπτωση των προσόψεων, κατόψεων και πλάγιων όψεων συστημάτων σχεδίασης με υπολογιστή CAD (Computer Aided Design). Όπως φαίνεται στην Εικόνα 3.6, η τρισδιάστατη όψη συντίθεται βάσει της προοπτικής προβολής, ενώ οι άλλες τρεις πλάγιες όψεις του σχεδίου συντίθενται βάσει της ορθογραφικής προβολής. Στην Εικόνα 3.17 παρουσιάζονται δύο προβολές της ίδιας σκηνής: Μία προοπτική (πάνω-αριστερά) και μία ορθογραφική (πάνω-δεξιά), ενώ παρατίθεται και μία φωτορεαλιστική απόδοση (κάτω).
3.7. Προτεινόμενες Ασκήσεις και Προβλήματα |
|
Άσκηση 1) Υπολογίστε του πίνακες περιστροφής, οι οποίοι εκτελούν μία περιστροφή 60 μοιρών γύρω από τους άξονες x- y-z-. Άσκηση 2) Έστω σημείο ένα σημείο s στο χώρο και ένα επίπεδο Π με κάθετο διάνυσμα n. Υπολογίστε τον 3Δ πίνακα μετασχηματισμού που εκτελεί καθρεπτισμό του σημείου s ως προς το επίπεδο Π. Άσκηση 3) Είναι πολύ χρήσιμο να μπορεί κανείς να αναγνωρίζει το μετασχηματισμό που εκτελεί ένας πίνακας απλά κοιτάζοντάς τον. Για παράδειγμα ένας 3x3 πίνακας ομογενούς μετατόπισης στις δύο διαστάσεις έχει την τελευταία γραμμή [0 0 1] και ο άνω-αριστερά 2x2 υποπίνακας είναι ο μοναδιαίος. Έστω ο ίδιος 3x3 πίνακας μετασχηματισμού σε ομογενείς συντεταγμένες: α) Πώς μπορούμε να διακρίνουμε εάν ο μετασχηματισμός είναι γραμμικός; β) Πώς μπορούμε να διακρίνουμε εάν αφορά περιστροφή γύρω από την αρχή των αξόνων; γ) Πώς μπορούμε να διακρίνουμε εάν αφορά ομοιόμορφη κλιμάκωση; Άσκηση 4) Υπολογίστε το σύνθετο πίνακα μετασχηματισμού Μ1 ο οποίος προκύπτει από περιστροφή πρώτα γύρω από τον άξονα z- και στη συνέχεια γύρω από τον άξονα y-. Στη συνέχεια υπολογίστε το σύνθετο πίνακα μετασχηματισμού Μ2 που εκτελεί τις ίδιες περιστροφές με αντίθετη φορά. Επιβεβαιώστε ότι οι δύο πίνακες δεν ταυτίζονται. |