Le proiezioni e la prospettiva Daniele Marini
Proiezioni piane Albrecht Dürer: la prospettiva da un punto di proiezione, la griglia come guida
La prospettiva Rinascimentale Piero della Francesca e la costruzione geometrica della prospettiva piana. Sistematizzata anche da Leon Battista Alberti: La costruzione legittima
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)
Schemi costruttivi
Classificazione delle proiezioni piane
prospettica parallela
Esempi di proiezioni sul piano
Proiezioni ortogonali
Proiezioni assonometriche
Proiezioni oblique Al variare dell’angolo tra proiettori e piano si hanno: 63,5° CABINET 30° o 45° CAVALIERA
Proiezioni prospettiche a 3 punti di fuga a 2 punti di fuga a 1 punto di fuga - prospettiva centrale prospettive accidentali
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
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
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
La prospettiva risolta analiticamente y P(x,y,z) P(xv,yv) z x Piano di proiezione
P(x,y,z) yv Piano di proiezione y/yv = z/d x/xv = z/d da cui: da cui: yv = y/(z/d) x/xv = z/d da cui: xv = x/(z/d)
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
Orientare il piano di proiezione
Definire la viewport e la window
Definire il centro di proiezione
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
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
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
Matrice canonica di proiezione parallela ortogonale
Matrice canonica di trasformazione prospettica
Dalle coordinate omogenee allo spazio 3D costruz. matrice trasformaz. divisione
P(x,y,z) yv Piano di proiezione y/yv = z/d x/xv = z/d da cui: da cui: yv = y/(z/d) x/xv = z/d da cui: xv = x/(z/d)
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
traslazione al centro del view volume scalatura
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
Proiezioni parallele oblique , Angoli del fascio di proiettori con la normale al piano di proiezione y DOP x z
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
Matrice per la proiezione obliqua parallela si introduce una trasformazione di shear:
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
Volume di vista canonico La trasformazione prospettica converte in un volume di vista canonico [-1,1]2. E’detta anche trasformazione di normalizzazione prospettica yv zv
Matrice di normalizzazione 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”
Angolo di visione e frustum
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
Camera Model
Roll (rot. z), Pitch (rot. x), Yaw (rot. y)