Controllare la prospettiva
Sponsored Links
This presentation is the property of its rightful owner.
1 / 25

Controllare la prospettiva PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on
  • Presentation posted in: General

Controllare la prospettiva. Daniele Marini. Prospettiva canonica. Camera frame orientato come il world frame Asse ottico coincidente con asse z, entrante nell’obiettivo

Download Presentation

Controllare la prospettiva

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Controllare la prospettiva

Daniele Marini


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


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


Orientare il piano di proiezione


Definire la viewport e la window


Definire il centro di proiezione


Se la proiezione è parallela


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


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”


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


Roll, pitch, yaw


Matrice canonica di trasformazione prospettica


Dalle coordinate omogenee allo spazio 3D


Matrice canonica di trasformazione ortogonale


Angolo di visione e frustum


Funzioni di OpenGL

glFrustum(xmin, xmax, ymin, ymax, near, far);

gluPerspective(fovy, aspect, near, far);

Aspect = larghezza/altezza della window

Fov:


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


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


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


  • 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


Proiezioni parallele oblique

Angoli del fascio di proiettori con la normale al piano di proiezione

q, f


Trasformazione di shear


Prospettiva generica

  • Creare la matrice di normalizzazione

  • Deformare lo spazio

  • Proiettare in modo ortografico


Ai punti trasformati occorre applicare la divisione


  • Login