Comando ApplicaMatrice

ApplicaMatrice(Matrice, Oggetto)

Applica la matrice di trasformazione all’oggetto, in modo tale che ogni punto P appartenente all’oggetto abbia come immagine:

  • il punto M*P, se M è una matrice 2 x 2 e P è un punto 2D

  • il punto proiez(M*(x(P), y(P), 1)) se P è un punto 2D e M è una matrice 3 x 3: proiez è una proiezione, che manda il punto (x, y, z) nel punto (x/z, y/z).

  • il punto M*P, se P è un punto 3D e M una matrice 3 x 3

  • il punto N*P, se P è un punto 3D e M è una matrice 2 x 2: la matrice N è il completamento di ordine 3 di M: data M = \(\begin{pmatrix}a&b\\ c&d \end{pmatrix}\) allora N = \(\begin{pmatrix}a&b&0\\ c&d&0\\0&0&1 \end{pmatrix}\)

Siano M={{1,1,0},{0,1,1},{1,0,1}} la matrice della trasformazione e u=(2,1) un vettore assegnato. ApplicaMatrice(M,u) restituisce il vettore u'=(1,0.67). Infatti \(\begin{pmatrix}1&1&0\\ 0&1&1\\1&0&1 \end{pmatrix}\) \(\begin{pmatrix}2\\ 1\\1 \end{pmatrix}\) = \(\begin{pmatrix}3\\ 2\\3 \end{pmatrix}\), e (3/3 = 1, 2/3 ≈ 0.67) (con un arrotondamento a 2 cifre decimali)

Siano M={{cos(π/2),-sin(π/2)}, {sin(π/2), cos(π/2)}} la matrice della trasformazione e u=(2,1) un vettore assegnato. ApplicaMatrice(M,u) restituisce il vettore u'=(-1,2), che è l’immagine di u nella rotazione in senso antiorario di 90°.

Questo comando è applicabile anche alle quadriche e alle immagini: se il determinante della matrice della trasformazione è 0, il comando restituisce "non definito".