Re: Re: Rotation3D, MatrixRotation3D ?
- To: mathgroup at smc.vnet.net
- Subject: [mg30419] Re: [mg30398] Re: Rotation3D, MatrixRotation3D ?
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Fri, 17 Aug 2001 03:09:57 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
On Wednesday, August 15, 2001, at 02:04 PM, Gianluca Cruciani wrote: > "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. ??? Euler angles are based on a simple mathematical idea of which, for some reason, physicists make a great deal more than it is worth. To use Euler angles and rotation matrices we load the package "Geometry`Rotations`" (which of course Johnny must have known about otherwise he would not have asked his question. And he is quite right that the explanation of this matter in the Help Browser is virtually non-existent). Needs["Geometry`Rotations`"] Let's define three matrices. \[CapitalPhi] = RotationMatrix3D[-\[Phi], 0, 0]; \[CapitalTheta] = RotationMatrix3D[0, -\[Theta], 0]; \[CapitalPsi] = RotationMatrix3D[-\[Psi], 0, 0]; The main point about Euler angles is the following theorem due to, not surprisingly, Euler: Theorem (Euler): Any special orthogonal matrix B can be expressed in the form: B = MatrixForm[\[CapitalPhi]].MatrixForm[\[CapitalTheta]].MatrixForm[\ \[CapitalPsi]] where 0<\[Phi]<0,0<\[Theta]<0,-Pi<\[Psi]<0. If \[Theta] is not 0 than the expression is unique. (\[Phi],\[Theta],\[Psi] are the Euler angles). This is simply a statement in linear algebra and can be proved without any mention of rotations (see below). It can be interpreted as a statement about rotations in basically two different ways (in addition there are various conventions concerning which the letters denoting the angles , their order , signs of angles etc). One way is by using a fixed coordinate system. In this interpretation the statement asserts that any rotation can be expressed as a product of three rotations, about (say) the z axis, x axis and again z-axis. The rotations are composed in the same order as the matrices. The other interpretation, which seems to be popular with physicists, uses variable coordinates, or what they call "body coordinates". If you use this interpretation the order in which rotations are applied is the reverse of the order in which the matrices are multiplied. Of course the rotations need not involve coordinate axes at all. In general any rotation can be expressed as a product of three rotations about just two (not three!) perpendicular axes passing through the center of the rotation. The real reason why all this works can be found in the combination of the following facts. First, the Lie algebra su(2) (skew hermitian matrices with trace 0) of the Lie group SU(2) (special unitary matrices) is a three dimensional vector space and thus has a basis consisting of three vectors, say v1, v2, v3. The exponential map su(2)->SU(2) is surjective, so every element of SU(2) can be written as a product MatrixExp[\[Phi] v1]*MatrixExp[\[Theta] v2]**MatrixExp[\[Psi]*v3]. The real numbers \[Phi],\[Theta],\[Psi] are sometimes called the Euler angles in SU(2). Finally the natural homomorphism SU(2)->SO(3) is onto (a double covering in fact) so we get the usual Euler angles in SO(3) from those in SO(2). Andrzej Kozlowski Toyama International University JAPAN http://platon.c.u-tokyo.ac.jp/andrzej/