MathGroup Archive 2004

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

Search the Archive

Re: Euler rotation angles

  • To: mathgroup at
  • Subject: [mg46748] Re: [mg46739] Euler rotation angles
  • From: Oleksandr Pavlyk <pavlyk at>
  • Date: Fri, 5 Mar 2004 01:46:58 -0500 (EST)
  • Organization: Penn State University; Department of Physics
  • References: <>
  • Reply-to: pavlyk at
  • Sender: owner-wri-mathgroup at

Hi Sam,

You should have been more specific about what dimensions
your vectors are. I would assume they are 3-dimensional.

Two vectors, call them v1, v2, span a plane.
Two vectors can be rotated into one another only
if they have the same length. So I will assume they do.

Within that plane, the angle between them can be

  phi = ArcCos[ (v1.v2)/Sqrt[ (v1.v1) (v2.v2) ] ]

The perpendicular vector to that plane can be found
using cross product

  perp = Cross[ v1, v2 ]

Is this vector vanishes, then your vectors are parallel.

The the sought after rotation is around vector perp through
the angle phi found above. Let us define

  {nx, ny, nz} = perp/ Sqrt[ perp.perp ] ;

The matrix rot, that implements this rotation in 3 dimensions looks
as this

  rot = MatrixExp[ phi { { 0, nz, -ny}, { -nz, 0, nx}, {ny, -nx, 0} } ]

  rot.v2 == v1	

gives True.

To understand the group of rotations in 3 dimensions better you could
consult some of books on the subject, like

"Representations of the rotation and Lorentz groups : an introduction"
by Moshe Carmeli available at Amazon (used).

see also


S. Campbell wrote:

> Hi, 
> Can anyone help me with the following? I have two vectors, one rotated
> with respect to the other, and I wish to find the Euler rotation
> angles that connect the vectors. Can mathematica tell me what the
> required angles are?
> Cheers,
> Sam

  • Prev by Date: Bug report for MathixExp applied to a matrix of more-than-machine-precision numbers.
  • Next by Date: Re: Elliptic Integral problem with 5.0
  • Previous by thread: Euler rotation angles
  • Next by thread: Re: Euler rotation angles