La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Controllare la prospettiva Daniele Marini. 2 z x y P (x,y,z) P(x v,y v ) Piano di proiezione Calcolo analitico Centro di proiezione.

Presentazioni simili


Presentazione sul tema: "1 Controllare la prospettiva Daniele Marini. 2 z x y P (x,y,z) P(x v,y v ) Piano di proiezione Calcolo analitico Centro di proiezione."— Transcript della presentazione:

1 1 Controllare la prospettiva Daniele Marini

2 2 z x y P (x,y,z) P(x v,y v ) Piano di proiezione Calcolo analitico Centro di proiezione

3 3 z y Piano di proiezione d P (x,y,z) yvyv y/y v = z/d y v = y/(z/d) x/x v = z/d x v = x/(z/d)... in sezione... Centro di proiezione

4 4 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

5 5 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 in basso a sinistra del fotogramma –X crescente a destra –Y crescente in verticale –Z entrante o uscente dalla macchina fotografica

6 6

7 7 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

8 8 I parametri di controllo PRP Projection Reference Point o COP Center of Projection View Plane VPN View Plane Normal VUP View UP DOP Direction of Projection (per le proiezioni parallele) VRP View Reference Point CW center of the window

9 9 Orientare il piano di proiezione

10 10 Definire la viewport e la window

11 11 Definire il centro di proiezione

12 12 Se la proiezione è parallela

13 13 view orientation matrixDati 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 Trasformazioni normalizzate

14 14 Matrice canonica di trasformazione prospettica

15 15 Dalle coordinate omogenee allo spazio 3D

16 16 Matrice canonica di proiezione parallela ortogonale

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

18 18 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

19 19 glOrtho(xmin, xmax, ymin, ymax, near, far); traslazione al centro del view volume scalatura

20 20 Proiezioni parallele oblique  Angoli del fascio di proiettori con la normale al piano di proiezione DOP y x z

21 21 Proiezioni parallele oblique orientare la direzione di proiezione in modo che sia parallela a z, con trasformazione di shear controllata dagli angoli  rinormalizzare il view volume con scala e traslazione (come sopra) proiettare con la matrice ortografica

22 22 Trasformazione di shear e proiezione parallela ortogonale

23 23 Proiezione parallela generica Deformare il volume con shear per condursi a ortogonale 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

24 24 Angolo di visione e frustum

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

26 26 Prospettiva generica Metodo della projection normalization –Creare la matrice di normalizzazione –Deformare lo spazio –Proiettare in modo ortografico

27 27 Prospettiva generica (cont) Si suppone di proiettare in modo canonico con la distanza del centro di proiezione d=-1 lungo l’asse z la matrice M persp diventa:

28 28 Prospettiva generica (cont) applichiamo a un punto la matrice non singolare N (simile a M persp )

29 29 Prospettiva generica (cont) dobbiamo determinare  assumiamo un angolo di visione di 90° quindi i piani di clipping laterali sono: x=+-z y=+-z dopo la trasformazione i piani diventano: x=+-1 y=+-1 i piani di clipping frontale e di sfondo siano: z min

30 30 Prospettiva generica (cont) z min e z max dopo la trasformazione diventano:

31 31 Prospettiva generica (cont) la matrice N viene chiamata matrice di normalizzazione prospettica

32 32 Prospettiva generica (cont) se il frustum non fosse simmetrico e a 90° ci si può ricondurre a questo caso con una trasformazione di shear

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

34 34 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 Gli ultimi tre parametri identificano il VUP gluLookAt(eyex, eyey, eyez, aty, atx, atz, upx, upy, upz);

35 35

36 36 Roll, pitch (head), yaw


Scaricare ppt "1 Controllare la prospettiva Daniele Marini. 2 z x y P (x,y,z) P(x v,y v ) Piano di proiezione Calcolo analitico Centro di proiezione."

Presentazioni simili


Annunci Google