[Date Index] [Thread Index] [Author Index]
Re: Re: Rotation3D, MatrixRotation3D ?
Thanks a lot for your input. Most helpful! But Please restate euler theorem, I dont seem to get the boundaries right:... Johnny ...: 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). "Andrzej Kozlowski" <andrzej at tuins.ac.jp> wrote in message news:9ligov$iru$1 at smc.vnet.net... > > 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/ >