Απεικόνιση Υφής και Αναγλύφου Phong, Gorad: Χρωµατισµός λείου αντικειµένου µε ενιαίοχρώµα Τα περισσότερα αντικείµενα δεν έχουν αµιγές χρώµα ούτε είναι λεία. Μπορούµε ναυποδιαιρέσουµε αντικείµενοσεστοιχειώδητµήµατα. Υπολογιστικά ακριβό, χονδροειδή αποτελέσµατα. Τεχνικές απεικόνισης υφής (textre mapping): Συναρτήσεις Φ από 3 χώροσηµείων E 3 ήδιανυσµάτων R 3 στον N-διάστατο χώρο υφής T N (T N R Ν ). Κάθε σηµείο του αντικειµένου χρωµατίζεται σύµφωνα µε την τιµή που βρίσκεται για αυτό στο T N. ( x, y z) = Φ, α [ α, β ] R β Υφή επιτυγχάνεται χωρίς µεταβολή της µορφολογίας του αντικειµένου. Ηχρωµατική τιµή που βρίσκεται από τη συνάρτηση υφής σκιάζεται µε τον αλγόριθµο φωτισµού (π.χ. Phong). Μέθοδοι υφής µας δίνουν τη δυνατότητα επιλογής της διαφάνειας του αναγλύφου, του ενδογενή φωτισµού, της ανακλαστικότητας κλπ. Εξετάζουµε Απεικόνιση Χάρτη Υφής (Image Mapping) και Συναρτησιακή Υφή (Procedral Textre Mapping). 11.1
Απεικόνιση Χάρτη Υφής (Image Mapping) H πιο συνηθισµένη και παλαιότερη µέθοδος: Εικόνα (χάρτης) εκφράζεται σαν φραγµένος παραµετρικός (,) χώρος T 2. Ορίζουµε συνάρτηση απεικόνισης E 3 T 2 (όχι αµφιµονοσήµαντη). Εξετάζουµε διάφορες συναρτήσεις απεικόνισης. Πρακτικά τυλίγουµε 2 χάρτηγύρωαπότο3 αντικείµενο. y x z 11.2
Συναρτήσεις Απεικόνισης Συνδέουν σηµεία αντικειµένου E 3 µεπαραµέτρους (,) T 2 σε 2 φάσεις: 1. Σύνδεση (,) µε ενδιάµεση 3 υποθετική επιφάνεια (π.χ. σφαίρα) 2. Απεικόνιση σηµείων αντικειµένου στην 3 επιφάνεια. Πρακτικά απεικονίζουµε τασηµεία του αντικειµένου σε ένα υποσύνολο τους που µπορεί να εκφρασθεί µε µία 2 βάση. Εξετάζουµε planar mapping, cylindrical mapping, spherical mapping, shrink mapping, box mapping, bicbic patch mapping. 11.3
Συναρτήσεις Απεικόνισης Planar Mapping: H ενδιάµεση 3 επιφάνεια είναι ένα επίπεδο. Θεωρούµε τον χάρτη υφής σαν ένα επίπεδο προβολέα που φωτίζει µε παράλληλη δέσµη ακτίνωντοανικείµενο. Πρακτικά προβάλουµε κάθεσηµείο του αντικειµένου στο επίπεδο. Εστω ότι χρησιµοποιούµε το επίπεδο XY µε την απεικόνιση =a x, =β y H συνάρτηση απεικόνισης σηµείων του αντικειµένου στον (,) είναι: x y (, ) = ΦPlanar ( x, y, z) =, Συντεταγµένες (x,y) εκτός του διαστήµατος ([0,a],[0,β]) µας δίνουν τιµές στα, εκτός του παραµετρικού διαστήµατος τους (αν, [0,1]). Απαιτείται περιοδική συνάρτηση: x ( ) ( ) x y y, = ΦPlanar x, y, z =, a a β β Planar mapping µπορεί να χρησιµοποιηθεί για οποιοδήποτε επίπεδο µε κατάλληλο µετασχηµατισµό. Καλά αποτελέσµατα για σχετικά επίπεδες επιφάνειες. a β 11.4 X Z Y
Συναρτήσεις Απεικόνισης Cylindrical Mapping: Ενδιάµεση επιφάνεια είναι ο µοναδιαίος κύλινδρος που είναι συµµετρικός ως προς τον Y. Αλλάζουµε σύστηµα συντεταγµένων αντικειµένου από καρτεσιανό σε κυλινδρικό: ( θ ) 2 2 z y, r, = y, x + z,arcsin µε π arcsin() π 2 2 x + z Y Z X θ Χρησιµοποιούµε 2 από τις κυλινδρικές συντεταγµένες (θ,y) για απεικόνιση στο χώρο υφής: 1 θ y y ( ) ( ) 1 1 z y y, = ΦCylindrica l x, y, z = +, = + arcsin, 2 2π β β 2 2π 2 2 x + z β β όπου -π arcsin( ) π και β η περίοδος επανάληψης κατά Y Ο χάρτης υφής τυλίγεται γύρω από το αντικείµενο κατά τον Y άξονα µε περίοδο β:» Κατάλληλη για επιµήκη αντικείµενα. 11.5
Συναρτήσεις Απεικόνισης Spherical Mapping: Για κοίλα ή σφαιρικά αντικείµενα. Χρησιµοποιεί τη σφαίρα σαν ενδιάµεση επιφάνεια. Αλλάζουµε σύστηµα συντεταγµένων από καρτεσιανό σε σφαιρικό: z y 2 2 2 θ = arcsin φ= arcsin r = x + y + z µε -π arcsin( ) π 2 2 2 2 2 x + z x + y + z X Χρησιµοποιούµε 2 από τις σφαιρικές συντεταγµένες (θ,φ) για απεικόνιση στο χώρο υφής: z arcsin 1 2 2 = + x + z, 2 2π y arcsin 2 2 2 1 x + y + z = + 2 π π [ ], π µε θ π, π φ 2 2 θ Y φ Z 11.6
Συναρτήσεις Απεικόνισης Αντικείµενα µε πτυχώσεις παρουσιάζουν πυκνώσεις και αραιώσεις της υφής: Υφή πιο πυκνή σε επιφάνειες κάθετες στη διεύθυνση απεικόνισης. π.χ. Για planar mapping 11.7
Συναρτήσεις Απεικόνισης Shrink Mapping (προσανατολισµένη απεικόνιση): Χρήση κανονικού διανύσµατος N. Ενδιάµεση επιφάνεια είναι η σφαίρα. Για το σηµείο αντικειµένου P µε κανονικό διάνυσµα N, βρίσκουµε το P = P + t N, t 0 που είναι η τοµή τηςηµιευθείας µε µια σφαίρα ακτίνας R. Εφαρµόζουµε Spherical mapping στο P X Y N Z Shrink mapping κατανέµει οµοιόµορφα χάρτη υφής αλλά µπορεί να χαθεί η συνέχεια της υφής: Spherical mapping shrink mapping 11.8
Συναρτήσεις Απεικόνισης Box Mapping (απεικόνιση κύβου): Χρησιµοποιεί 6 επίπεδες (planar) απεικονίσεις του ίδιου χάρτη υφής ανάλογα µε το κανονικό διάνυσµα N της επιφάνειας. Χρησιµοποιούνται τα επίπεδα XY, XZ και ΥΖ. Αν θ,φ οι γωνίες οριζόντιας και κάθετης απόκλισης από τον +Χ N θ = arcsin z φ = arcsin N 2 2 y N + N π π Αν - φ 4 4» Αν π/4 θ π/4 ή 3π/4 θ 5π/4 εφάρµοσε planar mapping χρησιµοποιώντας το επίπεδο (Z,Y)» Αν π/4 θ 3π/4 ή 5π/4 θ 7π/4 εφάρµοσε planar mapping χρησιµοποιώντας το επίπεδο (X,Y) ιαφορετικά: εφάρµοσε planar mapping χρησιµοποιώντας το επίπεδο (Z, Y). Πολύ χρήσιµη συνάρτηση για πολυγωνικές επιφάνειες και οµοιογενή υλικά (π.χ. τσιµέντο, πέτρα). x Y z Z X 11.9
Συναρτήσεις Απεικόνισης Bicbic Patch Mapping (δικυβική απεικόνιση): Χρήσιµη για επιφάνειες κατασκευασµένες από τµήµατα (patches) και θέλουµε η υφή να ακολουθεί τυχόν παραµορφώσεις τους. Συσχετίζουµε απευθείας τις 2 παραµέτρους του χώρου υφής T 2 µετις2 παραµέτρους (,) της παραµετρικής επιφάνειας. 11.10
Απεικόνιση Ανακλάσεων Εστω κατοπτρικά ανακλαστική επιφάνεια. Πως µπορούµε να παραστήσουµε ανακλάσεις αντικειµένων µέσα σ αυτή; Παρακολούθηση ακτίνας (ray-tracing): ακριβής υπολογισµός ανακλάσεων µε µεγάλο υπολογιστικό κόστος (κεφ. 12). Εναλλακτικά χρησιµοποιούµε λιγότερο ακριβείς τεχνικές που βασίζονται σε χάρτες υφής. Συνάρτηση απεικόνισης ανακλάσεων (reflection mapping fnction): Συνάρτηση απεικόνισης υφής που εξαρτάται από θέση παρατηρητή. Εστω i το διάνυσµα παρατήρησης σηµείου αντικειµένου P και r το διάνυσµα ανάκλασης εκφρασµένο σαν (θ,φ) όπου θ η οριζόντια γωνιακή απόκλιση γύρω από τον Υ και φ η κάθετη απόκλιση από ΧΖ. R = i 2 ( i N ) N r N Υπολογίζουµε τιςπαραµέτρους υφής (,) από τις (θ,φ) 1 θ 1 R = + = arcsin z P i 2 2π 2π 2 2 R + R x z 1 φ 1 arcsin Ry = + = + 2 π 2 y (οι υπολογισµοί αυτοί µπορούν να προσεγγισθούν γραµµικά) Χρησιµοποιείται τεχνητός χάρτης υφής που παριστάνει το περιβάλλον του αντικειµένου. Παρατηρητής 11.11
Απεικόνιση Ανακλάσεων Το reflection mapping χρησιµοποιείται συχνά για να αποδώσει σε µεταλλικά αντικείµενα µια αόριστη αίσθηση αλληλεπίδρασης µε τοπεριβάλλον: Ο τεχνητός χάρτης υφής δεν εκφράζει µε ακρίβεια το τι πρέπει να ανακλάται: 11.12
Απεικόνιση Ανακλάσεων Απεικόνιση περιβάλλοντος (enironment mapping): Χρησιµοποιούµε 6 χάρτες υφής (κύβος) που πραγµατικά αντιπροσωπεύουν περιβάλλον αντικειµένου. Οι 6 χάρτες υφής υπολογίζονται µε ακτίνες που ξεκινούν από το κέντρο του αντικειµένου: Ο κατάλληλος χάρτης για κάθε σηµείο του αντικειµένου επιλέγεται µεβάση την κατεύθυνση του R Εισάγεται παραµόρφωση λόγω γεωµετρίας κύβου (τόσο µεγαλύτερη όσο πλησιέστερα βρίσκεται ένα αντικείµενο του περιβάλλοντος) 11.13
Antialiasing στην Απεικόνιση Χάρτη Υφής Χάρτης υφής: αποτελείται από Dim x Dim y pixels που αντιστοιχούν σε παραµετρικό διάστηµα (,) [0,a] [0,b] a b Τα στοιχειώδη παραλληλόγραµµα Dim ονοµάζονται texels. x Dim y Ανάλογα µε την απόσταση του αντικειµένου από τον παρατηρητή, µπορεί ένα texel να αντιστοιχεί σε πολλά pixels. Antialiasing µπορεί να γίνει µε διγραµµική παρεµβολή των 4 πλησιέστερων texels σε κάθε pixel ανάλογα µε τιςτιµές των, για την εύρεση της φωτεινότητας I(,): Σχετική θέση των παραµέτρων ως προς τα τέσσερα γειτονικά σηµεία του πλέγµατος της εικόνας: x = Dimx y = Dimy = x x Οριζόντια γραµµική παρεµβολή: Ibot = I( x, y ) ( 1 ) + I x, y Κάθετη γραµµική παρεµβολή: I, = I 1 + I όπου I x, y, I x, y, I x, y, I x, y τα τέσσερα κοντινότερα pixels του χάρτη υφής στη θέση (,). = ( ) bot ( ) top ( ) ( ) ( ) ( ) y y ( ) Itop = I( x, y ) ( 1 ) + I( x, y ) 11.14
Antialiasing στην Απεικόνιση Χάρτη Υφής Μπορεί επίσης, ανάλογα µε την απόσταση παρατήρησης, να έχουµε αντιστοιχία πολλών texels σε 1 pixel: Ηυφή µπορεί να µεταβάλλεται απότοµα και ακανόνιστα (ανάλογα µε ποιο texel δίνει χρώµαστοpixel) ιδιαίτερα δε στο animation. Απαιτείται antialiasing. Mip-mapping: χρήση κ σµικρύνσεων αρχικού χάρτη υφής (2 m 2 m ) µε διαδοχικές διαιρέσεις στο µισό και φιλτραρίσµατα: Χρήση κατάλληλου mip-map ανάλογα µε απόσταση αντικειµένου. Χωρίς mip-mapping Με mip-mapping 11.15
Antialiasing στην Απεικόνιση Χάρτη Υφής ηµιουργία mip-maps:» Εστω µία εικόνα I 0 µεγέθους 2 m 2 m pixels (επίπεδο 0) και έστω I 1 έως I m τα mip-maps που προέρχονται από αυτή. for (k=1; k<=m; k++) for (i=0; i<=2^(m-k)-1; i++) for (j=0; j<=2^(m-k)-1; j++) I k (i,j)=1/4i k-1 (2i,2j)+1/4I k-1 (2i+1,2j) +1/4I k-1 (2i,2j+1)+1/4I k-1 (2i+1,2j+1); I 0 ως I m έχουν αναλύσεις 2 m 2 m 1 1 ως 1 1 µε διαστάσειςtexels ως 1 1. 2 m 2 m 11.16
Antialiasing στην Απεικόνιση Χάρτη Υφής Θεώρηση mip-maps σαν πυραµίδα µε επίπεδα 0...κ Επίπεδο 1 Επίπεδο m (1 texel) Επιλογή κατάλληλου mip-map: Εστω Ε map το εµβαδό της προβολής ενός pixel πάνω στο χάρτη ύφης (βρίσκεται µε αποκοπή του χάρτη υφής στα όρια του pixel). Το εµβαδό του texel στο k επίπεδο mip-map είναι 2 2(k-m). Ζητούµε τοk για το οποίο ισχύει: 2( k m 1) 2( k m) k m 1 k m 2 < Emap 2 2 < Emap 2 Θέτοντας d = E map k m 1 < log2 d k m 0 < m k + log2 d + 1< 1 από την οποία προσδιορίζεται η κατάλληλη τιµή τουk µε διαδοχικέςδοκιµές. Ιχνος του ενός Pixel, εµβαδού Ε map, πάνω στο χάρτη υφής m 2 m 2 11.17 Επίπεδο 0 (αρχική εικόνα) Επίπεδο παρατήρησης 1 pixel 1 Εµβαδό texel 2 m
Συναρτησιακή Υφή Συναρτησιακή υφή (procedral mapping): χρησιµοποιεί συνάρτηση αντιστοίχισης σηµείων του χώρου E 3 ή R 3 σε µοναδική τιµή: I = ftex( P ) Η f tex ορίζεται σε ολόκληρο τον 3 χώροπουµας ενδιαφέρει. εν εµφανίζονται προβλήµατα pixelization (1 texel σε πολλά pixels) αφού οι f tex είναι συνήθως αναλογικές συναρτήσεις. Ευρύ πεδίο εφαρµογών: φωτιά, κύµατα, ξύλο, µάρµαρο... εν παθαίνει γεωµετρικές παραµορφώσεις αφού δεν µεσολαβεί κανένας µετασχηµατισµός. Μπορεί να εφαρµοσθεί αναδροµικά αυτοοµοιότητα. Χαρακτηρίζει ολόκληρο τον όγκο των αντικειµένων (χρήσιµο για διαφανή ή ηµιδιαφανή σώµατα). Ησυναρτησιακήυφήκαιηαπεικόνισηχάρτηυφήςείναισυµπληρωµατικές: π.χ. µε συναρτησιακή υφή δεν µπορούµε εύκολανααπεικονίσουµε προκαθορισµένασχέδιαόπωςφωτογραφίες. 11.18
Συναρτήσεις Υφής Συνάρτηση θορύβου: Επιφάνειες συχνά έχουν κοκκώδη υφή (π.χ. τοίχος, άµµος). Συνάρτηση θορύβου χρήσιµη είτε µόνη της είτε επί άλλης συνάρτησης υφής. Θέλουµε συνάρτηση παραγωγής θορύβου f n κάπου µέσα στην περιοχή συχνοτήτων: freqmin = 1/ min{ Dimx, Dimy}, freqmax = 1/ 2a ( Nyqist) όπου a η µεγαλύτερη πλευρά ενός pixel και Dim x, Dim y το µήκος και ύψος του iewport (στο ΣΣΟ). Η f n πρέπει να δίνει τυχαίες εξόδους για διαφορετικά σηµεία εισόδου, αλλά οι τιµές της για κοντινά σηµεία να µηδιαφέρουνπολύ(συνέχεια). Το εύρος χωρικών συχνοτήτων της f n πρέπει να είναι ελεγχόµενο. Ηδηµοφιλής συνάρτηση παραγωγής θορύβου του Perlin (85): Εστω το πλέγµα (lattice) τωνακεραίωνστονr 3. O κόµβος Ω i,j,k βρίσκεται στο σηµείο (i,j,k). Κάθε κόµβος περιέχει έναν ψευδοτυχαίο αριθµό γ i,j,k [-1.0,1.0] 3 Η f n του P R ορίζεται ως κυβική spline παρεµβολή των τιµών γ των 8 πλησιέστερων στο P κοµβικών σηµείων: x + 1 y + 1 z + 1 όπου Ω i,j,k (,,w)=ω() ω() ω(w) γ f ( ) ( ) i,j,k n x, y, z = Ωi, j, k x i, y i, z k i= x j= y k= z και ω η συνάρτηση βάρους. 3 2 2t 3t + 1, t < 1 ω() t = 0, t 1 11.19
Συναρτήσεις Υφής Συνάρτηση θορύβου: Για τους ψευδοτυχαίους αριθµούς γ i,j,k θέλουµε µια γεννήτρια που να δίνει σταθερό τυχαίο αριθµό για κάθε κόµβο, ώστε να µη µεταβάλλεται χρονικά η υφή του αντικειµένου. Κάνουµε hashing των (i,j,k) σε ένα πίνακα R προϋπολογισµένων τυχαίων τιµών γ i,j,k =R[φ(i+φ(j+φ(k)))] µε φ(k)=a[k mod n] όπου Α ένας επίσης προϋπολογισµένος πίνακας αντιστοίχισης των n πρώτων φυσικών αριθµών και µιας τυχαίας αντιµετάθεσης τους. Παράδειγµα απεικόνισης συνάρτησης θορύβου σε σφαίρα µε διαφορετικές χωρικές συχνότητες (επιτυγχάνεται µε αλλαγή κλίµακας στα P πριν αυτά χρησιµοποιηθούν από την f n ) Συχνά είναι χρήσιµη η παραγωγή τυχαίου µοναδιαίου διανύσµατος x + 1 y + 1 z + 1 fn( x, y, z) = Ωi, j, k ( x i, y i, z k) i= x j= y k= z όπου, w = ω ω ω w γ ( ) ( ) ( ) ( ) i, j k Ω i, j, k,, 11.20
Συναρτήσεις Υφής Συνάρτηση στροβιλισµού (trblence) f trb : Επιστρέφει απόσταση τυχαίας µετακίνησης P (Brown) απόαρχικήτουθέση ( ) = Steps 1 i ftrb P fn ( 2 P ) i i= 1 2 όπου η συνάρτηση θορύβου f n επιστρέφει µια τυχαία απόσταση µετακίνησης κατά P και φθίνει όσο αυξάνει το βήµα.» Ητελικήαπόσταση µετακίνησης µπορεί να χρησιµοποιηθεί προς οποιαδήποτε (τυχαία;) κατεύθυνση. Ηεντροπία(ευκινησία) ω p του P και η απόσταση µεταπήδησης λ µπορούν να παραµετροποιηθούν = Steps i f P ω f λ P µε ω p [0.0,1.0] και λ R trb ( ) ( ) i= 1 i p n Steps=1, ω p =1.0 Steps=2, ω p =1.0 Steps=3, ω p =1.0 Steps=4, ω p =1.0 Steps=5, ω p =1.0 Steps=1, ω p =0.67 Steps=2, ω p =0.67 Steps=3, ω p =0.67 Steps=4, ω p =0.67 Steps=5, ω p =0.67 Steps=1, ω p =0.34 Steps=2, ω p =0.34 Steps=3, ω p =0.34 Steps=4, ω p =0.34 Steps=5, ω p =0.34 11.21
( ) Αντιστοίχιση Χρωµάτων c = f µας δίνει 1 τιµή, ικανοποιητική για grayscale: tex P Αν έχουµε χρώµα µπορούµε να χρησιµοποιήσουµε 3 συναρτήσεις (ακριβό). Προτιµούµε συνήθως διακριτή γραµµικοποίηση των χρωµάτων βάση συχνοτήτων. Χρησιµοποιούµε c για παρεµβολή χρώµατος µεταξύ 2 πλησιέστερων. i=0; while (C[i+1]<c and i<(nc-1)) i=i+1; c1=c[i]; c2=c[i+1]; if (c1==c2) RGB=RGB[i] else { t=c2-c)/(c2-c1); RGB=t*RGB[i]+(1-t)*RGB[i+1];} 11.22
Χαρακτηριστικές Συναρτήσεις Υφής Μάρµαρο: Βασίζεται στην ηµιτονοειδή συνάρτηση (+ στροβιλισµό) για την παράσταση των νερών κατά X f P = sin 2πx + 2πa f P marble ( ) ( ( )) trb όπου a το ποσοστό αταξίας των νερών του µαρµάρου Στροβιλισµός κατά 40% (α=0.4) 11.23
Χαρακτηριστικές Συναρτήσεις Υφής Ξύλο: Προσοµοιώνει δακτύλιους ξύλου µε οµόκεντρους κυλίνδρους κατά X (+ στροβιλισµό). f wood dist = ( P ) = dist dist y 2 + z 2 + a f trb ( P ) 11.24
Χαρακτηριστικές Συναρτήσεις Υφής Ράµπα (ή ντεγκραντέ) y y f gradient ( P ) = a a µε a το µήκος της ράµπας Έχουµε f gradient (x,0,z)=0.0 και f gradient (x,a,z)=1.0 Αν υπερβούµε τοa κατά Υ ηράµπα επαναλαµβάνεται 11.25
Χαρακτηριστικές Συναρτήσεις Υφής Καρρώ 3 : f check P = x + y + ( ) ( z ) mod2 Χρήσιµο για δάπεδα ή ύφασµα. Προτιµότερο από το image mapping γιατί δεν εµφανίζει αλλοιώσεις. 11.26
Antialiasing στη Συναρτησιακή Υφή εν παρατηρείται αλλοίωση της υφής λόγω µεγέθυνσης (1 texel σε πολλά pixels του image mapping) αφού οι συναρτήσεις είναι συνεχείς. Antialiasing χρειάζεται όταν η περιοδικότητα της υφής πέσει κάτω από 1 ή 2 pixels λόγω σµίκρυνσης: Ηυπερδειγµατοληψία (spersampling) µπορεί να ενεργοποιείται επιλεκτικά: Σχέδιο µε περίοδοµικρότερη από 1 pixel 1 pixel ειγµατοληψία x2 πάνω στο 1 pixel Μέση τιµή χρώµατος Αυτού του είδους antialiasing χρειάζεται µόνο για περιοδικές συναρτήσεις υφής. 11.27
Μετασχηµατισµοί Υφής Ηυφή(χάρτης ή συνάρτηση) θέλουµε ναµπορεί να πάρει τον επιθυµητό προσανατολισµό, θέση και µέγεθος: Επίσης θα πρέπει να ακολουθεί ένα αντικείµενο καθώς αυτό µετασχηµατίζεται. Εφαρµογή µετασχηµατισµού M στην υφή ισοδυναµεί µε εφαρµογή του Μ -1 σε κάθε σηµείο του αντικειµένου (πριν τον υπολογισµό υφής). 1 MΦ( P ) Φ( M P ) Παράδειγµα: εφαρµογή υφής ξύλου στο µοναδιαίο κύβο µε» 5 φορές πυκνότερους δακτύλιους από την f wood» Αξονα συµµετρίας µε κλίση 45 ως προς τον X (αντί του Χ της f wood )» Αξονα συµµετρίας µετατοπισµένο κατά +Υ 0.5 µονάδες. f P = T R S f P Y wood ( ) ( ) = f (0,0.5,0) wood y, π / 4 ( S R T P ) (5,5,5) (0.2,0.2,0.2) y, π / 4 wood (0, 0.5,0) Z 11.28 Αξονας υλικού (αρχικά, οάξοναςχ) X
Κλείδωµα ΥφήςσεΑντικείµενα Η υφή πρέπει να ακολουθεί τους µετασχηµατισµούς ενός αντικειµένου ώστε αυτό να διατηρεί τη συνεκτικότητα και τη στερεή του όψη: Πρέπει να εφαρµόζουµε στην υφή τους ίδιους µετασχηµατισµούς M obj που εφαρµόζουµε καιστοαντικείµενο M όπου M tex ο µετασχηµατισµός υφής, πριν την αλλαγή της γεωµετρίας του αντικειµένου.» Ουσιαστικά επιστρέφουµε όλατασηµεία του αντικειµένου στην αρχική 1 τους θέση µε τον M obj και µετά υπολογίζουµε την υφή όπως πριν. Παράδειγµα: στο προηγούµενο παράδειγµα (κύβος ξύλου) προσθέτουµε τον εξής M obj :» Κεντράρισµα κύβου στο O δηλ. Τ -0.5,-0.5,-0.5» Στροφή γύρω από Χ κατά 90 δηλ. R x,π/2 1 1 f P = f M M P wood obj ( M Φ ( P )) = M M Φ ( P ) tex tex ( ) ( ) = f wood wood tex obj = Φ = Φ 11.29 obj tex tex tex 1 ( M M ) P ) obj 1 1 ( M M P ) tex tex tex obj ( S R T T R P ) (5,5,5) y, π / 4 (0, 0.5,0) (0.5,0.5,0.5) x, π / 2
Αναπαράσταση Αναγλύφου Χρησιµοποιεί παρόµοιες τεχνικές µε την αναπαράσταση υφής. Απλούστερη (αλλά ακριβή) τεχνική είναι η κατάλληλη παραµόρφωση του πολυγωνικού µοντέλου (ήπλέγµατος σηµείων): Ποσό µετατόπισης κάθε κορυφής εξαρτάται από έναν υψοµετρικό χάρτη (χάρτης υφής). Χάρτης υφής Παραµορφωµένο πλέγµα Απαιτεί µεγάλο αριθµό πολυγώνων(ίσως επιπλέον αρχικού µοντέλου). Επεµβαίνει στην αρχική τοπολογία του µοντέλου. Κατάλληλη για εφαρµογές scientific isalization αλλά όχι για πολλά αντικείµενα ή µεγάλη λεπτοµέρεια. 11.30
Αναπαράσταση Αναγλύφου Displacement Mapping: Ανάγλυφο απεικονίζεται κατά την παράσταση στην οθόνη και όχι κατά την µοντελοποίηση. ΕστωS (, ) η διανυσµατική παραµετρική παράσταση της επιφάνειας και N το κανονικό διάνυσµα στη θέση (,). Εστω Β(,) ητιµή του χάρτη αναγλύφου στην ίδια θέση (,). Υπολογίζουµε τη νέα θέση S (, ) και το νέο κανονικό διάνυσµα N S, = S, + B, ( ) ( ) ( ) N N = S (, ) S (, ) 11.31
Αναπαράσταση Αναγλύφου (α) 1 παράδειγµα χάρτη αναγλύφου και παράγωγος του (β) Αρχικά S και N (γ),(δ) S και N µε displacement mapping (ε) N µε bmp mapping (το S δεν µεταβάλλεται) 11.32
Αναπαράσταση Αναγλύφου Bmp Mapping: Σκίαση εξαρτάται κυρίως από το N. Το bmp mapping υπολογίζει αποτελεσµατικά το N και αγνοεί S (προηγούµενο σχήµα) S (, ) S (, ) N = S (, ) S(, ) N = + B N + B(, ) S (, ) S(, ) N = + B N + B(, ) όπου Β, B οι παράγωγοι κατά και του χάρτη αναγλύφου Β(,). 11.33
11.34 Εθνικό Εθνικό & Καποδιστριακό Καποδιστριακό Πανεπιστήµιο Πανεπιστήµιο Αθηνών Αθηνών Τµήµα Πληροφορικής Εργα Εργα: 2000+1 & : 2000+1 & ΣΚΕΠΣΙΣ ΣΚΕΠΣΙΣ (ΕΠΕΑΚ ΕΠΕΑΚ - ΥΠΕΠΘ ΥΠΕΠΘ) Αναπαράσταση Αναγλύφου Bmp Mapping: Καθώς οι διαταραχές του είναι µικρές ως προς το µέγεθος της επιφάνειας Όµως N N µηδενίζουµε τα και N ( ) ( ) οπότε και 0,, = = N N N S S ( ) ( ) ( ) ( ) ( ) ( ) ( ) N N B B S N B N B S S S N B S N B S N + + + = + + =,,,,,, ( ) ( ) S N B S N B N N + =,, N N V U S ( ) ( ) S U S V = =,,
Αναπαράσταση Αναγλύφου Bmp Mapping Οµως το N S(, ) S(, ) είναι κάθετο στα U = και V = οπότε N = N BU B V θεωρώντας τα N, U και V µοναδιαία. Τα όρια αντικειµένων φαίνονται επίπεδα µε bmp mapping. bmp mapping displacement mapping Χάρτης υφής Χάρτης αναγλύφου 11.35
Χρονικά Μεταβαλλόµενη Υφή Animation: συχνά απαιτεί αλλαγή χρώµατος ή αναγλύφου επιφάνειας αντικειµένου Π.χ. υφή φωτιάς ή ρευστών αντικειµένων. Στο image-mapping χρησιµοποιούµε πολλαπλούς χάρτες υφής: Η επιλογή χάρτη υφής γίνεται από µια νέα παράµετρο χρόνου: (,, w) = Φanimated textre( x, y, z, t), = Φ Που συνήθως δίνεται σαν 2 χωριστές σχέσεις: w = at + β at + β ( ) image mapping ( x, y, z) όπου α ηταχύτηταµεταβολής υφής και β το offset από την αρχή για την έναρξη. 4 καρέ animation χρονικά µεταβαλλόµενης υφής Τα 4 bmp-maps που χρησιµοποιήθηκαν 11.36
Χρονικά Μεταβαλλόµενη Υφή Στη συναρτησιακή υφή συχνά εισάγουµε µια χρονικά εξαρτώµενη κυκλική ολίσθηση στην έξοδο µιας περιοδικής γεννήτριας συνάρτησης c = ftex( x, y, z) f ( x y z) = φ() t + c φ() t + c tex,, όπου c ο δείκτης χρώµατος, φ(t) ηχρονικάεξαρτηµένη συνάρτηση ολίσθησης f, φ t, 0.0, 1.0 () [ ] tex f tex Π.χ. φαντασµατάκι µε κυκλική ολίσθηση συνάρτησης µαρµάρου f = sin 2πx + 2πa f P κt ( ( ) ) marble trb + όπου t ο χρονικά εξαρτηµένος όρος ολίσθησης: 11.37
Ιεραρχική Υφή ένδρο µε κόµβους συναρτήσεις υφής ή χάρτες υφής: οι εσωτερικοί κόµβοι επιλέγουν στο επόµενο επίπεδο υφής αντί για χρώµα / ανάγλυφο υνατότητα δηµιουργίας πολύπλοκων µορφών υφής / αναγλύφου. Π.χ. σκακιέρα πεύκου / κέδρου µε συνάρτηση καρρώ και image maps πεύκου (για f check =1) και κέδρου (για f check =0). Επί µέρους υφή πεύκου (image map) H σύνθετη υφή της σκακιέρας µάσκα (υφή καρρώ) Επί µέρους υφή κέδρου (image map) 11.38
Ιεραρχική Υφή Γενική περίπτωση ιεραρχικής υφής (περιλαµβάνει και σταθερά συνάρτηση Φ(x,y,z)=c ) 11.39
Ιεραρχική Υφή Παράδειγµα: όχθη λίµνης και ιεραρχία υφής που χρησιµοποιήθηκε µε µάσκα τύπου ράµπας 11.40
Τοπικά Ελεγχόµενη Υφή Συχνά, εκτός από έναν γενικό γεωµετρικό µετασχηµατισµό, επιθυµούµε πολλαπλούς τοπικούς µετασχηµατισµούς ανάλογα µε την περιοχή τοποθέτησης της υφής / αναγλύφου πάνω σε ένα αντικείµενο και οµαλή σύνδεση µεταξύ τους: Π.χ. ακριβής προσοµοίωση νερών συγκεκριµένου αρχαίου µαρµάρινου αγάλµατος. Μία λύση είναι η ιεραρχική τοποθέτηση διαφορετικών µετασχηµατισµών της ίδιας υφής:» Πολύπλοκες µάσκες.» Μετάβαση από περιοχή σε περιοχή δεν παρεµβάλει τους γεωµετρικούς µετασχηµατισµούς, άρα όχι οµαλή σύνδεση (η µία σβήνει µέσα στην άλλη). Καλύτερη λύση είναι η παρεµβολή όλων των χαρακτηριστικών (και γεωµετρικών) µεταξύ σταθερών τιµών που ορίζει ο χρήστης σε σηµεία ελέγχου:» ίνονται τα σηµεία ελέγχου CP i, i =1... N CP» Για κάθε σηµείο ελέγχου δίνεται το άνυσµα χαρακτηριστικών υφής A i (µορφολογικά + γεωµετρικά χαρακτηριστικά).» Το άνυσµα χαρακτηριστικών A pσε ένα τυχαίο σηµείο P υπολογίζεται µε παρεµβολή από τα σηµεία ελέγχου.» Αν d i η Ευκλείδια απόσταση του από το, χρησιµοποιούµε σαν βάρος του A P CPi 1 i το: fi ( P ) = όπου το k καθορίζει την τοπικότητα του ελέγχου. 2k 1+ d i» Ισχύει f i ( CPi ) = 1 και f ( CPi ) > f ( P ), P CPi i i 11.41
Τοπικά Ελεγχόµενη Υφή Καλύτερη λύση είναι η παρεµβολή όλων των χαρακτηριστικών (και γεωµετρικών) µεταξύ σταθερών τιµών που ορίζει ο χρήστης σε σηµεία ελέγχου:» ίνονται τα σηµεία ελέγχου CP i, i =1... N CP» Για κάθε σηµείο ελέγχου δίνεται το άνυσµα χαρακτηριστικών υφής A i (µορφολογικά + γεωµετρικά χαρακτηριστικά).» Το άνυσµα χαρακτηριστικών A p σε ένα τυχαίο σηµείο P υπολογίζεται µε παρεµβολή από τα σηµεία ελέγχου.» Αν d i η Ευκλείδια απόσταση του από το, χρησιµοποιούµε σαν βάρος του A P CPi i το: 1 fi ( P ) = 2k 1+ di όπου το k καθορίζει την τοπικότητα του ελέγχου.» Ισχύει f CP = 1 και f CP > f P, P CP i ( i ) ( i ) ( ) i i i 11.42
Τοπικά Ελεγχόµενη Υφή Υπολογισµός διανύσµατος χαρακτηριστικών A p σε τυχαίο σηµείο P : N A ( ) = CP i fi P Ap N CP i= 1 f ( P ) j= 1 Ητιµή υφής στο P υπολογίζεται στη συνέχεια κανονικά 1 1 Φ M M P όπου Μ texa τα γεωµετρικά χαρακτηριστικά του tex ( ) texa obj Παράδειγµα τοπικά ελεγχόµενης υφής ξύλου: j A p ιεραρχική παρεµβολή 2 σηµείων ελέγχου 11.43