MathGroup Archive 2007

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

Search the Archive

rotation angles from rotation matrix

  • To: mathgroup at smc.vnet.net
  • Subject: [mg80030] rotation angles from rotation matrix
  • From: will <willpowers69 at hotmail.com>
  • Date: Sat, 11 Aug 2007 02:03:23 -0400 (EDT)

Dear Math forum,

I found some useful code for retrieving the Euler angles of a rotation from a rotation matrix; see

http://forums.wolfram.com/mathgroup/archive/2001/Aug/msg00286.html

which goes as follows:

In[1]:=
Needs["Geometry`Rotations`"]

In[2]:=
B=RotationMatrix3D[Pi/3,Pi/4,Pi/6];

In[3]:=
Solve[RotationMatrix3D[Ï?,θ,Ï?]\[Equal]B,{Ï?,θ,Ï?}]

 From In[3]:=
Solve::ifun: Inverse functions are being used by Solve, so some 
solutions may \
not be found.

Out[3]=
{{\[Psi] -> Pi/6, \[Theta] -> Pi/4, \[Phi] -> Pi/3}}

However, I noticed that if instead of exact rotations being entered, numerical approximations are entered:

In[4]:=
A=RotationMatrix3D[Pi/3.,Pi/4.,Pi/6.];

then solve no longer finds the solution...

In[5]:=
Solve[RotationMatrix3D[Ï?,θ,Ï?]\[Equal]A,{Ï?,θ,Ï?}]

Out[5]=
{}

my problem is that i have a rotation matrix

{{0.977431, 0.158491, 0.139673}, {-0.0822761, 
  0.894559, -0.439311}, {-0.194572, 0.417905, 0.88741}}

and i really want to find the rotations that are described by this matrix, either in Euler angles (for mathematica vs 5.2), or (preferably) in xyz (pitch-roll-yaw) convention (for mathematica vs 6). I am sorry if this is a very simple problem, but i don't know much about matrix maths...

Thank you in advance for your help,

Will


  • Prev by Date: Re: Simplifying the exponents
  • Next by Date: Re: Simplifying the exponents
  • Previous by thread: Re: Setting plot options with RuleDelayed/Rule does not work
  • Next by thread: Re: rotation angles from rotation matrix