Re: Euler rotation angles
- To: mathgroup at smc.vnet.net
- Subject: [mg46748] Re: [mg46739] Euler rotation angles
- From: Oleksandr Pavlyk <pavlyk at phys.psu.edu>
- Date: Fri, 5 Mar 2004 01:46:58 -0500 (EST)
- Organization: Penn State University; Department of Physics
- References: <200403040547.AAA14288@smc.vnet.net>
- Reply-to: pavlyk at phys.psu.edu
- Sender: owner-wri-mathgroup at wolfram.com
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
found
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
http://mathworld.wolfram.com/Rotation.html
Best,
Sasha
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
- References:
- Euler rotation angles
- From: sam_campbell@hotmail.com (S. Campbell)
- Euler rotation angles