2.3 Trasformazioni del piano in coordinate omogenee

Come si è visto in 2.1, ogni trasformazione affine del piano può essere ottenuta mediante un prodotto matriciale con matrici 3x3. Una conseguenza di questo fatto è che alla concatenazione di trasformazioni corrisponde il prodotto delle matrici 3x3 e che la trasformazione inversa è rappresentata dalla matrice inversa (quando esiste). Se

matrix([[X[1], Y[1], Z[1]]]) = matrix([[X, Y, Z]]).A e matrix([[X[2], Y[2], Z[2]]]) = matrix([[X[1], Y[1], Z[1]]]).B

con A = matrix([[a, c, 0], [b, d, 0], [h, k, 1]]) e B = matrix([[a[1], c[1], 0], [b[1], d[1], 0], [l, m... , allora matrix([[X[2], Y[2], Z[2]]]) = matrix([[X, Y, Z]]).(A*B) .

Dunque la concatenazione T*S di due trasformazioni affini si ottiene mediante la matrice prodotto A*B (nello stesso ordine). Inoltre T*S = Id e S*T = Id se e solo se A*B = I[3] e B*A = I[3] , cioè A è invertibile con inversa B . Questo avviene quando det(A) <> 0 , determinante che coincide col determinante a*d-b*c della matrice 2x2 associata alla componente lineare di T .

Vediamo ora, per le varie classi di trasformazioni che ci interessano, l'espressione in coordinate omogenee.

Traslazioni

Cambiamenti di scala

Rotazioni

Riflessione rispetto a una retta

Tagli