HomeUpPrecedenteSuccessivoAiuto! it

Puoi ottenere questo file anche in formato PostScript o PDF. Puoi anche guardare la conversione ottenuta con LaTeX2HTML. Prospettiva e matrici

Prospettiva e matrici

E. Paolini

May 15, 2006

1  Introduzione

Quello che ci riproponiamo di fare è capire il meccanismo con cui un oggetto tridimensionale può essere rappresentato su un foglio tramite la tecnica della prospettiva. L'idea è in realtà molto semplice, e trova riscontro nel funzionamento delle macchine fotografiche e nell'occhio stesso.

Supponiamo di voler rappresentare su uno schermo un oggetto tridimensionale che si trova dietro lo schermo. Quando non c'è lo schermo il nostro occhio percepisce i raggi luminosi riflessi dalla superficie dell'oggetto e che passano attraverso il nostro cristallino. Se vogliamo rappresentare sullo schermo l'immagine tridimensionale, sarà quindi sufficiente ``proiettare'' l'oggetto sullo schermo, in modo che un punto sull'immagine proiettata si trovi sulla semiretta uscente dall'occhio (punto di vista) e passante dal punto corrispondente dell'oggetto reale.

Quello che ci prefiggiamo di trovare è, quindi, una formula che ci permetta di trovare le coordinate della proiezione di un punto proiettato sullo schermo sapendo le coordinate del punto nello spazio.

2  Descrizione dei parametri

Innanzitutto dobbiamo fissare dei parametri che ci indichino la posizione del punto di vista e la posizione dello schermo su cui vogliamo proiettare l'immagine.

Rappresentiamo dunque lo spazio tridimensionale con R3. La posizione del punto di vista sarà quindi semplicemente un punto P0 Î R3. Lo schermo non è altro che un piano P di R3. Tra i molti modi possibili per rappresentare P, risulterà molto utile la rappresentazione parametrica:

P = {P0+Z+xX+yY x,y Î R}.
P0 è il punto di vista, Z è il vettore di R3 che ha come direzione la direzione in cui sto guardando e come modulo la distanza del piano P dal punto di vista P0. X e Y sono due vettori che giacciono sul piano P e che identificano un sistema di coordinate sul piano stesso.

Dato dunque un punto P Î R3 dobbiamo semplicemente trovare le coordinate (x,y) (rispetto alla base X,Y nel piano P) dell'intersezione col piano P stesso, della semiretta r uscente da P0 e passante da P.

3  Il conto

La semiretta r può essere rappresentata in maniera parametrica da
r={P0+t (P-P0) t > 0}.
Si tratta dunque di risolvere il sistema P0+Z+xX+yY=P0+t(P-P0). Definiamo M=(X Y Z) la matrice 3×3 i cui vettori colonna sono i vettori X,Y,Z. In questo modo, il nostro sistema si scrive, più semplicemente, come
M æ
ç
ç
ç
è
x
y
1
ö
÷
÷
÷
ø
= t (P-P0).

Notiamo che se vogliamo che il piano P non sia degenere e non passi per P0, allora i tre vettori X,Y,Z devono essere indipendenti. Questo significa che la matrice M è invertibile, e quindi, moltiplicando il sistema a sinistra per la matrice M-1 e dividendo tutto per t, si ottiene

æ
ç
ç
ç
è
x/t
y/t
1/t
ö
÷
÷
÷
ø
= M-1(P-P0).
Se l'ultima componente del vettore M-1(P-P0) non risulta strettamente positiva, significa che la semiretta r non interseca il piano P in quanto il punto P si trova ``dietro'' l'osservatore. In caso contrario dall'ultima equazione si può ricavare t e quindi le coordinate (x,y).

4  il caso ortogonale

Notiamo ora, però, che è molto naturale supporre che i vettori X,Y,Z siano a due a due ortogonali tra loro. Questo significa infatti da un lato che il piano P è perpendicolare alla direzione in cui l'osservatore sta guardando, e dall'altro significa che gli assi coordinati scelti sul piano P sono ortogonali.

Se v,w sono vettori, nel seguito indicheremo con v* il vettore trasposto, con (v,w)=v* w il prodotto scalare di R3, con v2=(v,v) il modulo quadro e con |v|=Ö{(v,v)} il modulo e con [^v] = v/|v| il versore associato a v.

Una semplice verifica ci assicura che in queste ipotesi si può trovare esplicitamente che la matrice inversa di M è data da:

M-1= æ
ç
ç
ç
è
X*/X2
Y*/Y2
Z*/Z2
ö
÷
÷
÷
ø
infatti facendo il prodotto M-1 M si ottiene sulla diagonale i prodotti dei vettori con se stessi, e fuori dalla diagonale si ottengono i prodotti tra vettori diversi, che essendo ortogonali, danno 0.

Dunque si ottiene esplicitamente la soluzione al problema:

ì
ï
ï
ï
ï
ï
ï
í
ï
ï
ï
ï
ï
ï
î
t
=
 (Z,P-P0)

Z2
x
=
t  (X,P-P0)

X2
y
=
t  (Y,P-P0)

Y2
da cui si ricava anche
ì
ï
ï
ï
ï
í
ï
ï
ï
ï
î
x
=
|Z|  (X,P-P0)

X2 (
^
Z
 
,P-P0)
y
=
|Z|  (Y,P-P0)

Y2 (
^
Z
 
,P-P0)

In quest'ultima formula viene anche messo in evidenza il parametro |Z| che rappresenta il fattore di ``zoom'' dell'immagine.


File translated from TEX by TTH.
HomeUpPrecedenteSuccessivoAiuto! it
Ultima modifica: 15 05 2006