Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2001
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2001

[Date Index] [Thread Index] [Author Index]

Search the Archive

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/


  • Prev by Date: Re: Spinshow Output to Animated GIF
  • Next by Date: Re: Rotation3D, MatrixRotation3D ?
  • Previous by thread: RE: Rotation3D, MatrixRotation3D ?
  • Next by thread: Re: Rotation3D, MatrixRotation3D ?