4.2 Proiezioni dello spazio

Passiamo ora a descrivere le proiezioni dello spazio tridimensionale su un piano. Sia N il vettore delle coordinate omogenee del piano di proiezione (il piano di vista) e sia C un punto esterno al piano. La proiezione da C sul piano N è la trasformazione T che applica un punto P , distinto da C , nel punto T(P) = P[1] del piano di vista che si ottiene intersecando il piano con la retta per C e P . Se P appartiene al piano per C parallelo al piano di vista, P[1] è il punto all'infinito nella direzione della retta per C e P . Se C è un punto improprio, la proiezione è parallela (con direzione delle rette di proiezione data da C ), altrimenti è detta centrale o proiezione prospettica .

Ricaviamo la matrice della proiezione:

i punti della retta per C e P hanno coordinate omogenee della forma alpha*C+beta*P (vedi la sezione 3.3) e l'intersezione P[1] tra tale retta e il piano di vista è caratterizzata dalla condizione

N.(alpha*C+beta*P) = 0 cioé alpha*(N.C)+beta*(N.P) = 0

Scegliendo alpha = N.P e beta = -(N.C) si ottiene

P[1] = N.P*C -N.C*P = P*N^T*C-P*(N.C) = P*(N^T*C-N.C*I[4])

Dunque T(X,Y,Z,W) = (X, Y, Z, W)*M , con M = N^T*C-N.C*I[4] .

Come nel caso bidimensionale, le proiezioni sono esempi di trasformazioni proiettive dello spazio. Le proiezioni centrali non sono trasformazioni affini, diversamente da quelle parallele. Una conseguenza del fatto che una proiezione parallela trasforma punti impropri in punti impropri, è la seguente proprietà: ogni coppia di rette parallele viene trasformata da una proiezione parallela in una coppia di rette ancora parallele (le due rette devono incontrarsi ancora in un punto improprio).

Esempio 1: la proiezione parallela sul piano z = 0 in direzione parallela all'asse z ha matrice

M = matrix([[0], [0], [1], [0]])*matrix([[0, 0, 1, ... = matrix([[-1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 0, 0],...

poiché il piano di vista z = 0 ha equazione omogenea Z = 0 e vettore delle coordinate omogenee N = (0, 0, 1, 0) e il centro (punto improprio) ha coordinate omogenee C = (0, 0, 1, 0) . Naturalmente, la proiezione associa al punto di coordinate cartesiane ( x, y, z ) il punto di coordinate omogenee [x, y, z, 1]*M = [-x, -y, 0, -1] e di coordinate cartesiane ( x, y, 0 ).

Esempio 2: la proiezione centrale sul piano z = 0 dal punto di vista ( 1, 5, 3 ) ha matrice

M = matrix([[0], [0], [1], [0]])*matrix([[1, 5, 3, ... = matrix([[-3, 0, 0, 0], [0, -3, 0, 0], [1, 5, 0, 1],...

Dunque la trasformazione associa al punto di coordinate cartesiane ( x, y, z ) il punto di coordinate omogenee [x, y, z, 1]*M = [-3*x+z, -3*y+5*z, 0, z-3] e di coordinate cartesiane [(-3*x+z)/(z-3), (-3*y+5*z)/(z-3), 0] . Si noti che nel caso di trasformazioni proiettive che non sono affini, le coordinate cartesiane del punto trasformato si esprimono mediante quozienti di espressioni di primo grado nelle coordinate x, y, z .

Esempi