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).