Processo di rendering 1
Trasformazioni di vista Trasformazioni di vista Il processo di visione in tre dimensioni Le trasformazioni di proiezione I parametri della vista 3D I sistemi di coordinate 2
I parametri della vista 3D Una vista sul mondo 3D è definita da tipo di proiezione utilizzata volume di vista: regione dello spazio che include tutte e sole le primitive visibili Il processo di trasformazione usato per ottenere l immagine che si vuole visualizzare è analogo a prendere una foto con una macchina fotografica - syntethic-camera E possibile mettere in evidenza quattro passi principali 3
I parametri della vista 3D Nel mondo reale 1. Disporre gli oggetti nella scena da fotografare 2. Sistemare la macchina fotografica verso la scena 3. Scegliere una lente o aggiustare lo zoom 4. Scegliere la dimensione della foto Con il computer 1. Impostare le trasformazioni di modellazione (modelling) 2. Impostare la trasformazione di vista (viewing) 3. Impostare la trasformazione di proiezione (projection) 4. Impostare la trasformazione di viewport 4
Modello Synthetic Camera L immagine di un punto di un oggetto tridimensionale si trova tracciando una linea, chiamata raggio di proiezione, dal punto al centro della lente del sistema ottico, chiamato centro di proiezione La pellicola fotografica è idealmente posta davanti alla lente, ed è chiamata piano di proiezione L immagine dell oggetto tridimensionale risulta definita dall intersezione tra i raggi di proiezione, provenienti dal centro di proiezione, ed il piano di proiezione 5
Modello Synthetic Camera Nel piano di proiezione viene posta una finestra di clipping che agisce esattamente come una finestra attraverso cui l osservatore, che si trova nel centro di proiezione, osserva il mondo Per definire una vista 3D arbitraria è necessario definire il piano di proiezione o di vista nel sistema di coordinate del mondo (x,y,z) 6
I parametri della vista: view plane Il piano di proiezione o di vista o piano immagine (view plane) è definito tramite un punto sul piano detto view reference point (VRP) un vettore normale al piano detto view-plane normal (VPN) il punto ed il vettore sono definiti nel sistema di coordinate del mondo (x,y,z) 7
I parametri della vista: view reference coordinate Si definisce il sistema di coordinate della vista - view reference coordinate, avente origine nel punto VRP ed assi u,v,n: l asse n coincide con il vettoreview Plane Normal (VPN) l asse v è definito dalla proiezione sul piano del vettore view up vector (VUP) l asse u è definito in maniera tale che i tre assi (u, v, n) formino un sistema di coordinate destrorso 8
I parametri della vista: il volume di Si definisce poi una window nel sistema VRC -sistema di coordinate della vista- tramite le coordinate di 2 vertici: u min, u max, v min, v max vista 9
I parametri della vista: il volume di La window non deve essere necessariamente simmetrica rispetto all origine VRP vista Gli spigoli sono allineati con gli assi u,v ed il centro della window (CW) è definito implicitamente dagli altri parametri 10
I parametri della vista: projection reference point Nella proiezione prospettica viene definita la posizione del centro di proiezione projection reference point (PRP) Le coordinate del centro di proiezione sono definite nel sistema di coordinate della vista - coordinate VRC In tal modo le posizioni relative del centro di proiezione PRP e dell origine VRP non variano al variare del punto VRP 11
I parametri della vista: il volume di Nella proiezione parallela viene definita la direzione di proiezione DOP La direzione di proiezione DOP è definita dal vettore dal centro di proiezione PRP al centro CW vista 12
Volume di vista- view frustum Il volume di vista (view volume) contiene tutte e soltanto le primitive visibili dopo avere effettuato il clipping in 3D Solo tali primitive devono essere proiettate sul piano immagine Nel caso di una proiezione prospettica il volume di vista (view volume) è una piramide semi-infinita (senza base) con vertice nel centro di proiezione PRP e spigoli che passano attraverso i vertici della window sul piano di vista Gli oggetti che giacciono dietro al centro di proiezione PRP non possono essere visibili 13
I parametri della vista: il volume di vista Nel caso di proiezione parallela, il volume di vista (view volume) è un parallelepipedo infinito con lati parallelli alla direzione di proiezione DOP In caso di proiezioni parallele ortografiche i lati del parallelepipedo sono normali al piano di vista mentre in caso di proiezioni oblique non lo sono. 14
I parametri della vista: il volume di vista Trasf. Prospettica Trasf. Parallela 15
I parametri della vista: il volume di vista Nella maggior parte delle applicazioni il volume di vista si definisce come volume finito al fine di: scartare oggetti troppo lontani che sarebbero comunque quasi invisibili (ed avrebbero solo l effetto di rallentare inutilmente il rendering della scena) evitare che oggetti troppo vicini al centro di proiezione invadano l immagine nel caso in cui il punto di vista sia interno alla scena 16
I parametri della vista: il volume di vista Per delimitare il volume di vista si definiscono due piani di taglio: front clipping plane e back clipping plane Sono paralleli al piano di vista e possono essere specificati mediante due distanze con segno front distance (F) back distance (B) misurate dall origine del sistema della vista - VRP lungo la direzione del vettore normale VPN con distanze positive nella direzione della normale VPN 17
I parametri della vista: il volume di vista Il volume di vista nella proiezione parallela 18
I parametri della vista: il volume di vista Il volume di vista nella proiezione prospettica B distanza negativa F distanza positiva nel verso di VPN 19
I parametri della vista: il volume di vista Se la distanza F oppure B è positiva il piano di clipping è dalla stessa parte del centro di proiezione PRP rispetto al piano di proiezione, dalla parte opposta altrimenti Se i due piani sono scambiati rispetto alla posizione naturale (il back davanti al front vedendo la scena da PRP) il volume di vista risulterà vuoto (nessuna primitiva visibile) Il volume di vista finito presenta sei facce: un parallelepipedo nel caso di proiezioni parallele; un tronco di piramide nel caso di proiezioni prospettiche. 20
I parametri della vista: volumi canonici Il passo successivo alla definizione del volume di vista consiste nel clipping delle primitive della scena per rimuovere le parti esterne al volume stesso Risulta conveniente mappare i volumi di vista in volumi canonici che semplifichino la fase di clipping 21
I parametri della vista: volumi canonici Il volume canonico per le proiezioni parallele è definito dai piani x=-1, x=1, y=-1, y=1, z=-1, z=0 - cubo con lo spigolo unitario Il volume canonico per le proiezioni prospettiche è definito dai piani x=-z, x=z, y=-z, y=z, z=-z min, z=-1. 22
I parametri della vista: volumi canonici In termini di trasformazioni geometriche la matrice di normalizzazione (N par ) per derivare il volume canonico nel caso di una proiezione parallela è una composizione di: Traslazione di VRP nell origine Rotazione del sistema VRC in modo tale che l asse n (VUP) coincida con l asse z, u con x e v con y Una eventuale deformazione (shear) per rendere la direzione di proiezione parallela all asse z Una trasformazione di traslazione e scalatura sul volume canonico 23
I parametri della vista: volumi canonici Analogamente, la matrice di normalizzazione (N pro ) per derivare il volume canonico nel caso di una proiezione prospettica è data da: Traslazione di VRP nell origine Rotazione del sistema VRC in modo tale che l asse n (VUP) coincida con l asse z, u con x e v con y Una traslazione tale che il centro di proiezione (COP), dato da PRP, coincida con l origine Una deformazione (shear) per rendere la linea centrale del volume di vista parallela all asse z Una trasformazione di scalatura sul volume canonico 24
trasformazione Lunghezze Angoli Rapporti semplici Colinearità traslazione rotazione scalatura uniforme --- scalatura non uniforme --- --- shear --- --- proiezione ortigonale --- --- trasf. affine generica --- --- proiezione prospettica --- --- --- 25
Rapporto semplice di 3 punti allineati Dati 3 punti a, b, c allineati, nel piano o nello spazio, si definisce rapporto semplice di a, b, c: Ratio (a,b,c) = dist (a,b) / dist(b,c) essendo dist(a,b) la distanza con segno dei punti a, b Le trasformazioni affini conservano il rapporto semplice di 3 punti a, b, c allineati 26
Birapporto di 4 punti allineati Dati 4 punti a, b, c, d allineati, nel piano o nello spazio, si definisce birapporto di a, b, c, d: R 2 (a,b,c,d) = ratio (a,b,d) / ratio(a,c,d) essendo ratio(a,c,d) il rapporto semplice dei punti a, c, d Le trasformazioni proiettive non conservano il rapporto semplice, ma il birapporto 27
Sistemi di coordinate Spazio di coordinate dell oggetto (di modellazione, locali) Trasformazioni di modellazione Spazio delle coordinate world Definizione dei parametri di vista Spazio delle coordinate di vista (dell occhio, della camera) Trasformazioni di proiezione e normalizzazione Spazio 3D delle coordinate normalizzate del dispositivo Operazioni di clipping 3D e proiezione ortografica Spazio 2D delle coordinate normalizzate del dispositivo Trasformazioni window-to-viewport 28