Download - Κεφάλαιο 5 Χρώμα και Υφή...5-1 Κεφάλαιο 5 – Χρώμα και Υφή Σύνοψη Το παρόν κεφάλαιο ασχολείται αποκλειστικά

Transcript

5-1

Κεφάλαιο 5 – Χρώμα και Υφή Σύνοψη Το παρόν κεφάλαιο ασχολείται αποκλειστικά με τη χρωματική επένδυση των επιφανειών έτσι ώστε να γίνουν πιο ρεαλιστικά. Η επένδυση αυτή συμβαίνει με δύο τρόπους: α. με εφαρμογή χρώματος πάνω στα σημεία των επιφανειών, όπου το χρώμα δίνεται σύμφωνα με κάποιο χρωματικό μοντέλο και β. με εφαρμογή μιας εικόνας υφής. Το πρώτο μισό του κεφαλαίου είναι αφιερωμένο στα πιο διαδεδομένα μοντέλα χρώματος, ενώ το δεύτερο μισό ασχολείται με την υφή και τον τρόπο εφαρμογής της πάνω σε επιφάνειες. επίσης, μελετώνται διάφοροι τρόποι απόδοσης του ανάγλυφου των επιφανειών (π.χ. τραχιά επιφάνεια). Ο τρόπος παρουσίασης του περιεχομένου γίνεται με ολιστικό τρόπο παρουσιάζοντας τις μεθόδους σε περιγραφική μορφή, αλλά και σε μορφή ψευδοκώδικα ή κάποια σχετική μαθηματική έκφραση. Ταυτόχρονα παρουσιάζονται συγκεκριμένα παραδείγματα από το εξαγόμενο αποτέλεσμα διάφορων μεθόδων σε μορφή εικόνας ή ζωντανής επίδειξης από την εκτέλεση κάποιου αλγορίθμου (στην έκδοση HTML5).

Προαπαιτούμενη Γνώση Βασική γνώση των διαφόρων κατηγοριών ψηφιακής εικόνας (σχεδιογραφικές-ψηφιογραφικές). Γνώσεις αναλυτικής γεωμετρίας για κατανόηση των συναρτήσεων απεικόνισης. Εισαγωγικές γνώσεις προγραμματισμού για την κατανόηση των αλγοριθμικών παραδειγμάτων.

5.1. Εισαγωγή Τα γραφικά προϋποθέτουν τη χρήση του χρώματος για να επενδύσουν τα μοντέλα τα οποία προκύπτουν από τους αλγόριθμους σχεδίασης και αναπαράστασης αντικειμένων. Το χρώμα είναι πολύ βασικό στοιχείο και πολλές φορές είναι αυτό που δίνει νόημα σε μια συνθετική αναπαράσταση (παραγόμενη από υπολογιστή). Ο τρόπος απόδοσης χρώματος στην επιφάνεια ενός μοντέλου διακρίνεται σε δύο κατηγορίες: α. η απευθείας χρήση του χρώματος πάνω στα δομικά στοιχεία του μοντέλου (επιφάνειες, ακμές, κορυφές) και β. η χρήση υφής που επενδύει τις επιφάνειες του μοντέλου με βάση μια ψηφιογραφική (bitmap) ή σχεδιογραφική εικόνα (raster image) με επαναληπτική ή όχι εφαρμογή σε όλη την επιφάνεια. Υπάρχουν και άλλες συμπληρωματικές τεχνικές που χρησιμεύουν στην αύξηση της πιστότητας αναπαράστασης ενός αντικειμένου όπως είναι η δημιουργία της εντύπωσης του ανάγλυφου (π.χ. πέτρωμα). Ο τρόπος χρήσης του χρώματος εξαρτάται σε ένα μεγάλο βαθμό από τις φυσικές ιδιότητες του φωτός, τις ιδιαιτερότητες του κάθε αντικειμένου, αλλά και από τον τρόπο πρόσληψης του χρώματος από το ανθρώπινο οπτικό σύστημα και τις καλλιτεχνικές αξίες που προσδίδονται στις συνθετικές σκηνές οι οποίες παράγονται για τη βιομηχανία του κινηματογράφου, της διαφήμισης και των βιντεοπαιχνιδιών. 5.2. Η Χρήση του Χρώματος στις Ψηφιακές Εικόνες 5.2.1. Βάθος Χρώματος Το χρώμα είναι μια αίσθηση που δημιουργείται στον ανθρώπινο εγκέφαλο, όπως και στα περισσότερα έμβια όντα, από την ηλεκτρομαγνητική ακτινοβολία που προσπίπτει στους οφθαλμούς δημιουργεί την αντίδραση του οπτικού νεύρου. Οι πληροφορίες που αφορούν το χρώμα, το διαφοροποιούν από άλλα και, επομένως, το καθορίζουν∙ είναι η συχνότητα της ακτινοβολίας που ανιχνεύεται από τους χρωματικούς υποδοχείς. Αυτοί ονομάζονται φωτοευαίσθητοι υποδοχείς (κωνία) και ο ρόλος τους είναι να αντιδρούν στην παρουσία φωτός από συγκεκριμένο εύρος της συχνότητας του φωτός. Η εντύπωση του χρώματος, τελικά, δημιουργείται στον οπτικό φλοιό από την ύπαρξη φωτός κάποιου μήκους κύματος, ή από το συνδυασμό ακτινοβολίας με πολλά διαφορετικά μήκη κύματος.

Όσον αφορά την εντύπωση που δημιουργεί το φως, υπάρχουν δύο μεγάλες κατηγορίες: το ασπρόμαυρο φως και το έγχρωμο. Το ασπρόμαυρο φως (γκρίζο για την ακρίβεια) δημιουργείται όταν το φως χάσει τα χρωματικά του χαρακτηριστικά. Αυτό που απομένει για να διαχωρίσει τις στάθμες του φωτός είναι η ένταση, ή αλλιώς φωτεινότητα. Στην ακραία περίπτωση που υπάρχουν δύο μόνο χρώματα (π.χ. μαύρη γραμμή πάνω σε λευκό φόντο), τότε έχουμε μονοχρωματική αναπαράσταση. Από την άλλη πλευρά, επειδή μας ενδιαφέρει η απόδοση του χρώματος πάνω σε οθόνες (ή από προβολείς με αντανάκλαση πάνω σε

5-2

προβολικές επιφάνειες) το χαρακτηριστικό του χρώματος αποδίδεται με αριθμητικές τιμές των χρωματικών του παραμέτρων. Ωστόσο, το πόση πληροφορία μεταφέρουν οι χρωματικές παράμετροι καθορίζει ουσιαστικά το πλήθος των χρωμάτων που μπορούν να αποδοθούν και επομένως, το βάθος χρώματος.

Πίνακας 5.1. Διάφορα βάθη χρώματος (Color Depth) και το αποτέλεσμα που αυτά φέρνουν

Βάθος χρώματος Αριθμός χρωμάτων Αποτέλεσμα

1 bit 21 = 2 Ασπρόμαυρη εικόνα (χωρίς διαβαθμίσεις γκρίζου).

8 bit 28 = 256 Aποχρώσεις του γκρίζου. 16 bit 216 = 65.536 To βάθος χρώματος αυτό αναφέρεται και ως

High Color. 24 bit 224 = 16.777.216 Το βάθος χρώματος αυτό αναφέρεται και ως

True Color. 32 bit Το βάθος χρώματος αυτό αναφέρεται και ως

Deep Color. Αποτελεί αντίγραφο του 24 bit με τη διαφορά ότι υπάρχουν 8 επιπρόσθετα bit ανά εικονοστοιχείο (μη χρησιμοποιούμενα).

48 bit 248=281474976710656 Αποτελεί βάθος χρώματος τύπου Deep Color αλλά με δυνατότητες που υπερβαίνουν τη διακριτική ικανότητα του ματιού. Για πρακτικούς λόγους χρησιμοποιείται από τους σαρωτές οι οποίοι αποδίδουν 16 bits ανά βασικό χρώμα.

Όσο μεγαλύτερο είναι το βάθος χρώματος, τόσο περισσότερα χρώματα μπορούν να ονοματιστούν.

Είναι σημαντικό να λαμβάνεται υπόψη ότι το βάθος χρώματος δεν αποκαλύπτει κατά ανάγκη τον αριθμό των χρησιμοποιούμενων χρωμάτων σε μια εικόνα. Εικόνες με βάθος χρώματος μικρότερο ή ίσο από 8bit είναι ασπρόμαυρες εικόνες (εικόνες σε διαβάθμιση του γκρίζου).

Στις εικόνες που αποδίδονται στην κλίμακα του γκρι υπάρχουν 28=256 στάθμες φωτεινότητας, άρα και ισόποσες χρωματικές διαβαθμίσεις. Στις εικόνες αυτές δεν υπάρχουν χρωματικά χαρακτηριστικά ή έχουν αφαιρεθεί καθώς το μόνο ορατό χαρακτηριστικό είναι η ένταση του αχρωματικού φωτός. Η χρήση του χρώματος ξεκινάει από μεγαλύτερα βάθη χρώματος, όπου το κάθε εικονοστοιχείο αναπαρίσταται από ανάλογες διαβαθμίσεις των τριών χρωμάτων σύμφωνα με το χρησιμοποιούμενο πρότυπο (π.χ. το RGB με τιμές για το κόκκινο, το πράσινο και το μπλε). Στην Εικόνα 5.1 αναπαρίσταται το ίδιο θέμα σε διαφορετικά επίπεδα φωτεινότητας, ώστε να γίνουν αντιληπτές οι διαφορές μεταξύ των εικόνων.

Εικόνες με βάθος χρώματος μεγαλύτερο από 24bit δεν προσφέρουν ουσιαστικά κάτι περισσότερο, διότι η διακριτική ικανότητα του ανθρώπινου οπτικού συστήματος είναι αυτής της στάθμης (True Color). Μεγαλύτερα βάθη (Deep Color) χρησιμοποιούνται για να επιλύσουν τεχνικής φύσεως θέματα. Στο 32bit για παράδειγμα, επιτυγχάνεται ταχύτερη πρόσβαση στα δεδομένα χρώματος, λόγω συμβατότητας με την ισχύουσα αρχιτεκτονική των υπολογιστών. Παρομοίως, η ανάγκη για ακόμη υψηλότερα βάθη χρώματος όπως το 48bit, προκύπτει από τη συσσωρευτική αλλοίωση που προκαλείται στα χρώματα μιας εικόνας από την επαναληπτική εφαρμογή φίλτρων τα οποία χρησιμοποιούν στρογγυλοποίηση στις τιμές χρώματος.

5.2.2. Η Τεχνική του Μεσοτονισμού (Halftoning) Θα έχετε παρατηρήσει ότι στις εικόνες των εφημερίδων ή των μεγάλων διαφημιστικών posters είναι ορατές οι κουκίδες χρώματος, όταν τις κοιτάξει κανείς από πολύ κοντινή απόσταση. Παρομοίως, η περίπτωση Ε στην Εικόνα 5.1 μειώνει την ανάλυση της εικόνας προς όφελος του συνολικού αριθμού χρωματικών διαβαθμίσεων (halftoning), προκειμένου να βελτιωθεί αισθητικά το αποτέλεσμα. Η τεχνική αυτή, η οποία χρησιμοποιήθηκε ευρέως στην τυπογραφία, προβλέπει τη διαίρεση του χώρου σε μικρές ελεγχόμενες περιοχές των οποίων η επιλεκτική γέμιση με ένα χρώμα προσφέρει διαφορετικές τιμές φωτεινότητας. Θεωρείστε για παράδειγμα μια περιοχή 2x2, όπως φαίνεται στην Εικόνα 5.2.

5-3

α) 24 bit (16M χρώματα)

β) 8 bit (256 χρώματα)

γ) 4 bit (16 χρώματα )

δ) 2 bit (4 χρώματα)

ε) 1 bit (2 χρώματα)

στ) 1 bit (2 χρώματα)

Εικόνα 5.1. Το ίδιο θέμα με διαφορετικά βάθη χρώματος

5-4

Αρχικά η εικόνα χωρίζεται σε μικρές περιοχές. Το μέγεθος των περιοχών αυτών προσδιορίζεται από τη διακριτική ικανότητα (ακρίβεια) του εκτυπωτικού μηχανήματος ή της οθόνης και από την αναμενόμενη απόσταση παρατήρησης. Κάθε υποπεριοχή μπορεί να έχει ή όχι χρώμα, συμβάλλοντας έτσι στη διαμόρφωση του τελικού αριθμού τιμών φωτεινότητας που μπορούν να προκύψουν. Ωστόσο στην πράξη η συνήθης περίπτωση αντιστοιχεί σε κουκίδες που είναι προτιμότερες για το χρωματισμό του δέρματος ή σε ορθογώνιες περιοχές που είναι προτιμότερες για λεπτομερείς εικόνες. Στο τρέχον παράδειγμα θα πρέπει να προστεθεί και το λευκό, για να προκύψουν συνολικά 5 τιμές φωτεινότητας (πυκνότητες κουκίδων) οι οποίες θα χρησιμοποιηθούν για να αποτυπώσουν την Εικόνα 5.1 (Ε). Έτσι μετατρέπεται η χωρική ανάλυση σε χρωματική εκεί όπου κρίνεται ότι οι διαστάσεις της εικόνας είναι αρκετά μεγάλες, έτσι ώστε να έχει νόημα η μείωση αυτών προς όφελος της χρωματικής διόρθωσης. Εξάλλου, το ανθρώπινο μάτι είναι πιο ευαίσθητο στις αλλαγές του χρώματος παρά στις αλλαγές της ανάλυσης, με την έννοια ότι η διαδικασία αναγνώρισης αντικειμένων του φυσικού κόσμου είναι πιο εύκολη με την παρουσία χρώματος.

Γενικότερα, αν η περιοχή χωρίζεται σε n x n υποπεριοχές με k τιμές φωτεινότητας για το υπάρχον χρώμα, τότε ο συνολικός αριθμός τιμών φωτεινότητας που προκύπτει είναι (k-1)n2+1. Στην περίπτωση n=2, η εικόνα επιδέχεται μείωση στην ανάλυσή της κατά 50%, ενώ η περιοχή n x n χρησιμοποιείται πλέον ως το νέο ‘εικονοστοιχείο’ στο οποίο μπορεί να αποδοθεί ‘χρώμα’ 5 διαβαθμίσεων. Περισσότερα επίπεδα για τις τιμές φωτεινότητας μπορούν να προκύψουν με έλεγχο της διαμέτρου της κουκίδας ανά υποπεριοχή (Εικόνα 5.3), ενώ περισσότερα χρώματα μπορούν να προκύψουν με πολλαπλές εκτυπώσεις halftoning ανά βασικό χρώμα (Εικόνα 5.4).

Εικόνα 5.2. Φωτεινότητες παραγόμενες από μια περιοχή 2x2

Εικόνα 5.3. Δημιουργία χρωματικής βαθμιαίας τιμής φωτεινότητας με έλεγχο του μεγέθους των κουκκίδων

Εικόνα 5.4. Παραδείγματα πολλαπλής εφαρμογής της μεθόδου halftoning για να προκύψουν συνδυαστικά πρότυπα (patterns). Στην τελευταία στήλη φαίνεται πώς το παραγόμενο χρώμα γίνεται αντιληπτό από μια σεβαστή απόσταση.

5-5

5.3. Αναπαράσταση Χρώματος Ο τρόπος που το ανθρώπινο οπτικό σύστημα αντιλαμβάνεται το χρώμα και ο τρόπος που αυτό θα αναπαρασταθεί, αποτελεί αντικείμενο πολλών επιστημονικών πεδίων όπως είναι η φυσική, η φυσιολογία και η κωδικοποίηση και ψηφιακή παράσταση πληροφοριών οπτικοποίησης. Αυτό που μας είναι χρήσιμο είναι η περιγραφή και η χρήση του χρώματος στις ορατές από τον άνθρωπο συχνότητες (Εικόνα 5.5).

Έτσι τελικά, από όλο το φάσμα, η ζώνη του ορατού φωτός είναι μία σχετικά στενή ζώνη του φάσματος της ηλεκτρομαγνητικής ακτινοβολίας. Η περιοχή στην οποία είναι ευαίσθητο το αισθητήριο της όρασης των ζωντανών οργανισμών καλύπτει μια περιοχή συχνοτήτων από 400 έως 800THz και η ενέργεια των φωτονίων κυμαίνεται από 1,6 - 3,2 eV. Επιμέρους ζώνες του ορατού φάσματος τις αντιλαμβάνεται το ανθρώπινο μάτι ως χρώματα. Με ποιον τρόπο, όμως, μπορούμε να περιγράψουμε τα χρώματα και να τα χρησιμοποιήσουμε στα συστήματα γραφικών;

Εικόνα 5.5. Διάγραμμα ηλεκτρομαγνητικού φάσματος ορατής ακτινοβολίας (Πηγή: Wikimedia Commons, Tatoute, τροποπ. από Ggia)

Από την άποψη των φυσικών ιδιοτήτων του φωτός, μπορούμε να διαχωρίσουμε: α. τη συχνότητά του

σε Hz (ή το μήκος κύματος σε nm), β. την ακτινοβολία του (radiance) ως την ενέργεια που εκπέμπεται από τη φωτεινή πηγή σε Watts, γ. τη φωτεινότητα (luminance), δηλαδή την ενέργεια της ακτινοβολίας από τη θέση του παρατηρητή σε lumens (lm) και δ. η λαμπρότητά (brightness) του ως εκτίμηση της φωτεινότητας. Το χρώμα, όμως, είναι υποκειμενικό στον τρόπο που προσλαμβάνεται και ερμηνεύεται από τον άνθρωπο, γι’ αυτό και ένα μοντέλο με βάση τα φυσικά χαρακτηριστικά δε θα ήταν βολικό. Αντίθετα, η υιοθέτηση ενός συνόλου χρωμάτων ως βασικών μπορεί να οδηγήσει σε μοντέλα περιγραφής με βάση χρωματικές μίξεις.

Συνολικά, η αναπαράσταση χρώματος προϋποθέτει την ανάπτυξη ενός χρωματικού μοντέλου το οποίο να μπορεί να περιγράφει, να αποθηκεύει, να ανακαλεί, να συγκρίνει και να κατηγοριοποιεί τα διάφορα χρώματα. Παρακάτω θα εξετάσουμε μερικά από τα πιο διαδεδομένα χρωματικά μοντέλα.

Σημείωση: Εξ ορισμού, το Lumen είναι μονάδα μέτρησης για φωτεινή ροή που διέρχεται μέσα από μια συγκεκριμένη διατομή. Έτσι λοιπόν, 1 ANSILumen είναι η φωτεινή ροή μέσω μίας διατομής με εμβαδό επιφάνειας 1 m2 η οποία απέχει από μια φωτεινή πηγή έντασης 1Cd απόσταση 1 m.

5.4. Χρωματικά Μοντέλα Το μέγεθος της αντίληψης του χρώματος εξαρτάται από πολλούς παράγοντες, όπως είναι η διέγερση των φωτοευαίσθητων κυττάρων (κωνία), ο τρόπος φωτισμού και οι συνθήκες κάτω από τις οποίες γίνεται η παρατήρηση. Ο ποσοτικός προσδιορισμός της χρωματικής αντίληψης έχει ανάγκη από ένα μοντέλο που να τον περιγράφει με σαφήνεια και ακρίβεια.

Η αρχή πίσω από κάθε χρωματικό μοντέλο είναι η ανάλυση του κάθε χρώματος σε βασικά χρώματα και η ποσοτικοποίηση της συμμετοχής κάθε βασικού χρώματος στη διαμόρφωση του τελικού αποτελέσματος,

5-6

προκειμένου να καταστεί εφικτή η ανασύνθεση του αρχικού χρώματος από τα συστατικά του. Με αφαίρεση ενός βασικού χρώματος από ένα μοντέλο δεν είναι δυνατή η περιγραφή και ανασύνθεση των υπόλοιπων χρωμάτων. Επίσης, κανένα βασικό χρώμα δεν μπορεί να προκύψει από μίξη των υπόλοιπων βασικών. Η μαθηματική περιγραφή του χρώματος καθιστά εφικτή την επεξεργασία του με ψηφιακά μέσα. Υπάρχουν χρωματικά μοντέλα τα οποία είναι εξαρτώμενα από τη συσκευή προβολής, όπως είναι το RGB και το CMYK. Ενώ, δηλαδή, οι συντεταγμένες των χρωμάτων είναι ίδιες, το ορατό αποτέλεσμα είναι ελαφρώς διαφορετικό και αυτό εξαρτάται από συσκευή σε συσκευή. Άλλα μοντέλα, όπως το CIE και το XYZ, δεν εξαρτώνται από τη συσκευή και είναι πολύ χρήσιμα σε περιπτώσεις μετατροπής από ένα εξαρτημένο μοντέλο σε ένα άλλο. 5.4.1. Το Μοντέλο RGB

Πρόκειται, ίσως, για το πιο γνωστό χρωματικό μοντέλο και βασίζεται στα βασικά χρώματα Κόκκινο, Πράσινο και Μπλε (Red, Green, Blue). Σύμφωνα με αυτό, σε κάθε βασικό χρώμα αποδίδεται ένας αριθμός από το 0 έως το 255 (28=256 τιμές), ή από το 0 έως το 1 σε κανονικοποιημένες τιμές. Μια τριάδα τέτοιων αριθμών αναπαριστά ένα χρώμα στο μοντέλο RGB, με δεδομένο ότι η τιμή μηδέν αντιστοιχεί στο μαύρο (μερικά παραδείγματα χρωμάτων στον Πίνακας 5.2). Όλα τα άλλα χρώματα προκύπτουν από μίξεις των τριών βασικών χρωμάτων καθώς το RGB είναι ένα προσθετικό μοντέλο. Αυτό σημαίνει ότι όσο η συμμετοχή ενός βασικού χρώματος αυξάνεται, τόσο αυξάνεται και η τιμή του στην κλίμακα από 0 έως 255 με ανώτερη τιμή το [255,255,255] που είναι το λευκό και αντιστοιχεί στο μέγιστο άθροισμα των βασικών χρωμάτων. επίσης, το RGB μοντέλο είναι γραμμικό, διότι η διαφορά ανάμεσα σε δύο χρώματα είναι ανάλογη της διαφοράς των χρωματικών τιμών τους. Τα χρώματα προκύπτουν ως γραμμική σύνθεση:

𝐶𝐶 = [𝑟𝑟 𝑔𝑔 𝑏𝑏] �𝑅𝑅𝐺𝐺𝐵𝐵

� {Εξ. 5.1}

Αν το μαύρο βρίσκεται στην αρχή των αξόνων, τότε το σύστημα τριών αξόνων δημιουργεί το χώρο

των χρωμάτων (κύβος) όπου το κάθε χρώμα έχει τις δικές του μοναδικές συντεταγμένες (x,y,z). Στην Εικόνα 5.6 η άνω γωνία του κανονικού κύβου αντιστοιχεί στο σημείο [1,1,1] που είναι το λευκό, η κάτω γωνία στο μαύρο [0,0,0], ενώ το ευθύγραμμο τμήμα που συνδέει αυτά τα δύο σημεία (κύρια διαγώνιος) αποτελείται από τις γκρίζες αποχρώσεις. Το χρώμα δίνει την κατεύθυνση του διανύσματος, ενώ το μήκος του δίνει τη φωτεινότητα.

Το μοντέλο RGB βρίσκεται πιο κοντά στην ανθρώπινη φυσιολογία καθώς το ανθρώπινο μάτι έχει υποδοχείς (φωτοευαίσθητα κύτταρα-κωνία) για τα τρία αυτά χρώματα, με μια αυξημένη ευαισθησία ειδικά στις αλλαγές της φωτεινότητας του πράσινου χρώματος, παρόλο που τα περισσότερα φωτοευαίσθητα κύτταρα διεγείρονται από το κόκκινο χρώμα. Επίσης, η ευαισθησία στις αλλαγές χρώματος δεν είναι γραμμική αλλά λογαριθμική. Παρόλα αυτά, δεν υπάρχει μια μονοσήμαντη αντιστοίχιση μεταξύ συχνοτήτων και χρωμάτων RGB.

Εικόνα 5.6. Ο χρωματικός κύβος RGB σε ισομετρική προβολή

5-7

Αυτό που μπορούμε να κάνουμε είναι να χρησιμοποιήσουμε τον ευρηματικό αλγόριθμο του Bruton [1996], για να μετατρέψουμε τις μονοχρωματικές συχνότητες του ορατού φάσματος σε τιμές RGB (Εικόνα 5.7). Το αντίστροφο δεν είναι δυνατόν να γίνει καθώς δεν υπάρχει αντίστροφος αλγόριθμος. Σε γενικές γραμμές, το αισθητικό αποτέλεσμα του αλγόριθμου του Bruton είναι πολύ καλό. Παρόλα αυτά, το μοντέλο RGB δεν μπορεί να αναπαραστήσει όλα τα χρώματα που υπάρχουν στη φύση με βάση τα τρία βασικά του χρώματα, καθώς έχει τους περιορισμούς του.

Εικόνα 5.7. Κατά προσέγγιση τιμές RGB με μήκη κύματος του ορατού φάσματος [Πηγή: Bruton, Approximate RGB values for Visible Wavelengths].

Πίνακας 5.2. Μερικά παραδείγματα γνωστών χρωμάτων στο μοντέλο RGB

Χρώμα Όνομα CSS Δεκαεξαδική τιμή (#RRGGBB)

Τιμή decimal (R,G,B)

Black #000000 (0,0,0)

White #FFFFFF (255,255,255)

Red #FF0000 (255,0,0)

Lime #00FF00 (0,255,0)

Blue #0000FF (0,0,255)

Yellow #FFFF00 (255,255,0)

Cyan / Aqua #00FFFF (0,255,255)

Magenta / Fuchsia #FF00FF (255,0,255)

Silver #C0C0C0 (192,192,192)

Gray #808080 (128,128,128)

Maroon #800000 (128,0,0)

Olive #808000 (128,128,0)

Green #008000 (0,128,0)

Purple #800080 (128,0,128)

Teal #008080 (0,128,128)

Navy #000080 (0,0,128)

5-8

Τα περισσότερα συστήματα γραφικών για οθόνες υπολογιστών βασίζονται στο μοντέλο RGB. Κάθε εικόνα αποτελείται ουσιαστικά από τρεις (3) εικόνες, μία για καθένα από τα βασικά χρώματα. Με έναν απλό διαχωρισμό της εικόνας στα R, G και B κανάλια μπορούμε να εξετάσουμε την ποσότητα οπτικής πληροφορίας που περιέχει το καθένα από αυτά (Εικόνα 5.8). 5.4.2. Το Μοντέλο CIE ΧΥΖ

Έχοντας, πλέον, ως δεδομένο το μοντέλο RGB και τους περιορισμούς του, αναζητούμε ένα σαφές μοντέλο περιγραφής των χρωμάτων το οποίο να είναι σε θέση να παράγει οποιοδήποτε χρώμα με βάση ένα διάνυσμα βάσης. Αυτό το διάνυσμα συναντάται στα κανονικά χρώματα Χ, Υ και Ζ, με μίξεις των οποίων προκύπτει οποιοδήποτε ορατό χρώμα. Ο XYZ χώρος των χρωμάτων προτάθηκε από το International Commission on Illumination [CIE, 1931; Smith & Guild, 1932] ως μια πρόταση σύνδεσης των φυσικών χαρακτηριστικών του φωτός, όπως είναι το μήκος κύματος με τη φυσιολογία του ανθρώπινου ματιού και τον τρόπο αντίληψης του χρώματος. Ωστόσο, η αναζήτηση των αποχρώσεων των X, Y και Z οι οποίες ορίζουν το χρωματικό χώρο, δεν έχει νόημα καθώς οι έννοιες αυτές είναι καθαρά υπολογιστικές.

(α) Αρχική εικόνα

(β) Κανάλι R

(γ) Κανάλι G

(δ) Κανάλι B

Εικόνα 5.8. Μια εικόνα που έχει αναλυθεί στα τρία κανάλια RGB

Ο σκοπός ήταν να αποκλειστούν οι περιπτώσεις εμφάνισης αρνητικών τιμών για κάποιο βασικό χρώμα∙ έτσι η CIE αντικατέστησε τα βασικά χρώματα με δύο συντεταγμένες x και y οι οποίες προκύπτουν από αυτά. Στην Εικόνα 5.9 φαίνεται η απόκριση του παρατηρητή για κάθε χρώμα (CIE standard observer) και στην εξ. 5.2 δίνονται οι αριθμητικές περιγραφές (color matching functions):

⎩⎪⎨

⎪⎧𝛸𝛸 = ∫ 𝛪𝛪(𝜆𝜆)�̅�𝑥(𝜆𝜆)𝑑𝑑𝜆𝜆780

380

𝛶𝛶 = ∫ 𝛪𝛪(𝜆𝜆)𝑦𝑦�(𝜆𝜆)𝑑𝑑𝜆𝜆780380

𝛧𝛧 = ∫ 𝛪𝛪(𝜆𝜆)𝑧𝑧̅(𝜆𝜆)𝑑𝑑𝜆𝜆780380

{Εξ. 5.2}

5-9

Εικόνα 5.9. Οι συναρτήσεις της CIE για αντιστοίχιση χρωμάτων με τις τιμές X,Y και Z ανάλογα με το μήκος του κύματός τους

Το βήμα διακριτοποίησης είναι το 5nm μήκος κύματος και εφαρμόστηκε στο διάστημα από 380 nm έως 780 nm και όπου λ είναι το μήκος κύματος του αντίστοιχου μονοχρωματικού φωτός μετρημένου σε nm. Στην Εικόνα 5.10 αναπαρίσταται το διάγραμμα του χρωματικού χώρου (διάγραμμα χρωματικότητας) του International Commission on Illumination. Αυτό το διάγραμμα εμφανίζει τα μέγιστα κορεσμένα φωτεινά χρώματα τα οποία μπορούν να παραχθούν από μια οθόνη υπολογιστή ή μια τηλεόραση. Κάθε σημείο της καμπύλης (πέταλο) αντιστοιχεί σε μια απόχρωση του μονοχρωματικού φωτός (spectrallocus) και έτσι κάθε σημείο είναι ένα απόλυτα καθαρό χρώμα. Η γραμμή ανάμεσα στο κόκκινο και το βιολετί (line of purples), παρόλο που ανήκει στην περίμετρο του πετάλου, δεν αντιστοιχεί σε μονοχρωματικό φως, διότι καμία μονοχρωματική πηγή φωτός δεν είναι ικανή να παράγει αυτά τα χρώματα. Λιγότερο κορεσμένα χρώματα (δηλαδή μειωμένης καθαρότητας) εμφανίζονται στο εσωτερικό του πετάλου, με το λευκό να τοποθετείται στο κέντρο.

Το διάγραμμα έχει την ιδιότητα να παράγει οποιοδήποτε χρώμα βρίσκεται πάνω σε ένα ευθύγραμμο τμήμα το οποίο ενώνει δύο άλλα με μίξη των δύο αυτών χρωμάτων. Παρόμοια, κάθε τρίγωνο που σχηματίζεται, μπορεί με μίξεις των κορυφών του να παράγει οποιοδήποτε χρώμα στο εσωτερικό του. Είναι δυνατή η μετατροπή από το σύστημα RGB στο CIE ως εξής:

�𝛸𝛸𝛶𝛶𝛧𝛧

� = 1𝑏𝑏21

�𝑏𝑏11 𝑏𝑏12 𝑏𝑏13𝑏𝑏21 𝑏𝑏22 𝑏𝑏23𝑏𝑏31 𝑏𝑏32 𝑏𝑏33

� �𝑅𝑅𝐺𝐺𝐵𝐵

� = 10,17697

�0,49 0,31 0,2

0,17697 0,81240 0,010630,00 0,01 0,99

� �𝑅𝑅𝐺𝐺𝐵𝐵

�{Εξ. 5.3}

Ενώ το αντίστροφο γίνεται με την εξίσωση:

�𝑅𝑅𝐺𝐺𝐵𝐵

� = �0,41847 −0,15866 −0,082835

−0,091169 0,25243 0,0157080,00092090 −0,0025498 0,17860

� �𝑋𝑋𝑌𝑌𝑍𝑍

� {Εξ. 5.4}

Εικόνα 5.10. To διάγραμμα χρωματικότητας [CIE, 1931]

5-10

5.4.3. Το Μοντέλο CMY

Το μοντέλο αυτό χρησιμοποιεί το γαλάζιο (Cyan), το μαγεντιανό ερυθρό (Magenda) και το κίτρινο σε κατάλληλες αναλογίες, για να παράγει οποιοδήποτε χρώμα του χρωματικού φάσματος. Η αρχή του μοντέλου CMY είναι παρόμοια με του RGB, με τη διαφορά ότι δημιουργήθηκε για να εξυπηρετεί καλύτερα τις τεχνολογίες εκτύπωσης, καθώς αυτές δέχονται ως δεδομένη τη λευκή επιφάνεια του χαρτιού. Αντίθετα, οι τεχνολογίες των οθονών δέχονται ως υπόβαθρο τη μελανή οθόνη (απουσία χρώματος). Το μοντέλο αυτό είναι αφαιρετικό (subtractive)∙ αυτό σημαίνει ότι η απουσία των βασικών χρωμάτων αντιστοιχεί στο λευκό, ενώ η παρουσία όλων οδηγεί στο μαύρο. Οι διαφορές του προσθετικού και του αφαιρετικού μοντέλου φαίνονται στην Εικόνα 5.11.

(α) Η παρουσία όλων των χρωμάτων σε ένα προσθετικό μοντέλο (π.χ. RGB) δημιουργεί το λευκό.

(β) Η παρουσία όλων των χρωμάτων σε ένα αφαιρετικό μοντέλο (π.χ. CMY) δημιουργεί το μαύρο.

Εικόνα 5.11. Διαφορετική αντιμετώπιση της παρουσίας όλων των χρωμάτων σε διαφορετικά μοντέλα

Ο χρωματικός κύβος του μοντέλου CMY που δημιουργείται παρόμοια με το RGB με τη βοήθεια ενός

καρτεσιανού συστήματος αξόνων, έχει το λευκό στην αρχή των αξόνων και εμφανίζεται αντεστραμμένος σε σχέση με αυτόν του μοντέλου RGB. Για τιμές CMY στο [0, 1] οι σχέσεις μετατροπής από το ένα μοντέλο στο άλλο δίνονται από τις παρακάτω εξισώσεις:

�𝐶𝐶𝑀𝑀𝑌𝑌

� = �111

� − �𝑅𝑅/255𝐺𝐺/255𝐵𝐵/255

� , �𝑅𝑅𝐺𝐺𝐵𝐵

� = �111

� − �𝐶𝐶𝑀𝑀𝑌𝑌

� 255 {Εξ. 5.5}

Το μειονέκτημα του χρωματικού μοντέλου CMY είναι και πάλι το ίδιο με αυτό του RGB, δηλαδή, ότι

τα βασικά χρώματα από τα οποία παράγονται όλα τα υπόλοιπα δεν είναι αμιγή. Το μοντέλο CMYK χρησιμοποιεί και το μαύρο ως επέκταση των βασικών χρωμάτων, προκειμένου να μπορέσει να παράγει πιο καθαρό μαύρο χρώμα (στο απλό μοντέλο CMY, ο συνδυασμός όλων των χρωμάτων παράγει ένα γκρίζο-καφετί χρώμα). Ο Πίνακας 5.3 παρουσιάζει ορισμένες σημαντικές μίξεις και τα αποτελέσματά τους.

Πίνακας 5.3. Ορισμένες ενδιαφέρουσες μίξεις: Τα βασικά χρώματα του μοντέλου RGB παράγονται ως συμπληρωματικά χρώματα στο μοντέλο CΜΥ.

Χρώμα 1 Χρώμα 2 Χρώμα 3 Αποτέλεσμα

Ματζέντα Κίτρινο - Κόκκινο Κίτρινο Γαλάζιο - Πράσινο Γαλάζιο Ματζέντα - Μπλε Μαύρο Γαλάζιο Ματζέντα Κίτρινο

Η προσθήκη του μαύρου ως ένα επιπλέον χρώμα στο μοντέλο CMYK προκαλεί αλλαγές στην

ονοματοδοσία και στον τρόπο παραγωγής του χρώματος, με αποτέλεσμα να δημιουργείται η εύλογη απορία, πώς μεταφέρεται ένα χρώμα από τη μία παραλλαγή του μοντέλου στην άλλη. Η απάντηση δίνεται από τη Λίστα 5.1.

5-11

1. var C, M, Y, K 2. K = 1 3. if ((C < K) || (M < K) || (Y < K)){ 4. K = min(C, M, Y) 5. } 6. if (K == 1) { //Αν είναι μαύρο 7. C = 0 8. M = 0 9. Y = 0 10. } 11. else { 12. C = (C - K) / ( 1 - K ) 13. M = (M - K) / ( 1 - K ) 14. Y = (Y - K) / ( 1 - K ) 15. }

Λίστα 5.1. Ο κώδικας της μετατροπής από το CMY στο CMYK, όπου οι τιμές και των δύο παραλλαγών του μοντέλου δίνονται στο διάστημα [0, 1]

5.4.4. Το Μοντέλο HSV

Το μοντέλο αυτό περιγράφει τα χρώματα με βάση τρεις παραμέτρους: τη Χροιά (hue), τον Κορεσμό (saturation) και την Αξία (value ή lightness). Η χροιά προσδίδει στο χρώμα μια θέση στο χρωματικό κύκλο (γωνία περιστροφής), ο κορεσμός προσδίδει απόσταση από το κέντρο του κύκλου, ενώ η αξία δηλώνει την ποσοστιαία ένταση της λαμπρότητας (0-100%). Ο χρωματικός χώρος τον οποίο δημιουργεί το μοντέλο HSV είναι ένας κύλινδρος με αποτέλεσμα να είναι πιο κοντά στην ιδέα του χρωματικού κύκλου, ως πιο διαισθητική για τους καλλιτέχνες από ό,τι ο κύβος που χρησιμοποιούν άλλα μοντέλα. Η θέση πάνω στον κύκλο προσδιορίζει τη χροιά, η απόσταση από τον άξονα του κυλίνδρου δίνει τον κορεσμό, ενώ η τρίτη μεταβλητή, που είναι το ύψος, δίνει την αξία (Εικόνα 5.12). Αυτό το χρωματικό μοντέλο παρουσιάζει το πλεονέκτημα ότι συνδέει τις παραμέτρους του με βασικές έννοιες του χρώματος, κάτι που το καθιστά εύκολο στη χρήση του∙ χρησιμοποιείται περισσότερο σε λογισμικά επεξεργασίας εικόνας.

Εικόνα 5.12. Ο κύλινδρος του μοντέλου χρωματικού HSV (Πηγή: Wikimedia Commons, Wapcaplet, CCBY-SA 3.0)

1. if (S == 0){ 2. R = V * 255 3. G = V * 255 4. B = V * 255 5. } else { 6. var_h = H * 6 7. if (var_h == 6) var_h = 0 //Το H πρέπει να είναι μικρότερο του 1 8. var_i = int(var_h) //ΉOr var_i = floor(var_h) 9. var_1 = V * (1 - S) 10. var_2 = V * (1 - S * (var_h - var_i)) 11. var_3 = V * (1 - S * (1 - (var_h - var_i))) 12. if (var_i == 0) 13. { 14. var_r = V; var_g = var_3; var_b = var_1 15. }else if (var_i == 1) { 16. var_r = var_2; var_g = V; var_b = var_1

5-12

17. }else if (var_i == 2) { 18. var_r = var_1; var_g = V; var_b = var_3 19. }else if (var_i == 3) { 20. var_r = var_1; var_g = var_2; var_b = V 21. }else if (var_i == 4) { 22. var_r = var_3; var_g = var_1; var_b = V 23. }else 24. { 25. var_r = V; var_g = var_1; var_b = var_2 26. } 27. R = var_r * 255 28. G = var_g * 255 29. B = var_b * 255 30. }

Λίστα 5.2. Ο κώδικας της μετατροπής από το HSV (τιμές στο [0, 1]) στο RGB [0, 255]

Σημείωση: Φανταστείτε ένα χρώμα ανοιχτό πράσινο με RGB παραμέτρους [142,204,81]. Αν θέλαμε να παράγουμε ένα λιγότερο κορεσμένο πράσινο θα έπρεπε να θέσουμε τις τιμές [107,153,61]. Οι αλλαγές, όπως αυτές στις τιμές των RGB, φαίνονται ως αυθαίρετες στο ανθρώπινο μάτι. Κάθε αλλαγή στη μία χρωματική συνιστώσα θα πρέπει να συνοδεύεται από αλλαγές και στις άλλες δύο, προκειμένου να διατηρηθεί η ίδια χρωματική απόχρωση. Αντίθετα στο χρωματικό μοντέλο HSV τα πράγματα είναι πολύ πιο απλά, διότι από το αρχικό χρώμα το οποίο είχε παραμέτρους H=90, S=0.6, V= 0.8 αυτό που απαιτείται είναι απλά να μειώσουμε το value σε V=0.6, κρατώντας τις δύο άλλες παραμέτρους σταθερές.

Πίνακας 5.4. Μερικά παραδείγματα γνωστών χρωμάτων στο μοντέλο HSV

Χρώμα Όνομα CSS RGB XYZ HSV

Black (0,0,0) (0, 0, 0) (0, 0, 0)

White (255,255,255) (95.05, 100, 108.899) (0, 0, 1)

Red (255,0,0) (41.24, 21.26, 1.930) (0, 1, 1)

Lime (0,255,0) 35.76, 71.52, 11.92) (120, 1, 1)

Blue (0,0,255) (18.05, 7.22, 95.05) (240, 1, 1)

Yellow (255,255,0) (77, 92.78, 13.85) (60, 1, 1)

Cyan / Aqua (0,255,255) (53.81, 78.74, 106.97) (180, 1, 1)

Magenta/Fuchsia (255,0,255) (59.290, 28.48, 28.48) (300, 1, 1)

Silver (192,192,192) (50.102, 52.711, 57.402) (0 ,0, 0.753)

Gray (128,128,128) (20.517, 21.586, 23.507) (0, 0, 0.502)

Maroon (128,0,0) (8.902, 4.589, 0.416) (0, 1, 0.502)

Olive (128,128,0) (16.621, 20.027, 2.989) (60, 1, 0.502)

Green (0,128,0) (7.719, 15.438, 2.573) (120, 1, 0.502)

Purple (128,0,128) (12.798, 16.147, 23.934) (300, 1, 0.502)

Teal (0,128,128) (11.615, 16.996, 23.090) (180 ,1, 0.502)

Navy (0,0,128) (3.896, 1.558, 20.517) (240, 1, 0.502)

5-13

5.4.5. Άλλα μοντέλα

Κατά καιρούς έχουν προταθεί διάφορα άλλα χρωματικά μοντέλα. Πολλά από αυτά, είτε δε χρησιμοποιούνται σήμερα διότι θεωρούνται παρωχημένα, είτε έχουν ειδικές χρήσεις. Αξίζει να αναφερθεί το μοντέλο RYB που είναι όμοιο με το RGB, με τη διαφορά ότι χρησιμοποιεί το κίτρινο αντί για το πράσινο (Εικόνα 5.13). Στο χώρο της Τέχνης, οι βαφές παραδοσιακά χρησιμοποιούν το μοντέλο αυτό και με μίξεις δημιουργούν τα δευτερογενή χρώματα πορτοκαλί (κόκκινο και κίτρινο), πράσινο (κίτρινο και μπλε) και μωβ (μπλε και κόκκινο). Ένα άλλο μοντέλο είναι το HSB το οποίο λειτουργεί όπως και το HSV, με τη διαφορά ότι προτείνει τη χρήση του Brightness αντί για το value. Παρομοίως, το HSI κάνει χρήση του Ιntensity. Το Αμερικάνικο σύστημα τηλεόρασης NTSC χρησιμοποιεί το μοντέλο YIQ το οποίο χρησιμοποιεί το luminance (Y), I (chromaticity) και Q (type of color). Στην ασπρόμαυρη τηλεόραση, το κανάλι Y περιέχει την εικόνα σε επίπεδα του γκρι.

Εικόνα 5.13. Μίξεις χρωμάτων με το μοντέλο RYB που χρησιμοποιείται στο χώρο της Τέχνης και της εκπαίδευσης στην Τέχνη.

5.5. Χάρτης Υφής Στα προηγούμενα εδάφια εξετάσαμε την περιγραφή του χρώματος η οποία θα χρησιμεύσει στο να αποδώσουμε ένα χρώμα σε κάθε σημείο των μοντέλων μας. Προκειμένου για μια πολύπλοκη σκηνή στην οποία συμμετέχουν αρκετά αντικείμενα και στοιχεία φωτισμού, η απόδοση ενός χρώματος σε κάθε σημείο μιας επιφάνειας δεν επαρκεί για μια ρεαλιστική απεικόνιση. Αυτό συμβαίνει, διότι κάθε επιφάνεια των αντικειμένων του φυσικού κόσμου είναι αρκετά πολύπλοκη τόσο ως προς το χρώμα της όσο και προς το ανάγλυφό της. Η μοντελοποίηση της πολυπλοκότητας μιας επιφάνειας σε μικρο-επίπεδο θα απαιτούσε υπερβολικούς υπολογιστικούς πόρους, ενώ είναι αμφίβολο κατά πόσο το αποτέλεσμα που θα προέκυπτε θα ήταν ρεαλιστικό.

Η επεξεργασία επιφανειών ώστε να αποκτήσουν συγκεκριμένα χαρακτηριστικά, ονομάζεται Απόδοση Υφής (Texturing). Στην έξοδο αυτής της διαδικασίας λαμβάνουμε υλικά τα οποία μιμούνται αυτά του φυσικού κόσμου, όπως είναι το ξύλο, διάφορα μέταλλα και υφάσματα. Κάθε υφή εξαρτάται από ένα σύνολο παραμέτρων που προσδιορίζουν τα παρακάτω [Bertoline et al., 2009]:

• το χρώμα (color), • η λάμψη (shininess), • η ανακλαστικότητα (reflectivity), • η διαφάνεια (transparency) ή η αδιαφάνεια (opaque), • η λευκοπύρωση (incandescence), • η διαύγεια (translucence), • η ομαλότητα (smoothness).

Υπάρχουν και χρονικά μεταβαλλόμενες υφές οι οποίες χρησιμοποιούνται για τη ρεαλιστική απόδοση

υδάτινων όγκων, τη νέφωση κ.ά. Σε κάθε περίπτωση, αυτό που χρειάζεται μια ρεαλιστική αναπαράσταση είναι η απεικόνιση της υφής και του ανάγλυφου μιας επιφάνειας του χώρου R3. Γενικά υπάρχουν δύο μεγάλες κατευθύνσεις: η Απεικόνιση Χάρτη Υφής (Image Mapping) και η Συναρτησιακή Υφή (Procedural Texture mapping).

5-14

Η απεικόνιση χάρτη υφής είναι μια σχετικά απλή μέθοδος απόδοσης υφής σε μια επιφάνεια. Χρησιμοποιεί μια δισδιάστατη εικόνα και με παραμέτρους τις u και v ορίζει ένα φραγμένο διάστημα, για να απεικονίσει τα αντικείμενα του τρισδιάστατου χώρου στο διάστημα των παραμέτρων u και v. Η προβληματική μεταφέρεται στον τρόπο προβολής των σημείων του τρισδιάστατου μοντέλου (επιφάνεια) πάνω στη δισδιάστατη εικόνα. Ανάλογα με το είδος της προβολής προκύπτουν διαφορετικές συναρτήσεις απεικόνισης (mapping functions), καθεμία από τις οποίες εξυπηρετεί καλύτερα διαφορετικές περιπτώσεις. Έτσι, μελετώντας ανα περίπτωση την κάθε επιφάνεια αποφασίζεται το ποια συνάρτηση απεικόνισης θα εφαρμοστεί.

Επειδή η μεταφορά από τον τρισδιάστατο χώρο των μοντέλων στο δισδιάστατο χώρο της εικόνας της υφής δεν είναι εύκολη, πρώτα προβάλλεται η εικόνα της υφής πάνω σε μια ενδιάμεση επιφάνεια και στη συνέχεια ‘τυλίγουμε’ αυτήν την επιφάνεια πάνω στο αντικείμενο. Για παράδειγμα, στην κυλινδρική απεικόνιση μεταφερόμαστε από το χώρο καρτεσιανών συντεταγμένων (x,y,z) στο χώρο κυλινδρικών συντεταγμένων (θ, h) για να προσδιορίσουμε έναν κύλινδρο ο οποίος περιβάλλει το αντικείμενο, και τελικά για να καταλήξουμε στην επιφάνεια (u,v) της υφής. Παρομοίως, στη σφαιρική απεικόνιση μεταφερόμαστε από τον καρτεσιανό χώρο (x,y,z) στο χώρο (φ, θ) μιας σφαίρας (σφαιρικές συντεταγμένες), για να καταλήξουμε τελικά στην επιφάνεια (u,v).

Με τη μέθοδο της απεικόνισης χάρτη υφής κατορθώνουμε να αποδώσουμε ρεαλιστικές λεπτομέρειες πάνω σε λείες αναλυτικές ή πολυγωνικές επιφάνειες, χωρίς αλλαγή στη μορφολογία της επιφάνειας. Όλες οι λεπτομέρειες που θέλουμε να αποδοθούν στην επιφάνεια, δίνονται μέσα στην εικόνα της υφής. Ένα άλλο πλεονέκτημα είναι η ευκολία αλλαγής της εμφάνισης ενός αντικειμένου με αντικατάσταση της εικόνας της υφής.

5.5.1. Επίπεδη Απεικόνιση Η επίπεδη απεικόνιση (plannar mapping) πραγματοποιείται με μια συνάρτηση απεικόνισης η οποία είναι επίπεδη και μοιάζει σαν να προβάλει παράλληλα τα σημεία του αντικειμένου πάνω στο επίπεδό της. Είναι μια συνάρτηση R3 → T2 η οποία δεν είναι αμφιμονοσήμαντη. Το ερώτημα είναι: με δεδομένο ένα σημείο (x, y, z) πάνω στο αντικείμενο, ποιο σημείο (u, v) της εικόνας της υφής θα χρησιμοποιήσουμε; Ουσιαστικά αυτό που ψάχνουμε είναι για καθένα σημείο πάνω στο αντικείμενο ένα άλλο σημείο πάνω στην εικόνα της υφής, για να βρούμε το χρώμα του.

Επίσης, υπάρχει περιοδικότητα στις απεικονίσεις, συμπεριλαμβανομένης και της επίπεδης απεικόνισης. Σύμφωνα με αυτήν, η εικόνα της υφής επαναλαμβάνεται κατά πλάτος και κατά ύψος για τις περιοχές της επιφάνειας έξω από τα όριά της. Αν, λοιπόν, α και β είναι οι περίοδοι για τους δύο άξονες X και Y, τότε η συνάρτηση επίπεδης απεικόνισης δίνεται από τη σχέση:

(𝑢𝑢, 𝑣𝑣) = 𝑓𝑓(𝑥𝑥, 𝑦𝑦, 𝑧𝑧) = (𝑥𝑥𝑎𝑎

− �𝑥𝑥𝑎𝑎

� , 𝑦𝑦𝛽𝛽

− �𝑦𝑦𝛽𝛽

�) {Eξ. 5.6}

Στην Εικόνα 5.14 παρουσιάζεται ένα παράδειγμα εφαρμογής της συνάρτησης επίπεδης απεικόνισης στο οποίο χρησιμοποιείται μια τετραγωνική εικόνα (ταπετσαρία) πάνω στο τρισδιάστατο αντικείμενο της τσαγιέρας. Το τελικό αποτέλεσμα εξαρτάται από την κατεύθυνση της προβολής της εικόνας.

Παρατηρούμε ότι στις περιοχές του αντικειμένου που είναι προς την πλευρά του επιπέδου προβολής, η εφαρμογή της επίπεδης απεικόνισης δίνει αποδεκτά αποτελέσματα. Στην περιοχή, όμως, που καμπυλώνει το σχήμα της τσαγιέρας όπως είναι στην μπροστινή πλευρά και στο καπάκι, η συνάρτηση επίπεδης απεικόνισης εμφανίζει ‘τραβηγμένα’ τα διακοσμητικά σχήματα. Από το παραπάνω παράδειγμα γίνεται εύκολα αντιληπτό ότι η επίπεδη απεικόνιση ταιριάζει σε αντικείμενα που είναι επίπεδα και παράλληλα προς το επίπεδο προβολής.

Οι τιμές των u και v εκφράζονται στο διάστημα [0,1] και πολλαπλασιάζονται με την ανάλυση της εικόνας υφής, για να προσδιορίσουν ένα texel. Όταν ζητείται ένα texel σε μη ακέραιες συντεταγμένες, τότε εφαρμόζεται φιλτράρισμα στην εικόνα της υφής. Ενώ, όταν η ζητούμενη θέση πέφτει έξω από την εικόνα της υφής, τότε υπάρχουν δύο προσεγγίσεις. Η πρώτη ονομάζεται Clamping (σύσφιξη) και περιορίζει το texel στο μέγεθος της υφής, μετακινώντας την στο πλησιέστερο άκρο όταν η επιφάνεια που επενδύεται είναι μεγαλύτερη από την επιφάνεια της υφής (Εικόνα 5.15-αριστερά). Η εναλλακτική μέθοδος είναι το Wrapping (τύλιγμα) κατά την οποία η υφή τυλίγεται σε βήματα του μεγέθους της, με αποτέλεσμα την επανάληψή της (Εικόνα 5.15-δεξιά).

5-15

Απαιτούμενα υλικά (εικόνα υφής & 3Δ μοντέλο)

Διαδικασία εφαρμογής της επίπεδης απεικόνισης (θέση, προσανατολισμός, κλίμακα)

Εικόνα 5.14. Το αποτέλεσμα της συνάρτησης επίπεδης απεικόνισης [Dumitru, 2009]

Μέθοδος Clamp (‘Σύσφιξη’) Μέθοδος Wrap (‘Τύλιγμα’)

1. function clamp(x, min,max){ 2. if (x < min){ 3. x = min; 4. } 5. else if (x > max){ 6. x = max; 7. } 8. return x; 9. }

1. function wrap(x, min, max){ 2. x = x - int((x - min) / 3. (max - min)) * 4. (max - min); 5. if (x< 0){ 6. x := x + max - min 7. } 8. return x; 9. }

Εικόνα 5.15. Αριστερά: ‘Σύσφιξη’ και μετακίνηση της υφής στο πλησιέστερο άκρο, δεξιά: ‘Τύλιγμα’ της υφής με επαναληπτική εμφάνιση

Σημείωση: Η παραμόρφωση που προκαλείται στην εικόνα της υφής προκειμένου να μπορέσει να ‘τυλίξει’ ένα 3Δ αντικείμενο είναι τέτοια ώστε αλλοιώνει την έννοια του εικονοστοιχείου (pixel). Δεν μπορούμε να πούμε ότι ένα εικονοστοιχείο της εικόνας αντιστοιχεί σε ένα εικονοστοιχείο του τελικού αντικειμένου. Γι’ αυτό το λόγο χρειαζόμασταν μια νέα έννοια η οποία να διαχωρίζει το μέγεθος της υφής από τον τρόπο εφαρμογής της και το τελικό αποτέλεσμα πάνω στα επενδυμένα αντικείμενα. Έτσι ορίστηκε το Texel (texture element), που είναι ένα εικονοστοιχείο σε μια εικόνα υφής. Για παράδειγμα, μια εικόνα 512x512 εικονοστοιχείων όταν χρησιμοποιείται ως υφή, τότε λέμε ότι διαθέτει έναν πίνακα από 512 γραμμές και 512 στήλες από texels, τα οποία, ενδεχομένως, να εμφανιστούν στην οθόνη με περισσότερα ή λιγότερα εικονοστοιχεία ανάλογα με την απόσταση του αντικειμένου, την κλίμακα εφαρμογής (βήμα επανάληψης) και τη μορφολογία του αντικειμένου.

5-16

Συνολικά, η επίπεδη απεικόνιση είναι η πιο απλή και προφανής λύση στο πρόβλημα της απεικόνισης

υφής. Μια παραλλαγή αυτής της προσέγγισης η οποία χρησιμοποιεί επαναληπτικά την επίπεδη απεικόνιση, είναι η κυβική συνάρτηση απεικόνισης (Box mapping). Η απεικόνιση αυτή προτείνει ως ενδιάμεση επιφάνεια έναν κύβο που περικλείει το αντικείμενο και επαναλαμβάνει την επίπεδη απεικόνιση του χάρτη υφής 6 φορές, μία για κάθε πλευρά του κύβου. Δίνει ικανοποιητικά αποτελέσματα σε περιπτώσεις απλών σχετικά αντικειμένων τα οποία πρόκειται να καλυφθούν με ομοιογενή υλικά όπως πετρώδεις και τσιμεντένιες επιφάνειες, χάρτινα κουτιά, άσφαλτος για το οδόστρωμα, κτλ. 5.5.2. Κυλινδρική Απεικόνιση

Σε περιπτώσεις κυλινδρικών αντικειμένων ή αντικειμένων των οποίων το σχήμα προσεγγίζει έναν κύλινδρο, χρησιμοποιείται η κυλινδρική απεικόνιση (cylindrical mapping). Αυτή θεωρεί ως ενδιάμεση επιφάνεια την επιφάνεια του μοναδιαίου κυλίνδρου ο οποίος υψώνεται κατά τον άξονα Ζ. Έτσι μεταφερόμαστε από τον (x, y, z) χώρο του αντικειμένου στο χώρο (theta, h) του κυλίνδρου και τελικά βρίσκουμε τις συντεταγμένες (u, v) πάνω στην επιφάνεια της υφής. Για τη συνάρτηση κυλινδρικής απεικόνισης ισχύουν οι παρακάτω εξισώσεις:

(𝑢𝑢, 𝑣𝑣) = 𝑓𝑓(𝑥𝑥, 𝑦𝑦, 𝑧𝑧) = (12

− 12𝜋𝜋

𝑎𝑎𝑟𝑟𝑎𝑎 sin 𝑧𝑧√𝑥𝑥2+𝑧𝑧2 , 𝑦𝑦

𝛽𝛽− �𝑦𝑦

𝛽𝛽�) {Eξ. 5.7}

όπου:

⎩⎨

⎧ℎ = 𝑦𝑦

𝑟𝑟 = �𝑥𝑥2 + 𝑧𝑧2

𝜃𝜃 = 𝑎𝑎𝑟𝑟𝑎𝑎 sin𝑧𝑧

√𝑥𝑥2 + 𝑧𝑧2, −𝜋𝜋 ≤ 𝜃𝜃 ≤ 𝜋𝜋

Η κυλινδρική απεικόνιση αποδίδει καλύτερο αισθητικό αποτέλεσμα όταν εφαρμόζεται σε επιμήκη αντικείμενα. Όπως φαίνεται ακόμη πιο έντονα στην Εικόνα 5.16, η εφαρμογή της επίπεδης απεικόνισης πάνω στον κύλινδρο προκαλεί προβλήματα (τραβηγμένη προς τα πίσω εικόνα), ενώ η κυλινδρική απεικόνιση εφάρμοσε άψογα πάνω στην επιφάνεια.

Απαιτούμενα υλικά (εικόνα υφής & 3Δ μοντέλο)

Διαδικασία εφαρμογής της κυλινδρικής απεικόνισης (κλίμακα)

Εικόνα 5.16. Εφαρμογή της συνάρτησης κυλινδρικής απεικόνισης. Στην κάτω εικόνα η επίπεδη απεικόνιση παρέμεινε ως αναφορά στο πρόβλημα που καλείται να λύσει η κυλινδρική.

5-17

5.5.3. Σφαιρική Απεικόνιση

Με την ίδια συλλογιστική, σε περιπτώσεις σφαιρικών αντικειμένων καλύτερα αποτελέσματα δίνει μια συνάρτηση σφαιρικής απεικόνισης (spherical mapping). Παρατηρείται ότι όχι μόνο στα σφαιρικά, αλλά γενικά στα κοίλα αντικείμενα αναμένονται μεγάλες παραμορφώσεις, αν προσπαθήσει κανείς να εφαρμόσει κυλινδρική, πόσο μάλλον επίπεδη απεικόνιση. Στη σφαιρική απεικόνιση, ο χώρος (x, y, z) εκφράζεται στο χώρο (φ, θ) μιας σφαίρας, για να καταλήξει τελικά στην επιφάνεια της υφής (u, v). Η συνάρτηση απεικόνισης είναι:

⎩⎪⎨

⎪⎧ 𝑢𝑢 = 1

2+

𝑎𝑎𝑎𝑎𝑎𝑎 sin 𝑧𝑧�𝑥𝑥2+𝑧𝑧2

2𝜋𝜋

𝑣𝑣 = 12

+𝑎𝑎𝑎𝑎𝑎𝑎 sin 𝑦𝑦

�𝑥𝑥2+𝑦𝑦2+𝑧𝑧2

𝜋𝜋

{Eξ. 5.8}

όπου:

⎩⎪⎨

⎪⎧𝜑𝜑 = 𝑎𝑎𝑟𝑟𝑎𝑎 sin

𝑦𝑦�𝑥𝑥2 + 𝑦𝑦2 + 𝑧𝑧2

, −𝜋𝜋2

≤ 𝜑𝜑 ≤𝜋𝜋2

𝑟𝑟 = �𝑥𝑥2 + 𝑦𝑦2 + 𝑧𝑧2

𝜃𝜃 = 𝑎𝑎𝑟𝑟𝑎𝑎 sin𝑧𝑧

√𝑥𝑥2 + 𝑧𝑧2, −𝜋𝜋 ≤ 𝜃𝜃 ≤ 𝜋𝜋

Απαιτούμενα υλικά (εικόνα υφής & 3Δ μοντέλο)

Διαδικασία εφαρμογής της σφαιρικής απεικόνισης

Εικόνα 5.17. Εφαρμογή της συνάρτησης σφαιρικής απεικόνισης πάνω στο γεωειδές

5.5.4. Προσανατολισμένη Απεικόνιση

Σε αντικείμενα τα οποία περιέχουν έντονες πτυχώσεις, δημιουργούνται ποικιλόμορφα πυκνώματα και αραιώματα στην τελική εικόνα της υφής τους (Εικόνα 5.18). Το φαινόμενο αυτό συμβαίνει σε όλες τις μεθόδους που έχουμε εξετάσει πιο πριν, καθώς η αντιστοίχιση γίνεται μόνο με βάση τη θέση του σημείου. Έτσι, επιφάνειες που έχουν διάνυσμα κάθετο προς την επιφάνεια προβολής, εμφανίζουν σωστά την υφή, ενώ επιφάνειες που βρίσκονται υπό κλίση με την επιφάνεια προβολής, ‘τεντώνουν’ την υφή σαν να ήταν μια λαστιχένια επιφάνεια πολύ μεγάλης ελαστικότητας. Αυτό, όμως, δεν είναι πάντοτε επιθυμητό. Η ένταση του φαινομένου εξαρτάται άμεσα από την κλίση της επιφάνειας που επενδύεται. Χείριστη περίπτωση εμφανίζεται

5-18

να είναι αυτή που η επιφάνεια είναι κάθετη στην υφή, όπως συμβαίνει στην Εικόνα 5.16 στο καπάκι του κυλίνδρου.

Η λύση σε αυτό το πρόβλημα είναι η τεχνική της Προσανατολισμένης Απεικόνισης (Shrink mapping), η οποία προσδίδει ομοιόμορφη κατανομή της υφής πάνω σε ακανόνιστες επιφάνειες, λαμβάνοντας υπόψη το κανονικό διάνυσμα σε κάθε σημείο της επιφάνειας του αντικειμένου. Αυτό πραγματοποιείται εφαρμόζοντας σφαιρική απεικόνιση στα σημεία τομής του κάθετου διανύσματος στο σημείο P, με μια σφαίρα ακτίνας R. Έτσι κάθε σημείο της επιφάνειας έχει το δικό του σημείο κάθετης προβολής το οποίο εξασφαλίζει την απουσία αραιωμάτων.

Το τελικό αποτέλεσμα είναι, σαφώς, πιο βελτιωμένο σε επιφάνειες με έντονες αυλακώσεις, όπου η υφή φαίνεται να επενδύθηκε πάνω στην επιφάνεια πριν από την παραμόρφωσή της και έτσι ακολουθεί πιστά τις πτυχώσεις.

Απαιτούμενα υλικά (εικόνα υφής & 3Δ μοντέλο)

Διαδικασία εφαρμογής της σφαιρικής απεικόνισης

Εικόνα 5.18. Απεικόνιση χάρτη υφής πάνω σε επιφάνεια με έντονες αυλακώσεις

5.5.5. Ανακλαστική και Περιβαλλοντική Απεικόνιση

Μέχρι στιγμής έχουν εξεταστεί οι περιπτώσεις στις οποίες σε κάθε αντικείμενο μέσα σε μια σκηνή, μπορεί να αποδοθεί μια υφή ανεξάρτητα από τα άλλα αντικείμενα μέσα στην ίδια σκηνή. Τι γίνεται, όμως, στην περίπτωση ανακλαστικών επιφανειών όπως ένας καθρέφτης, μια μεταλλική επιφάνεια ή ένα γυαλιστερό παρκέ; Θα πρέπει ο παρατηρητής να είναι σε θέση να βλέπει εικόνες των παρακείμενων αντικειμένων που ανακλώνται πάνω στις γυαλιστερές επιφάνειες. Ένας πρόχειρος τρόπος να δημιουργηθεί η εντύπωση της ανάκλασης σε γυαλιστερές επιφάνειες είναι να υπάρχει φορτωμένη εκ των προτέρων μια εικόνα ανακλάσεων η οποία θα συνυπολογίζεται μαζί με την εικόνα υφής, για να δημιουργεί την εντύπωση της ανακλαστικότητας. Αυτό, όμως, δεν είναι παρά ένα πολύ απλό εφέ σε ορισμένες μηχανές γραφικών (π.χ. iClone της Realussion) και δεν μπορεί να αποδώσει επαρκώς το φαινόμενο του καθρέφτη.

Η συνάρτηση ανακλαστικής απεικόνισης (reflection mapping) θα λαμβάνει υπόψη τη θέση του παρατηρητή στο χώρο. Αν R είναι το διάνυσμα ανάκλασης στο σημείο P της επιφάνειας, τότε η αντιστοίχιση των u και v του χώρου της υφής με τα x, y και z του R3 χώρου γίνεται με βάση τις εξισώσεις:

�𝑢𝑢 = 1

2𝜋𝜋𝑎𝑎𝑟𝑟𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑅𝑅𝑍𝑍

�𝑅𝑅𝑋𝑋2 +𝑅𝑅𝑍𝑍

2

𝑣𝑣 = 12

+ arcsin 𝑅𝑅𝑦𝑦

𝜋𝜋

{Eξ. 5.9}

5-19

Η πιο ακριβής απεικόνιση είναι η περιβαλλοντική (environment mapping). Η εικόνα των ανακλάσεων δε θα είναι προδιαγεγραμμένη, αλλά θα προκύπτει από τα παρακείμενα αντικείμενα με υπολογισμό των ακτίνων οι οποίες ξεκινούν από το κέντρο τους με κατεύθυνση προς τα έξω και προσπίπτουν πάνω σε άλλες επιφάνειες. Ας υποθέσουμε έναν κύβο ο οποίος περικλείει ένα αντικείμενο και έστω ότι υπάρχει ένα σύστημα από 6 κάμερες στο κέντρο του αντικειμένου, μία ανά κατεύθυνση προς τους ημιάξονες Χ, -Χ, Υ, -Υ, Ζ και –Ζ. Κάθε κάμερα καταγράφει -μια φορά στην αρχή- την εικόνα του περιβάλλοντος που βλέπει σαν να μην υπήρξε το αντικείμενο στη θέση που υπάρχει (αόρατο). Έτσι παράγονται 6 χάρτες υφής, ο καθένας για κάθε έδρα του κύβου. Αναμένεται να υπάρχει παραμόρφωση λόγω του κύβου η οποία, όμως, μειώνεται με την απόσταση. Έτσι, για τα μακρινά αντικείμενα η παραμόρφωση λόγω της γεωμετρίας του κύβου θα είναι μικρότερη. Για ένα μεταλλικό αντικείμενο, η ευκρίνεια των χαρτών υφής δεν απαιτείται να είναι τόσο μεγάλη όσο στην περίπτωση του καθρέφτη.

Μια ακόμη πιο ακριβή διαδικασία από άποψη υπολογιστικού κόστους αλλά με εντυπωσιακά αποτελέσματα στην παράσταση ανακλάσεων από αντικείμενα του περιβάλλοντος χώρου, είναι η παρακολούθηση ακτίνας (ray-tracing) κατά την οποία γίνεται ακριβής υπολογισµός των ανακλάσεων. Για ένα σύστημα πραγματικού χρόνου η ανάγκη για απεικόνιση των ανακλάσεων με παρακολούθηση ακτίνας είναι αρκετά απαιτητική από υπολογιστικής άποψης. Είναι, όμως, θεαματικό να μπορεί ένα avatar να κοιτάζει τον εαυτό του στον καθρέφτη! 5.5.6. Mip-mapping

Σε προοπτική προβολή, η οποία αποτελεί και την πλέον συνηθισμένη περίπτωση, τα μοντέλα εμφανίζονται μικρότερα όταν η απόστασή τους από τον παρατηρητή (π.χ. εικονική κάμερα) αυξάνεται. Και, έτσι, οι λεπτομέρειες δε γίνονται ορατές. Κανονικά θα απαιτούνταν ένα επίπεδο επεξεργασίας της αρχικής εικόνας υφής για να εφαρμοστεί κάποιο φίλτρο σμίκρυνσης. Επίσης, το αποτέλεσμα της σμίκρυνσης, όσο καλό και να ήταν δε θα ήταν απαλλαγμένο από προβλήματα όπως το λαμπύρισμα (shimmering).

Μια πιο αποδοτική λύση είναι η χρήση υφής πολλαπλής ανάλυσης και η εφαρμογή μίας από αυτές ανά περίπτωση. Τη λύση έδωσε ο Williams Lance από το New York Institute of Technology (NYIT) πρότεινε την τεχνική Mip-mapping (1983) για να διορθώσει ορισμένες παραμορφώσεις οι οποίες οφείλονται στο μέγεθος της εικόνας της υφής σε σχέση με την απόσταση παρατήρησης και να βελτιώσει την ταχύτητα απεικόνισης (rendering). Η λύση βασίζεται στη χρήση πολλαπλών αντιγράφων του χάρτη υφής, από τα οποία επιλέγεται από τον αλγόριθμο ένα κάθε φορά κάθε φορά, για να χρησιμοποιηθεί ως χάρτης υφής. Τα αρχεία mipmaps αποθηκεύουν σειρές από προκαθορισμένες εικόνες της ίδιας υφής που έχουν μεγέθη τα οποία προσδιορίζονται από τις δυνάμεις του δύο (π.χ. 64, 128, 256, 512, 1025, κτλ.). Γενικά, αν η αρχική εικόνα mipmap έχει διαστάσεις ΝxΝ, τότε στο επίπεδο i οι διαστάσεις είναι:

𝑚𝑚𝑎𝑎𝑥𝑥 �𝑁𝑁2𝑖𝑖 , 1� 𝑥𝑥 𝑚𝑚𝑎𝑎𝑥𝑥 �

𝑀𝑀2𝑖𝑖 , 1�

Το αντίγραφο της υφής που βρίσκεται διαθέσιμο στην υψηλότερη ανάλυση, χρησιμοποιείται για

αντικείμενα τα οποία βρίσκονται κοντά στη θέση παρατήρησης. Αντίθετα, οι μικρές αναλύσεις χρησιμοποιούνται για μακρινά αντικείμενα. Λόγω της προοπτικής της σκηνής, αυτή είναι μια αποδοτική μέθοδος, καθώς είναι πιο γρήγορο να χρησιμοποιούνται πολλαπλά αντίγραφα σε ποικίλες αναλύσεις (Εικόνα 5.19) αντί ενός μόνο αντιγράφου της μέγιστης ανάλυσης για χρήση σε όλες τις περιπτώσεις.

Σήμερα η τεχνική Mip-mapping χρησιμοποιείται καθολικά σε όλα τα συστήματα γραφικών στο χώρο των βιντεοπαιχνιδιών, των εξομοιωτών και της ψηφιακής διασκέδασης. Η διαφορά στο αποτέλεσμα γίνεται αντιληπτή από το χρήστη, σε όρους ποιότητας της τελικής εικόνας και απαιτούμενου χρόνου για την επεξεργασία της σκηνής.

Σημείωση: Η τεχνική Mip-mapping πήρε το όνομά της από το λατινικό ‘multum in parvo’ (MIP), που σημαίνει την ύπαρξη πολλών πραγμάτων σε ένα μικρό μέρος, στη συγκεκριμένη περίπτωση τη συγκέντρωση πολλών αντιγράφων του χάρτη υφής σε μία και μόνη εικόνα. Επίσης, παρά την εντύπωση που κυριαρχεί στους κύκλους των δημιουργών περιεχομένου, οι χάρτες Mip-mapping δεν είναι απαραίτητο να είναι τετραγωνικοί, αρκεί οι διαστάσεις τους να βασίζονται στις δυνάμεις του δύο. Για παράδειγμα, εκτός από 64x64, 128x128, 256x256, μπορεί να προταθεί ένας χάρτης υφής 128x256.

5-20

Εικόνα 5.19. Αριστερά: η αρχική εικόνα, δεξιά: ο τρόπος αποθήκευσης του χάρτη υφής για υποστήριξη πολλαπλών αναλύσεων στα τρία κανάλια RGB 5.6. Απόδοση Υφής με Παραμετρική Απεικόνιση Η υφή ενδέχεται να μπορεί να δημιουργηθεί ως αποτέλεσμα μιας συνάρτησης και τότε ονομάζεται συναρτησιακή υφή (procedural texture). Η βασική ιδέα πίσω από την παραμετρική απεικόνιση υφής (procedural mapping) είναι η άμεση αντιστοίχηση ενός σημείου του τρισδιάστατου χώρου R3 με μία συναρτησιακή τιμή. Η συναρτησιακή υφή είναι συνεχής και ανθεκτική σε γεωμετρικές παραμορφώσεις, αποδίδει καλύτερα ορισμένα εφέ και δεν εμφανίζει προβλήματα ταύτισης (aliasing). Αυτό συμβαίνει διότι, σε αντίθεση με τις τεχνικές απεικόνισης εικόνας (image mapping) που είναι ψηφιακές, η υφή προκύπτει με σχεδιογραφικό τρόπο. Επίσης, μπορεί να αποδώσει με ευκολία εικόνες με συμπεριφορά fractals (αυτοομοιότητα) και να εφαρμοστεί ακόμη και στο εσωτερικό ημι-διαφανών αντικειμένων [Θεοχάρης και συν., 1989]. Στα εφέ που μπορούν να δημιουργηθούν με τη χρήση παραμετρικής απεικόνισης συγκαταλέγονται η φωτιά, οι καπνισμένες επιφάνειες, η υφή του μαρμάρου και του ξύλου ή ενός φύλλου, ενώ η ποιότητα του τελικού αποτελέσματος σε όρους επιπέδου λεπτομέρειας είναι πολύ ψηλότερη σε σχέση με την απεικόνιση ψηφιογραφικής εικόνας.

Στα μειονεκτήματα της μεθόδου συγκαταλέγεται η αδυναμία της παραμετρικής απεικόνισης να αποτυπώσει μοναδικά αντικείμενα του φυσικού κόσμου (πχ. πρόσωπα, έργα τέχνης). Το ίδιο ισχύει για την έξοδο όλων των συσκευών σύλληψης (π.χ. εικόνα από μια φωτογραφική μηχανή, webcamera) ή μια virtual τηλεόραση σε μια εικονική σκηνή. Αυτά τα αντικείμενα δεν μπορούν να δημιουργηθούν συναρτησιακά και γι’ αυτό θεωρούμε ότι η παραμετρική απεικόνιση συμπληρώνει την απεικόνιση ψηφιακής εικόνας και ως μέθοδος δεν την αντικαθιστά. Επίσης, υπάρχει δυσκολία αποθήκευσης της υφής, καθώς αυτή παράγεται δυναμικά και δημιουργούνται προβλήματα από το γεγονός ότι η υφή δεν ακολουθεί τις τυχόν παραμορφώσεις του αντικειμένου. Η ανομοιόμορφη παραμόρφωση αντικειμένου-υφής μπορεί να οδηγήσει σε αφύσικα αποτελέσματα.

Ιδιαίτερο κεφάλαιο της παραμετρικής απόδοσης υφής είναι η παραγωγή θορύβου. Τα αντικείμενα του φυσικού χώρου δε φαίνονται πάντοτε τόσο καθαρά ή συνεπή, όπως τα εμφανίζει μια συνάρτηση απεικόνισης. Γι’ αυτό το λόγο χρειαζόμαστε μια συνάρτηση παραγωγής θορύβου η οποία να κάνει τα αποτελέσματα της απεικόνισης πιο ρεαλιστικά. Επίσης, εκτός από μια απλή μηχανή παραγωγής ψευδοτυχαίων αριθμών (Εικόνα 5.20-α), υπάρχουν πιο πολύπλοκες μηχανές παραγωγής θορύβου οι οποίες χρησιμεύουν στη δημιουργία υφής διαφόρων κατηγοριών (Εικόνα 5.20-β.γ), όπως επίσης και στη δημιουργία εικονικών κόσμων (worlds ή levels) που χρησιμοποιούνται στη βιομηχανία βιντεοπαιχνιδιών. Στην Εικόνα 5.20-δ φαίνεται ένα τμήμα χερσαίου εδάφους που δημιουργήθηκε δυναμικά (αλγοριθμικά) με τη σύνθεση μιας χρωματικής υφής (color map) και ενός χάρτη σκίασης (shadow map).

Ο θόρυβος Perlin [Perlin, 1985; Perlin & Hoffert, 1989] είναι ένα είδος διαδικαστικής υφής η οποία αυξάνει το ρεαλισμό των επιφανειών. Αρχικά μοιάζει σαν την έξοδο της τηλεόρασης χωρίς σήμα (τα λεγόμενα 'χιόνια'). Οι κλιμακώσεις που δημιουργεί, έχουν ίσο μέγεθος και είναι ομοιόμορφες. Στη δισδιάστατη μορφή της η συνάρτηση παραγωγής θορύβου Perlin λαμβάνει ως είσοδο ένα σημείο P(x, y) και

5-21

εξάγει μια τιμή (ύψος) στην κλίμακα [-1, 1] ή στην [0, 255] για τη δημιουργία θορύβου στην κλίμακα του γκρι. Η μέθοδος Perlin μιμείται τις τυχαίες εμφανίσεις διαφόρων φυσικών χαρακτηριστικών, όπως και τις μεταβολές που συμβαίνουν στη φύση (π.χ. κυματισμός).

(α) Τυχαίος θόρυβος

(b) Gray Map

(γ) Color Map

(δ) Color Map + Shadow Map Εικόνα 5.20. Διάφορες τεχνικές παραγωγής θορύβου: Από μια απλή 2Δ μηχανή παραγωγής ψευδοτυχαίων αριθμών (α), μέχρι τη δημιουργία θορύβου Perlin (β, γ, δ) με διάφορες παραλλαγές.

Στη Λίστα 5.3 προτείνεται ένας τρόπος υλοποίησης του αλγορίθμου Perlin για παραγωγή θορύβου. Η

διαφορά που έχει ο αλγόριθμος από την απλή παραγωγή τυχαίων αριθμών (Εικόνα 5.20-α), είναι ότι εξομαλύνει τις απότομες αλλαγές στις τιμές των εικονοστοιχείων, με υπολογισμό της παρεμβολής από το σημείο a0 στο σημείο a1.

1. // Υπολογισμός παρεμβολής ανάμεσα στις τιμές a0 και a1 με το 2. // βάρος w να παίρνει τιμές στο διάστημα[0.0, 1.0] 3. function lerp(float a0, float a1, float w) { 4. return (1.0 - w)*a0 + w*a1; 5. } 6. 7. function dotGridGradient(int ix, int iy, float x, float y) { 8. // Προϋπολογισμένες τιμές gradient vectors σε κάθε σημείο X,Y 9. extern float Gradient[Y][X][2]; 10. float dx = x - (double)ix; 11. float dy = y - (double)iy; 12. return (dx*Gradient[iy][ix][0] + dy*Gradient[iy][ix][1]); 13. } 14. 15. function perlin(float x, float y) { 16. int x0 = (x > 0.0 ? (int)x : (int)x - 1); 17. int x1 = x0 + 1; 18. int y0 = (y > 0.0 ? (int)y : (int)y - 1); 19. int y1 = y0 + 1; 20. float sx = x - (double)x0;

5-22

21. float sy = y - (double)y0; 22. float n0, n1, ix0, ix1, value; 23. n0 = dotGridGradient(x0, y0, x, y); 24. n1 = dotGridGradient(x1, y0, x, y); 25. ix0 = lerp(n0, n1, sx); 26. n0 = dotGridGradient(x0, y1, x, y); 27. n1 = dotGridGradient(x1, y1, x, y); 28. ix1 = lerp(n0, n1, sx); 29. value = lerp(ix0, ix1, sy); 30. return value; 31. }

Λίστα 5.3. Ψευδοκώδικας της μεθόδου Perlin για παραγωγή θορύβου

Η αλγοριθμική δημιουργία θορύβου εκτείνεται και σε άλλους τομείς των γραφικών, πέρα από τη

δυναμική δημιουργία εικόνων. Η αυτόματη παραγωγή περιεχομένου, δηλαδή μη προκαθορισμένου κατά τη φάση της σχεδίασης, μπορεί να ανανεώνει το ενδιαφέρον του χρήστη για εξερεύνηση ενός χώρου. Χαρακτηριστικό παράδειγμα είναι το διαστημικό παιχνίδι Elite (1984) στο οποίο μπορούσαν να δημιουργηθούν 248 διαφορετικοί γαλαξίες με αλγοριθμικό τρόπο. Ένα άλλο παράδειγμα είναι η αλγοριθμική δημιουργία πολύπλοκων τρισδιάστατων αντικειμένων [Merrel & Manocha, 2010], χαρτών εικονικών κόσμων (Εικόνα 5.21) ή ακόμη και δυναμική δημιουργία πόλεων όπως είναι οι πόλεις που βλέπουμε στο PixelCity project [Young, 2009].

(α) Μοντέλο εδάφους (Wireframe)

(β) Μοντέλο εδάφους καλυμμένο με επιφάνειες

(γ) Μοντέλο εδάφους με χάρτη υφής (δ) Προσθήκη περιβαλλοντικών λεπτομερειών

Εικόνα 5.21. Παράδειγμα αλγοριθμικής δημιουργίας εδάφους (terrain) [Terragen, της Planetside Software LLC]

5.7. Ανάγλυφο Το ανάγλυφο στις υφές είναι ένα ενδιαφέρον χαρακτηριστικό που συμπληρώνει το χρωματισμό της υφής και προσφέρει ρεαλιστικά αποτελέσματα. Διακρίνονται δύο μεγάλες κατηγορίες προσεγγίσεων. Η πρώτη ονομάζεται απεικόνιση αναγλύφου (bump mapping ή normal mapping) [Blinn, 1978] και αφορά μια μέθοδο

5-23

δημιουργίας ψευδούς εντύπωσης αναγλύφου. Η ψευδαίσθηση δημιουργείται μέσα από το τοπικό μοντέλο φωτισμού, το οποίο βασίζεται στα κανονικά διανύσματα. Ενώ, δηλαδή, η επιφάνεια δεν έχει δεχθεί στην πραγματικότητα αλλοιώσεις, η οπτική εντύπωση των αλλοιώσεων δημιουργείται όταν η επιφάνεια φωτίζεται για να γίνει ορατή στην παρατηρητή (Εικόνα 5.22). Αν B (u, v) είναι η παραμόρφωση που θέλουμε να εφαρμόσουμε πάνω σε μια επιφάνεια Χ σε κάθε σημείο της P (u, v) κατά την κατεύθυνση του κάθετου διανύσματος 𝛮𝛮��⃗ , τότε η σύνθεση της αρχικής επιφάνειας και των μετατοπίσεων λόγω της παραμόρφωσης Χ’ είναι:

�⃗�𝛸′ = �⃗�𝛸 + 𝛣𝛣𝛮𝛮��⃗ {Εξ. 5.10}

Tο νέο κανονικό διάνυσμα σε κάθε σημείο της επιφάνειας υπολογίζεται σε:

𝛮𝛮′ = 𝛮𝛮 +𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑(𝑁𝑁𝑥𝑥𝑃𝑃𝑣𝑣)−𝑑𝑑𝑑𝑑

𝑑𝑑𝑣𝑣(𝑁𝑁𝑥𝑥𝑃𝑃𝑑𝑑)

‖𝛮𝛮‖ {Εξ. 5.11}

Ένας πολύ δημοφιλής τρόπος υλοποίησης της μεθόδου είναι η εφαρμογή ενός χάρτη υφής (bum

pmap) που δημιουργήθηκε από ένα λεπτομερές μοντέλο (Heightmap) πάνω σε ένα απλοποιημένο μοντέλο [Krishnamurthy & Levoy, 1996]. Ένα παράδειγμα φαίνεται στην Εικόνα 5.23. Αυτή η μέθοδος είναι υπολογιστικά συμφέρουσα καθώς δεν αλλοιώνει τα αρχικά σχήματα των αντικειμένων, κρατώντας την πολυπλοκότητα της σκηνής χαμηλή.

(α) Ένα μοτίβο υφής το οποίο περιλαμβάνει μετατοπίσεις και περιστροφές των μικρο-επιφανειών σε τοπικό επίπεδο

(β) Εφαρμογή του μοτίβου (α) σε επίπεδη επιφάνεια κατά μήκος του κανονικού διανύσματος (αριστερά) και η επιφάνεια που λαμβάνεται υπόψη για το φωτισμό (δεξιά)

(γ) Εφαρμογή του μοτίβου (α) σε μια σφαιρική επιφάνεια (αριστερά) κατά μήκος του κανονικού διανύσματος και η αντίστοιχη επιφάνεια που λαμβάνεται τελικά υπόψη για το φωτισμό (δεξιά)

Εικόνα 5.22. Η βασική αρχή της απεικόνισης αναγλύφου με εφαρμογή ενός μοτίβου υφής (α) πάνω σε μια επίπεδη επιφάνεια (β) και σε μια κοίλη επιφάνεια (γ). Τα βέλη αναπαριστούν τα κανονικά διανύσματα.

Η άλλη κατηγορία μεθόδων ονομάζεται απεικόνιση μετατόπισης (displacement mapping) και

βασίζεται στην πραγματική αλλοίωση των επιφανειών, έτσι ώστε να δημιουργηθεί παραμόρφωση (Εικόνα 5.24). Αν υποθέσουμε ότι υπάρχει μια τιμή μετατόπισης για κάθε σημείο, τότε οι κορυφές των πολυγώνων σε μια περιοχή μετατοπίζονται κατά μήκος των διανυσμάτων τα οποία είναι κάθετα σε αυτά, δηλαδή, κάθετα στο εφαπτόμενο επίπεδο σε κάθε κορυφή (κανονικά διανύσματα κορυφών).

5-24

(β) Normal map

(α) Αρχική εικόνα υλικού

(γ) 3Δ αντικείμενο

(δ) Τελικό αποτέλεσμα Εικόνα 5.23. Εφαρμογή της τεχνικής normal mapping πάνω σε μια σφαίρα: Από μια αρχική λεπτομερή εικόνα (α) δημιουργείται το normal map (β) το οποίο εφαρμοζόμενο πάνω σε ένα στερεό (γ) δημιουργεί στο τελικό αποτέλεσμα την εντύπωση της υφής (δ).

Το μεγάλο πλεονέκτημα αυτής της μεθόδου είναι ότι η πραγματική αλλοίωση της επιφάνειας των

αντικειμένων δημιουργεί με τη σειρά της αλλοίωση περιγράμματος, όταν το αντικείμενο εξετάζεται από διαφορετικές γωνίες θέασης. Επίσης, ανάλογα με την ένταση των αλλοιώσεων (μέγιστη ανύψωση μείον την ελάχιστη βύθιση) και ανάλογα με την απόσταση και τη γωνία παρατήρησης, υπάρχει απόκρυψη τμημάτων της επιφάνειας και δημιουργία προοπτικής. Η απεικόνιση μετατόπισης είναι περισσότερο εφαρμόσιμη σε στατικά σχέδια και σκηνές, ενώ σε εφαρμογές πραγματικού χρόνου αποφεύγεται λόγω της υψηλής γεωμετρικής πολυπλοκότητας (τριγωνοποίησης) που δημιουργεί στις επιφάνειες όπου εφαρμόζεται.

Εικόνα 5.24. Σύγκριση των δύο μεθόδων: Το ανάγλυφο της επιφάνειας της σφαίρας στα αριστερά δημιουργείται μόνο ως οπτική εντύπωση (bump mapping), ενώ το ανάγλυφο στη δεξιά σφαίρα προκύπτει από παραμόρφωση της γεωμετρίας της σφαίρας (displacement mapping). Οι σκιές προστέθηκαν για να κάνουν εμφανείς αυτές τις διαφορές.

5-25

5.9. Προτεινόμενες Ασκήσεις και Προβλήματα Άσκηση 1) Παρατηρείστε ότι στην εικόνα 5.4 τα πρότυπα για καθένα από τα χρώματα του μοντέλου CMYK έχουν δεχθεί περιστροφή το ένα ως προς το άλλο. Ποιο πρόβλημα λύνει κατά την άποψή σας αυτή η τεχνική;

Άσκηση 2) Αν υπάρχουν διαθέσιμα 4 σχήματα/μεγέθη κουκίδων και χρησιμοποιηθεί μια περιοχή 2x2 για την τεχνική halftoning, τότε να υπολογίσετε τη μείωση της ανάλυσης και το συνολικό αριθμό τιμών φωτεινότητας. Άσκηση 3) Αν υποθέσουμε ότι δύο οθόνες η S1 και η S2 έχουν λίγο διαφορετική απόδοση των RGB χρωμάτων, τότε να υπολογίσετε το μετασχηματισμό από τις τιμές RS1,GS1,BS1 στις τιμές RS2,GS2,BS2 λαμβάνοντας υπόψη ότι για κάθε οθόνη υπάρχει διαθέσιμος ένας πίνακας μετασχηματισμού από τις RGB τιμές της συγκεκριμένης οθόνης προς το πρότυπο CIEXYZ. Άσκηση 4) Να υλοποιήσετε έναν αλγόριθμο ανάλυσης μιας ψηφιογραφικής (bitmap) εικόνας στα επιμέρους βασικά χρώματα (κανάλια) του μοντέλου CMYK, με παρόμοιο τρόπο όπως συμβαίνει στην Εικόνα 5.8.

Βιβλιογραφία/Αναφορές

Asrlan B., Jorgensen P. (2014). Real-time Procedural Generation of Environments, TUD, Denmark: Kongens Lyngby.

Bertoline-Wiebe (2007). Fundamental of Graphics Communication, 5th ed., McGraw−Hill Primis. Available on the Internet at: http://www.gilera-bi4.it/download/manuali/GRAFICA%20INGEGNERIA_ING.pdf

Bertoline G. R., Hartman N., Adamo-Villani N. (2009). Computer-Aided Design, Computer-Aided Engineering, and Visualization, Springer Handbook of Automation, pp. 639-652.

Blinn J. F. (1978). Simulation of Wrinkled Surfaces, Computer Graphics, 12(3), pp. 286-292.

Bruton D., Personal website, Austin State University, Department of Physics & Astronomy, http://danbruton.com.

Catmull E. (1974). A Subdivision algorithm for computer display of curved surfaces, PhD dissertation, University of Utah.

Chen X. J. (2008). Guide to Graphics Software Tools, 2nd Ed., Springer.

CIE (1932). Commission internationale de l'Eclairage proceedings, 1931. Cambridge: Cambridge University Press.

Dumitru A. (2009). How to create a paisley seamless vector pattern, available on the Internet at: http://www.pixel77.com/how-to-create-a-paisley-seamless-vector-pattern.

Krishnamurthy V., Levoy M. (1996). Fitting Smooth Surfaces to Dense Polygon Meshes. In Proceedings of the SIGGRAPH '96, pp. 313-324.

Merrel P., Manocha D. (2010). Model Synthesis: A General Procedural Modeling Algorithm, IEEE Transactions on Visualization and Computer Graphics, 17(6), pp. 715-728.

Perlin K. (1985). An Image Synthesizer, Computer Graphics, 19 (3), pp 287-296.

Perlin K., Hoffert E. (1989). Hypertexture. In proceedings of the ACM SIGGRAPH Conference (Computer Graphics), 22(3), 253-261.

5-26

Shamus Y. (2009). Procedural City, available on the Internet at: http://www.shamusyoung.com/twentysidedtale/?p=2940/

Smith T., Guild J. (1932). The C.I.E. colorimetric standards and their use, Transactions of the Optical Society, 3(3), pp. 73–134.

Williams L. (1983). Pyramidal Parametrics, Computer Graphics, 17(3), pp. 1-11, available online at: http://staff.cs.psu.ac.th/iew/cs344-481/p1-williams.pdf

Θεοχάρης Θ., Μπέμ Α., Καραμπάση Α., Παπαϊωάννου Γ., Πλατής Ν. (1999). Γραφικά: Αρχές και Αλγόριθμοι, Εκδόσεις Συμμετρία, Αθήνα.

Παπαμάρκος Ν. (2010). Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας, Αυτοέκδοση, ISBN 978-960-92731-3-8.