TRASFORMAZIONI DI VISTA
Per poter renderizzare un oggetto 3D in uno schermo esprimerlo per mezzo delle sue coordinate non e sufficiente, e necessario poter trasformare le coordinate dell’oggetto in coordinate del piano immagine
Questo processo si chiama trasformazione di vista
flowchart LR A[sdr del mondo] B[sdr dell'osservatore] C[sdr della finestra] A --> B --> C
DAL MONDO ALL’OSSERVATORE
Per poter passare al sistema di riferimento dell’osservatore e necessario identificare la matrice di cambiamento di base (view matrix), composta come segue
Data la rappresentazione del vettore in coordinate polari si possono esprimere i vettori del sistema di riferimento dell’osservatore come segue
il vettore e parallelo all'asse Z del sistema di riferimento del mondo ed e' definito nel sistema di riferimento del mondo
Unendo la rappresentazione di in coordinate polari alla struttura della matrice :
PARAMETRI DELLA MATRICE
i 3 coefficienti controllano la posizione dell’osservatore, in particolare:
- variando e si può osservare l’oggetto da angolazioni differenti
- variando si può allontanare o avvicinare il punto di vista dell’osservatore
DALL’OSSERVATORE ALLA WINDOW
Per poter portare l’immagine sulla window e necessario effettuare una proiezione geometrica, ne esistono di tante tipologie a seconda del punto di vista dell’osservatore
flowchart TD A[proiezioni<br/>geometriche] B[Parallela] C[Prospettica] D[ortografica] E[1 punto di fuga] F[2 punto di fuga] G[3 punto di fuga] H[assonometrica] I[ortogonale] J[obliqua] A --> B & C B --> D & H C --> E & F & G H --> I & J
PROIEZIONE A 3 PUNTI DI FUGA
La proiezione a 3 punti di fuga si ha quando l’osservatore non e allineato con nessun asse del sistema di riferimento del mondo (caso più generale)
In questo tipo di proiezione si ha che:
DETERMINARE LE DIMENSIONI DELLA WINDOW
Le dimensioni della window sono determinate dalla ampiezza del cono di visione che a sua volta e determinato dalla distanza tra l’osservatore e il piano di proiezione e la semi-ampiezza angolare del cono di visione
Inoltre il piano di vista dell’osservatore viene limitato per mezzo di un front-plane e un back-plane
ne consegue che per definire una matrice di proiezione sul piano di visione e necessario conoscere il formato della finestra,la posizione della camera l'angolo di visione e i piani di troncatura della camera
STRUTTURA FINALE DELLA PIPELINE DI RENDERING
flowchart TD A[passaggio al sdr dell'osservatore] B[clipping rispetto al tronco di visione] C[passaggio al sdr della window] D[trasformazione window viewport] A --> B --> C --> D