Trasformazioni mediante matrici
Vi presento un problema che riguardante la grafica, ovvero la trasformazione di un punto mediante operazioni matriciali.
Supponiamo di avere un punto in un certo sistema di coordinate espresso dal vettore $v=[x, y, z, 1]$, quello che voglio fare è proiettare questo punto quindi trasformarlo in un altro sistema di coordinate, per farlo lo moltiplico per 3 matrici (4x4) oguna delle quali serve alla trasformazione, quindi: $v1=M1*M2*M3*v$ ed ecco che alla fine ottengo il mio v1 nel nuovo sistema di coordinate.
La mia domanda è questa, avendo v1 e le tre matrici, posso ricavare v? Se si come? Grazie!
Supponiamo di avere un punto in un certo sistema di coordinate espresso dal vettore $v=[x, y, z, 1]$, quello che voglio fare è proiettare questo punto quindi trasformarlo in un altro sistema di coordinate, per farlo lo moltiplico per 3 matrici (4x4) oguna delle quali serve alla trasformazione, quindi: $v1=M1*M2*M3*v$ ed ecco che alla fine ottengo il mio v1 nel nuovo sistema di coordinate.
La mia domanda è questa, avendo v1 e le tre matrici, posso ricavare v? Se si come? Grazie!
Risposte
a patto che le matrici siano invertibili, allora
$M3^-1 M2^-1 M1^-1 v1 = v$
$M3^-1 M2^-1 M1^-1 v1 = v$
"luca.barletta":
a patto che le matrici siano invertibili, allora
$M3^-1 M2^-1 M1^-1 v1 = v$
Si sono tutte e tre matrici invertibili. Ora provo ad implementare il codice per vedere se effettivamente ritorna quello che mi aspetto!
Grazie!