You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Unfortunately the documentation for rotations in Wired4 is a bit lacking.
Rotations in general can be decomposed into three consecutive rotations about the primary axes.
R_x = R1R2R3
In Wired, the choice was made to rotate by an angle omega about the z axis, followed by a rotation by theta about the new x axis, followed by a rotation about phi around the y axis.
The ultimate reference, as usual, is the code, in this case for Matrix3D

In Wired4, the choice of rotation is
R_omega =

cos omega

-sin omega

0

sin omega

cos omega

0

0

0

1

R_theta =

1

0

0

0

cos theta

-sin theta

0

sin theta

cos theta

R_phi =

cos phi

0

sin phi

0

1

0

-sin phi

0

cos phi

We can multiply these entities in the right order to get the combined rotation around all three axes.
The code appears to perform the rotations in the order presented here, so we compute R_phi R_theta R_omega and get

sin(omega) sin(phi) sin(theta) + cos(omega)cos(phi)

cos(omega)sin(phi)sin(theta) - sin(omega)cos(phi)

sin(phi)cos(theta)

sin(omega) cos(theta)

cos(omega)cos(theta)

-sin(theta)

sin(omega) cos(phi)sin(theta) - cos(omega)sin(phi)

cos(omega)cos(phi)sin(theta)+sin(omega)sin(phi)

cos(phi)cos(theta)

  • No labels