Date le seguenti definizioni per le matrici di rotazione x, y, z, come posso rappresentarlo come una matrice completa? Basta moltiplicare x, y, & matrici?Come rappresentare una rotazione della matrice 4x4?
X rotazione:
[1 0 0 0]
[0 cos(-X Angle) -sin(-X Angle) 0]
[0 sin(-X Angle) cos(-X Angle) 0]
[0 0 0 1]
Rotazione Y:
[cos(-Y Angle) 0 sin(-Y Angle) 0]
[0 1 0 0]
[-sin(-Y Angle) 0 cos(-Y Angle) 0]
[0 0 0 1]
Z di rotazione:
[cos(-Z Angle) -sin(-Z Angle) 0 0]
[sin(-Z Angle) cos(-Z Angle) 0 0]
[0 0 1 0]
[0 0 0 1]
Edit: Ho una classe rotazione separata che contiene un x, y , valore float z, che successivamente convertirò in una matrice per combinarlo con altri traduzioni/scale/rotazioni.
A giudicare dalle risposte qui, posso supporre che se faccio qualcosa di simile:
rotazione rotazione; rotation.SetX (45); rotation.SetY (90); rotation.SetZ (180);
Quindi è davvero molto importante in quale ordine vengono applicate le rotazioni? O è sicuro assumere che quando si utilizza la classe di rotazione, si accetta che vengano applicati nell'ordine x, y, z?
Questa risposta è [qui] (http://stackoverflow.com/questions/5188876/rotation-matrix-given-angle-and-point-in-x-y-z/5188904#5188904). – Glenn