La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Controllare la prospettiva

Presentazioni simili


Presentazione sul tema: "Controllare la prospettiva"— Transcript della presentazione:

1 Controllare la prospettiva
Daniele Marini

2 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

3 I parametri di controllo
PRP Projection Reference Point (COP) View Plane VPN View Plane Normal VUP View UP DOP Direction of Projection VRP View Reference Point CW center of the window

4 Orientare il piano di proiezione

5 Definire la viewport e la window

6 Definire il centro di proiezione

7 Se la proiezione è parallela

8 Trasformazioni normalizzate
Dati VPN, VUP si ottiene la view orientation matrix V La forma della V è: V=TR con T traslazione nel VRP, R rotazione opportuna per orientare la view rispetto alla configurazione canonica

9 Altri schemi Lo schema illustrato è tipico delle librerie PHIGS, GKS 3D OpenGl offre un altro approccio: lookAt Nei simulatori di volo si adotta lo schema “roll, pitch, yaw”

10 LookAt E’ un metodo più diretto e più naturale:
la camera è localizzata in un punto e (eypoint - 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) I punti e ed a individuano il VRP e la VPN gluLookAt(eyex, eyey, eyez, aty, atx, atz, upx, upy, upz);

11

12 Roll, pitch, yaw

13 Matrice canonica di trasformazione prospettica

14 Dalle coordinate omogenee allo spazio 3D

15 Matrice canonica di trasformazione ortogonale

16 Angolo di visione e frustum

17 Funzioni di OpenGL glFrustum(xmin, xmax, ymin, ymax, near, far);
gluPerspective(fovy, aspect, near, far); Aspect = larghezza/altezza della window Fov:

18 Funzioni di OpenGL - proiezione parallela
glOrtho(xmin, xmax, ymin, ymax, near, far); near e far possono essere anche negativi: non c’e’ divisione per 0

19 Proiezione parallela generica
Ricondursi alla configurazione canonica: normalizzazione Convertire il volume di vista in una configurazione standard: costruzione della matrice di proiezione: opera in “window coordinates” (comprendono z) Proiettare il volume deformato Il volume canonico per la proiezione parallela è normalizzato in -1,+1

20 glOrtho(xmin, xmax, ymin, ymax, near, far);

21 Trasla origine del view volume nell’origine del view volume canonico
Riscala il view volume P è la matrice di proiezione zmax = far zmin = near completata la trasformazione si può chiamare la glOrtho

22 Proiezioni parallele oblique
q, f Angoli del fascio di proiettori con la normale al piano di proiezione

23 Trasformazione di shear

24 Prospettiva generica Creare la matrice di normalizzazione
Deformare lo spazio Proiettare in modo ortografico

25 Ai punti trasformati occorre applicare la divisione


Scaricare ppt "Controllare la prospettiva"

Presentazioni simili


Annunci Google