Le proiezioni e la prospettiva Daniele Marini 1 Proiezioni piane Albrecht Dürer: la prospettiva da un punto di proiezione, la griglia come guida 2 La prospettiva Rinascimentale • Piero della Francesca e la costruzione geometrica della prospettiva piana. • Sistematizzata anche da Leon Battista Alberti: La costruzione legittima 3 Hans Holbein: Gli Ambasciatori • non ci sono solo le proiezioni piane, questo e’ un esempio di proiezione obliqua anamorfica • proiezioni cartografiche (la sfera sul piano): • proiezione di piani su superfici parametriche (il texturing) 4 Schemi costruttivi Classificazione delle proiezioni piane proiezioni piane Prospettive distanza finita 1 punto di fuga (centrale) Parallele distanza infinita 2 o 3 punti di fuga (accidentali ortogonali a più viste (assonometrie) isometriche (120°) 1 vista pianta, prospetto, alzato oblique cavaliera 45° cabinet 63,5° bi- e tri- metriche 6 prospettica parallela 7 Esempi di proiezioni sul piano 8 Proiezioni ortogonali 9 Proiezioni assonometriche 10 Proiezioni oblique Al variare dell’angolo tra proiettori e piano si hanno: 63,5° CABINET 30° o 45° CAVALIERA 11 Proiezioni prospettiche a 3 punti di fuga a 2 punti di fuga prospettive accidentali a 1 punto di fuga prospettiva centrale 12 Frames • Il frame è un contesto di: – sistema di riferimento – e trasformazioni geometriche associate • Usualmente si distinguono due frame principali: – World frame, nel quale si descrivono e rappresentano gli oggetti modellati – Camera frame, nel quale si definisce il sistema di riferimento necessario alla creazione della proiezione 13 Camera frame • Quasi tutti gli ambienti e le librerie adottano la metafora della macchina fotografica: la formazione dell’immagine piana a partire dal modello 3D avviene con un principio di proiezione simile a quello della fotografia • L’obiettivo non è modellato (foro stenopeico) • Il sistema di riferimento del camera frame si assume fisso: – – – – Origine al centro del fotogramma X crescente a destra Y crescente in verticale Z entrante o uscente dalla macchina fotografica 14 15 Prospettiva canonica • Camera frame orientato come il world frame • Asse ottico coincidente con asse z, entrante nell’obiettivo • Per portare una scena nella configurazione canonica è necessaria una catena di trasformazioni da applicare conoscendo i parametri principali 16 La prospettiva risolta analiticamente y P(x,y,z) P(xv,yv) z x Piano di proiezione 17 y P(x,y,z) yv z d Piano di proiezione y/yv = z/d da cui: yv = y/(z/d) x/xv = z/d da cui: xv = x/(z/d) 18 I parametri di controllo • PRP Projection Reference Point (si chiama anche centro di proiezione COP) • View Plane • VPN View Plane Normal • VUP View UP • DOP Direction of Projection (parallela) • VRP View Reference Point • CW center of the window 19 Orientare il piano di proiezione 20 Definire la viewport e la window 21 Definire il centro di proiezione 22 Camera model • Con questi parametri si può modellare il comportamento di una macchina fotografica professionale con obiettivo e piano della pellicola basculanti Se la proiezione è parallela 24 Proiezioni e matrici • Per risolvere con matrici le proiezioni ambientiamo sempre il problema nello spazio di coordinate omogenee 4D • La configurazione chiamata canonica prevede: – piano di proiezione sul piano xy – centro di proiezione sull’asse z positivo 25 Trasformazioni normalizzate • Dati VPN, VUP si ottiene la view orientation matrix V • La forma della V è ottenuta componendo: – V=TR con T traslazione nel VRP, – R rotazione opportuna per orientare la view rispetto alla configurazione canonica 26 Matrice canonica di proiezione parallela ortogonale 1 0 M ortho 0 0 0 0 0 1 0 0 0 0 0 0 0 1 x x y y p M ortho q z 0 1 1 27 Matrice canonica di trasformazione prospettica 1 0 M persp 0 0 0 0 0 1 0 0 1/d 0 x x y y p M persp q z z 1 z /d 0 1 0 0 28 Dalle coordinate omogenee allo spazio 3D x xp z/ d y yp z /d z zp d z/d costruz. matrice trasformaz. divisione 29 y P(x,y,z) yv z d Piano di proiezione y/yv = z/d da cui: yv = y/(z/d) x/xv = z/d da cui: xv = x/(z/d) 30 Proiezione parallela generica • Ricondursi alla configurazione canonica: normalizzazione – Convertire il volume di vista in una configurazione standard Proiettare il volume deformato • Il volume canonico di vista (canonical view volume) per la proiezione parallela è normalizzato in -1,+1 usando una trasformazione di scala • Il volume canonico definisce lo spazio entro il quale si trovano gli oggetti da trasformare e proiettare • Traslare per portare la DOP sull’asse z 31 traslazione al centro del view volume scalatura 2 xmax xmin 0 P ST 0 0 0 0 2 ymax ymin 0 0 0 2 zmax zmin 0 xmax xmin xmax xmin ymax ymin ymax ymin zmax zmin zmax zmin 1 32 • Trasla origine del view volume nell’origine del view volume canonico • Riscala il view volume • P è la matrice di proiezione • si introducon piani frontali e di sfondo per il clipping 3D: • zmax = far • zmin = near 33 Proiezioni parallele oblique , Angoli del fascio di proiettori con la normale al piano di proiezione y DOP x z 34 Proiezioni parallele oblique • portare la direzione di proiezione parallela a z, con trasformazione di shear relativa agli angoli , • rinormalizzare il view volume con scala e traslazione (come sopra) • proiettare con la matrice ortografica 35 Matrice per la proiezione obliqua parallela si introduce una trasformazione di shear: 1 0 H 0 0 0 1 0 0 0 cot 0 1 0 0 1 cot P MorthoSTH( , ) 36 Proiezione prospettica: soluzione generale • Anche per la proiezione prospettica si può operare in modo analogo: trasformare il frustum di visione normalizzato e proiettare la scena così deformata con una semplice proiezione parallela 37 Volume di vista canonico • La trasformazione prospettica converte in un volume di vista canonico [-1,1]2. • E’detta anche trasformazione di normalizzazione prospettica y yv z zv near far 1 1 Matrice di normalizzazione 2 near wx p right left wy 0 p wz p 0 w 0 0 2 near top bottom 0 0 (right left ) right left (top bottom) top bottom far near far near 1 x y 0 z 2 far near far near 1 0 0 In questa matrice right, left, top, bottom, near, far rappresentano i limiti del frustum di visione. Nella terza colonna riconosciamo una trasformazione di shear, nella quarta colonna la traslazione che centra il volume canonico Lungo la diagonale i fattori di scala per normalizzare il volume di vista Altri schemi • Lo schema illustrato permette di predisporre le matrici per librerie grafiche come OGL • OGL offre un altro approccio: lookAt • Nei simulatori di volo si adotta lo schema “roll, pitch, yaw” 40 Angolo di visione e frustum 41 LookAt • E’ un metodo più diretto e più naturale: – la camera è localizzata in un punto e (eyepoint - o punto di vista) specificato nel world frame – La camera è orientata nella direzione individuata dal vettore congiungente e con il punto a (at point punto osservato) specificato sempre nel world frame • I punti e ed a individuano il VRP e la VPN 42 43 Camera Model Roll (rot. z), Pitch (rot. x), Yaw (rot. y) 45