Le proiezioni e la prospettiva
Daniele Marini
1
Proiezioni piane
Albrecht Dürer: la prospettiva da un punto di proiezione, la
griglia come guida
2
La prospettiva Rinascimentale
• Piero della Francesca e la
costruzione geometrica
della prospettiva piana.
• Sistematizzata anche da
Leon Battista Alberti: La
costruzione legittima
3
Hans Holbein: Gli Ambasciatori
• non ci sono solo le proiezioni
piane, questo e’ un esempio
di proiezione obliqua
anamorfica
• proiezioni cartografiche (la
sfera sul piano):
• proiezione di piani su
superfici parametriche (il
texturing)
4
Schemi costruttivi
Classificazione delle proiezioni piane
proiezioni piane
Prospettive
distanza finita
1 punto di fuga
(centrale)
Parallele
distanza infinita
2 o 3 punti di fuga
(accidentali
ortogonali
a più viste
(assonometrie)
isometriche
(120°)
1 vista
pianta, prospetto, alzato
oblique
cavaliera
45°
cabinet
63,5°
bi- e tri- metriche
6
prospettica
parallela
7
Esempi di proiezioni sul piano
8
Proiezioni ortogonali
9
Proiezioni assonometriche
10
Proiezioni oblique
Al variare dell’angolo tra proiettori e piano si hanno:
63,5° CABINET
30° o 45° CAVALIERA
11
Proiezioni prospettiche
a 3 punti di
fuga
a 2 punti di
fuga
prospettive accidentali
a 1 punto di
fuga prospettiva
centrale
12
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
13
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 al centro del fotogramma
X crescente a destra
Y crescente in verticale
Z entrante o uscente dalla macchina fotografica
14
15
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
16
La prospettiva risolta
analiticamente
y
P(x,y,z)
P(xv,yv)
z
x
Piano di proiezione
17
y
P(x,y,z)
yv
z
d
Piano di proiezione
y/yv = z/d
da cui:
yv = y/(z/d)
x/xv = z/d
da cui:
xv = x/(z/d)
18
I parametri di controllo
• PRP Projection Reference Point (si chiama
anche centro di proiezione COP)
• View Plane
• VPN View Plane Normal
• VUP View UP
• DOP Direction of Projection (parallela)
• VRP View Reference Point
• CW center of the window
19
Orientare il piano di proiezione
20
Definire la viewport e la window
21
Definire il centro di proiezione
22
Camera model
• Con questi parametri
si può modellare il
comportamento di
una macchina
fotografica
professionale con
obiettivo e piano
della pellicola
basculanti
Se la proiezione è parallela
24
Proiezioni e matrici
• Per risolvere con matrici le proiezioni
ambientiamo sempre il problema nello
spazio di coordinate omogenee 4D
• La configurazione chiamata canonica
prevede:
– piano di proiezione sul piano xy
– centro di proiezione sull’asse z positivo
25
Trasformazioni normalizzate
• Dati VPN, VUP si ottiene la view orientation
matrix V
• La forma della V è ottenuta componendo:
– V=TR con T traslazione nel VRP,
– R rotazione opportuna per orientare la view rispetto
alla configurazione canonica
26
Matrice canonica di proiezione
parallela ortogonale
1

0

M ortho 
0

0
0 0 0

1 0 0
0 0 0

0 0 1
x
x
 
 
y
y


p  M ortho  q 
z 
0
 
 
1
1
27
Matrice canonica di trasformazione
prospettica
1

0

M persp 
0

0
0

0
0 1 0

0 1/d 0
x
 x 
 
 
y
y
p  M persp  q   
z 
 z 
 
 
1
z /d
0
1
0
0
28
Dalle coordinate omogenee allo
spazio 3D
x
xp 
z/ d
y
yp 
z /d
z
zp 
d
z/d
costruz. matrice
trasformaz.
divisione
29
y
P(x,y,z)
yv
z
d
Piano di proiezione
y/yv = z/d
da cui:
yv = y/(z/d)
x/xv = z/d
da cui:
xv = x/(z/d)
30
Proiezione parallela generica
• Ricondursi alla configurazione canonica:
normalizzazione
– Convertire il volume di vista in una configurazione standard
Proiettare il volume deformato
• Il volume canonico di vista (canonical view volume) per
la proiezione parallela è normalizzato in -1,+1 usando
una trasformazione di scala
• Il volume canonico definisce lo spazio entro il quale si
trovano gli oggetti da trasformare e proiettare
• Traslare per portare la DOP sull’asse z
31
traslazione
al centro del
view volume
scalatura

2

xmax  xmin

0
P  ST  


0



0
0
0
2
ymax  ymin
0
0
0
2
zmax  zmin
0
xmax  xmin


xmax  xmin
ymax  ymin 

ymax  ymin 

zmax  zmin 

zmax  zmin 

1

32
• Trasla origine del view volume nell’origine del view
volume canonico
• Riscala il view volume
• P è la matrice di proiezione
• si introducon piani frontali e di sfondo per il
clipping 3D:
• zmax = far
• zmin = near
33
Proiezioni parallele oblique
, Angoli del fascio di proiettori con la normale al
piano di proiezione
y
DOP
x
z
34
Proiezioni parallele oblique
• portare la direzione di proiezione parallela a
z, con trasformazione di shear relativa agli
angoli ,
• rinormalizzare il view volume con scala e
traslazione (come sopra)
• proiettare con la matrice ortografica
35
Matrice per la proiezione obliqua
parallela
si introduce una trasformazione di shear:
1

0
H  
0

0
0
1
0
0
0

 cot  0

1
0
0
1

 cot 
P  MorthoSTH( ,  )
36
Proiezione prospettica: soluzione
generale
• Anche per la proiezione prospettica si può
operare in modo analogo: trasformare il
frustum di visione normalizzato e proiettare
la scena così deformata con una semplice
proiezione parallela
37
Volume di vista canonico
• La trasformazione prospettica converte in
un volume di vista canonico [-1,1]2.
• E’detta anche trasformazione di
normalizzazione prospettica
y
yv
z
zv
near
far
1
1
Matrice di normalizzazione
 2  near

 wx p   right  left
 wy  
0
 p  
 wz p  

 
0
w

 
0

0
2  near
top  bottom
0
0
 (right  left )
right  left
 (top  bottom)
top  bottom
far  near
far  near
1


 x
 y
0
 
z
 2  far  near   

far  near   1 
0

0
In questa matrice right, left, top, bottom, near, far
rappresentano i limiti del frustum di visione.
Nella terza colonna riconosciamo una trasformazione di
shear, nella quarta colonna la traslazione che centra il
volume canonico
Lungo la diagonale i fattori di scala per normalizzare il
volume di vista
Altri schemi
• Lo schema illustrato permette di predisporre le
matrici per librerie grafiche come OGL
• OGL offre un altro approccio: lookAt
• Nei simulatori di volo si adotta lo schema “roll,
pitch, yaw”
40
Angolo di visione e frustum
41
LookAt
• E’ un metodo più diretto e più naturale:
– la camera è localizzata in un punto e (eyepoint - 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) specificato sempre nel world frame
• I punti e ed a individuano il VRP e la VPN
42
43
Camera Model
Roll (rot. z), Pitch (rot. x), Yaw (rot. y)
45
Scarica

08_proiezioni