Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή Oι οπτικές επιδράσεις, που μπορεί να προκαλέσει μια εικόνα στους χρήστες, αποτελούν ένα από τα σπουδαιότερα αποτελέσματα των λειτουργιών γραφικών με Η/Υ. Τον όρο της οπτικοποίησης μπορούμε να τον κατανοήσουμε από δύο διαφορετικές σκοπιές: ως ένα εργαλείο που μας επιτρέπει να κατανοήσουμε καλύτερα την απεικόνιση της εικόνας, πάνω στην οθόνη του υπολογιστή ή ως ένα μέσο αναπαράστασης πολύπλοκων πολυδιάστατων συνόλων από δεδομένα. Πολλές προσεγγίσεις μπορούν να χρησιμοποιηθούν για την αναζήτηση στον κλάδο της οπτικής πραγματικότητας. Όλες έχουν ως στόχο την ανάγκη να παράγουν ένα τρισδιάστατο μοντέλο σε μία δισδιάστατη οθόνη. Μεταξύ αυτών περιλαμβάνονται παράλληλες και προοπτικές προβολές. Επιπλέον, για να βελτιώσουμε την εμφάνιση του οπτικού μοντέλου, γραμμές ή επιφάνειες που δεν είναι ορατές στον παρατηρητή μπορούν να απαλειφθούν μέσα από πολύπλοκους αλγορίθμους απαλοιφής γραμμών και εδρών και μπορούν να δημιουργηθούν σκιώδεις εικόνες. Οι τελευταίες αναπαριστούν το υψηλότερο επίπεδο οπτικής πραγματικότητας που μπορεί να επιτευχθεί. Σε πολλές εφαρμογές η πλήρης πραγματικότητα δεν είναι απαραίτητα επιθυμητή. Ιδανικές εικόνες μπορούν να παρέχουν ακριβώς το σύνολο πληροφοριών που χρειάζεται ο θεατής, αφού μια αύξηση της λεπτομέρειας στο επίπεδο της πραγματικότητας προκαλεί μια επιπρόσθετη πολυπλοκότητα στο μοντέλο. Η αποθήκευση και η ανάκτηση πολύπλοκων μοντέλων είναι αργή. 8.1 Πρόβλημα απαλοιφής των κρυμμένων γραμμών και εδρών Τα αντικείμενα που αναπαρίστανται από γραφικά συστήματα Η/Υ αποτελούνται από περιορισμένες επιφάνειες που θεωρούνται θαμπές. Για να συλλάβουμε τη ρεαλιστική εικόνα του αντικειμένου, οι ακμές και οι έδρες που είναι κρυμμένες από την κατεύθυνση που τις βλέπει ο παρατηρητής πρέπει να εξαλειφθούν. Η διαδικασία με την οποία αποφασίζουμε ποιες ακμές και έδρες (ή τμήματα) πρέπει να εξαλειφθούν ονομάζεται πρόβλημα απαλοιφής των κρυμμένων γραμμών και εδρών. Γενικά η διαδικασία αυτή απαιτεί σημαντικό χρόνο και μνήμη υπολογιστή, ενώ έχουν εφευρεθεί διάφορες τεχνικές για να βελτιστοποιήσουν το αποτέλεσμα. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 1
Για την πραγματοποίηση της εξάλειψης των κρυμμένων γραμμών και εδρών έχει αναπτυχθεί ένας μεγάλος αριθμός διαδικασιών, η χρήση των οποίων εξαρτάται σε ένα μεγάλο βαθμό από τον τύπο οθόνης που χρησιμοποιείται - διανυσματική οθόνη ή σάρωσης ψηφιοπλέγματος (raster). Την εποχή που επικρατούσαν οι διανυσματικές οθόνες, το πρόβλημα περιοριζόταν μόνο στην εξάλειψη των κρυμμένων γραμμών, εφόσον οι οθόνες μπορούσαν να παράγουν μόνο γραμμικές εικόνες. Με την αύξηση της χρήσης των οθονών raster, οι οποίες μπορούσαν να δείξουν σκιώδεις επιφάνειες, η ανάγκη να εξαλειφθούν όχι μόνο οι κρυμμένες ακμές αλλά και οι έδρες των αντικειμένων έγινε πρωταρχικής σημασίας. Οι αλγόριθμοι απαλοιφής κρυμμένων εδρών αναπτύχθηκαν μόνο για τις οθόνες τύπου raster, παρόλο που οι αλγόριθμοι απαλοιφής κρυμμένων γραμμών απευθύνονται τόσο για τις διανυσματικές όσο και για τις συσκευές raster. Τρεις γενικές προσεγγίσεις μπορούν να χρησιμοποιηθούν για τον προσδιορισμό των ορατών γραμμών και εδρών: Η προσέγγιση χώρου αντικειμένου, που προσδιορίζει ποια τμήματα από κάθε αντικείμενο είναι ορατά χρησιμοποιώντας χωρικές και γεωμετρικές σχέσεις. Η προσέγγιση αυτή λειτουργεί με την ακρίβεια μιας βάσης δεδομένων. Η προσέγγιση χώρου εικόνας, που προσδιορίζει τι είναι ορατό σε κάθε pixel της εικόνας, συγκεντρώνοντας ως εκ τούτου το βάρος στην τελική εικόνα, για να καθορίσει την ορατότητα. Λειτουργεί με την ακρίβεια της ανάλυσης της εικόνας. Αυτός ο τύπος αλγορίθμων χρησιμοποιείται πολύ στις συσκευές raster. Η υβριδική προσέγγιση χρησιμοποιεί ένα συνδυασμό και των δύο τύπων που περιγράψαμε πιο πάνω. Οι αλγόριθμοι χώρου αντικειμένου είναι πιο ακριβείς από τους αλγόριθμους χώρου εικόνας, επειδή δεν εξαρτώνται από την καθορισμένη ανάλυση της οθόνης και εκτελούν υπολογισμούς που στηρίζονται στην ακρίβεια της CPU που χρησιμοποιείται. 8.2 Ορατότητα των Αντικειμένων Όταν ελέγχουμε την ορατότητα ενός αντικειμένου ή ενός συνόλου αντικειμένων πρέπει πρώτα να καθορίζουμε τις παραμέτρους απεικόνισης, καθώς και τον τύπο προβολής. Μια σύγκριση βάθους των σημείων (ή των προβολών τους) που βρίσκονται σε διάφορες ακμές ή έδρες ενός αντικειμένου, είναι ο κυρίως έλεγχος που χρησιμοποιείται στην εξάλειψη των κρυμμένων γραμμών και εδρών. Ο τύπος των προβολών που χρησιμοποιούνται -ορθογραφική ή προοπτική- μπορεί να Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 2
προσθέσει στην πολυπλοκότητα της επίλυσης. Στην περίπτωση που χρησιμοποιείται προοπτική προβολή, οι προβολές σε διάφορες διευθύνσεις απορρέουν από το μάτι του παρατηρητή, όπως φαίνεται στην εικόνα 8.1 και έτσι οι μετασχηματισμοί εμφάνισης διαστρεβλώνουν την εικόνα των αντικειμένων. 8.3 Απαλοιφή πίσω εδρών Η αποκλειστική χρήση των συγκρίσεων βάθους στους αλγορίθμους κρυμμένων ακμών και εδρών είναι πολύ εντατική για την CPU. Προκειμένου να ελαττώσουμε τον αριθμό των υπολογισμών και να βελτιστοποιήσουμε την διαδικασία, έχουν αναπτυχθεί διάφορες τεχνικές ορατότητας που καθορίζουν σχέσεις μεταξύ των ακμών και εδρών που προβάλλονται στο επίπεδο εμφάνισης. Y Προβολή X Παρατηρητής Εικόνα 8.1 Οι προοπτικές προβολές δεν επιτρέπουν την απλή σύγκριση βάθους που είναι δυνατή με τις ορθογραφικές προβολές Η απαλοιφή της πίσω έδρας είναι μια απλή τεχνική που εξαλείφει τις έδρες του πίσω μέρους ενός αντικειμένου, ώστε να είναι αθέατες από τον παρατηρητή. Η τεχνική αυτή είναι περιορισμένη στα κυρτά πολύεδρα, αλλά αποτελεί ένα δυναμικό πρώτο βήμα για την επίλυση πολλών προβλημάτων απαλοιφής κρυμμένων γραμμών και εδρών σε πολύ περίπλοκα αντικείμενα. Η τεχνική λειτουργεί με αλγόριθμους χώρου αντικειμένου. Χρησιμοποιεί μια εξωτερική κάθετο για κάθε έδρα του αντικειμένου που μελετάμε, όπως φαίνεται στην εικόνα 8.2. 8.3.1 Κατεύθυνση κάθετου διανύσματος Για να βρούμε αν ένα κάθετο διάνυσμα κατευθύνεται εξωτερικά, μπορούμε να εκτελέσουμε έναν απλό έλεγχο: 1. Βρίσκουμε το κάθετο διάνυσμα n χρησιμοποιώντας το εξωτερικό γινόμενο δύο διανυσμάτων που είναι τοποθετημένα πάνω στην έδρα. Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 3
2. Επιλέγουμε ένα διάνυσμα I κατευθυνόμενο σ' ένα σημείο εσωτερικό του αντικειμένου. 3. Χρησιμοποιούμε το εσωτερικό γινόμενο των n και Ι για να ελέγξουμε την κατεύθυνση της καθέτου: άν n I > 0, τότε η κάθετος δείχνει προς το εσωτερικό, διαφορετικά, η κάθετος δείχνει προς το εξωτερικό του αντικειμένου. Ο έλεγχος δεν είναι απαραίτητος, αν όλες οι έδρες περιγράφονται από κορυφές τοποθετημένες σε σειρά, ακολουθώντας τον κανόνα του δεξιού χεριού. Η κάθετος σ' αυτήν την περίπτωση δείχνει αυτόματα προς το εξωτερικό. I n Π Εικόνα 8.2 Καθορισμός της κατεύθυνσης ενός κάθετου διανύσματος στην επιφάνεια Παράδειγμα 8.3.1 Υπολογίστε την εξωτερική κάθετο της έδρας ΑΕD στην ορθογώνια πυραμίδα που φαίνεται στην εικόνα 8.3. y E(0, 1, 0) B(0, 0, -1) C(-1, 0, 0) k j i A(1, 0, 0) x z D(0, 0, 1) Εικόνα 8.3. Ορθογώνια πυραμίδα Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 4
Λύση Εκφράζοντας κάθε διάνυσμα συναρτήσει των μοναδιαίων διανυσμάτων i, j και k (π.χ. a = x i + y j + z k), η κάθετος μπορεί να βρεθεί από το εξωτερικό γινόμενο των διανυσμάτων: ΑΕ = -i + j και AD = -i + k και δίνεται από τον ακόλουθο τύπο (δεξιόστροφο σύστημα): n = AE x AD = (i + j + k) Επιλέγοντας ένα σημείο μέσα στην πυραμίδα, όπως για παράδειγμα το P(0, 0.5, 0), τότε το διάνυσμα AP μπορεί να υπολογισθεί ως: AP = -i + 0.5j Από το εσωτερικό γινόμενο του διανύσματος με την κάθετο προκύπτει ο προσανατολισμός της καθέτου: n AP = (i + j + k) (-i + 0.5j) = - 0.5. Αφού η τιμή είναι αρνητική, η κάθετος δείχνει προς το εξωτερικό της ορθογώνιας πυραμίδας. 8.3.2 Ορατότητα εδρών Από την στιγμή που βρίσκουμε όλες τις καθέτους διανυσμάτων για όλες τις έδρες, μπορεί να αρχίσει η διαδικασία απαλοιφής των πίσω εδρών. Τα στοιχεία που χρειάζονται από την περιγραφή της βάσης δεδομένων του αντικειμένου είναι τα ακόλουθα: Συντεταγμένες όλων των κορυφών. Περιγραφή όλων των εδρών - για παράδειγμα διανυσματική συσχέτιση για κάθε έδρα. Εξωτερικό κάθετο διάνυσμα για κάθε έδρα Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 5
Για να ελέγξουμε την ορατότητα της κάθε έδρας, κατασκευάζεται ένα διάνυσμα παρατήρησης V, από ένα οποιοδήποτε σημείο της επιφάνειας προς το σημείο του παρατηρητή, όπως φαίνεται στην εικόνα 8.4. Τα αποτελέσματα των εσωτερικών γινομένων των διανυσμάτων παρατήρησης V με τις καθέτους n, αποτελούν κριτήριο καθορισμού της ορατότητας των εδρών ως εξής: Εάν V n > 0, τότε η έδρα είναι ορατή, διαφορετικά, η έδρα είναι μη-ορατή. Y X Z Π V Εικόνα 8.4 Έλεγχος για την ορατότητα εδρών Παράδειγμα 8.3.2 Αναφερόμενοι στο αντικείμενο του παραδείγματος 8.3.1, βρείτε ποιές από τις έδρες είναι ορατές σε έναν παρατηρητή ο οποίος είναι τοποθετημένος στο σημείο P (5, 5, 5). Λύση Εξετάζουμε πρώτα την έδρα AED. Στο παράδειγμα 8.3.1 η κάθετος σε αυτήν την έδρα βρήκαμε ότι ήταν: n = (i + j + k) Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 6
Ορίζεται ένα διάνυσμα V 1 από το σημείο Α(1, 0, 0) στην έδρα AED προς το σημείο εμφάνισης P(5, 5, 5) ως: V 1 = (4i + 5j + 5k) Το εσωτερικό γινόμενο των n και V 1 βρίσκεται ως εξής: n V1 = (1,0)(4,0) + (1.0)(5.0) + (1.0)(5.0) = 14 που είναι μεγαλύτερο του μηδενός (14 > 0) και επομένως η έδρα AED είναι ορατή. Με παρεμφερείς λειτουργίες ορατότητας που εκτελούμε για τις εναπομείνασες έδρες προκύπτουν τα ακόλουθα αποτελέσματα: Έδρα AED BEA DEC CEB ABCD Ορατότητα Ορατή Ορατή Ορατή Μη ορατή Μη ορατή Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών Η/Υ, ΤΕΠ, ΠΜ 7