Re: Rotation3D, MatrixRotation3D ?

*To*: mathgroup at smc.vnet.net*Subject*: [mg30398] Re: Rotation3D, MatrixRotation3D ?*From*: gl.cruciani at tin.it (Gianluca Cruciani)*Date*: Wed, 15 Aug 2001 01:04:05 -0400 (EDT)*References*: <9lalnl$cd3$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

"ojg" <ole.jonny.gjoen at hitecvision.com> wrote in message news:<9lalnl$cd3$1 at smc.vnet.net>... > Question regarding rotations. > > Some of the documentation found regarding this is not as far as I can see > complete in the documentation, at least the subject is difficult enough to > make me unsure once not 100% clear:) > > Fist, what are the defined "euler angles" in mathematica, and in what order > are they applied? > There are a number of conventions about Euler angles, I know at least two of them. You can read the one used by Mathematica4 in the Help Browser, searching for the "Geometry`Rotations`" package. Here you also learn how to rotate about an axis. To see what you typically get as a cartesian matrix of an arbitrary rotation from a generic direction (theta1,phi1) to another (theta2,phi2) (i.e. the generic representation of an element of SO(3)), using a definition of Euler angles, try this: <<Geometry`Rotations` <<Calculus`VectorAnalysis` v=CoordinatesToCartesian[{1,Theta1,Phi1},Spherical] w=CoordinatesToCartesian[{1,Theta2,Phi2},Spherical] R=Transpose[RotationMatrix3D[Phi1-Pi/2,Theta1,Pi/2-Phi1]] S=RotationMatrix3D[Phi2-Pi/2,Theta2,Pi/2-Phi2] RotMat=S.R verif=Simplify[RotMat.v-w] You need a fast machine to simplify RotMat, while verif is immediately calculated (and gives (0,0,0), obviously).