# Translation of euler angles into rotation around arbitrary axis

i have an orientation of a 3d object in space given by theeta, si and phi i.e. angles which the objects makes with respect to three axis. Now i want to translate the
problem such that i get an arbitrary axis rotation about which to some calculated degrees would produce same orientation.

Practical Problem.
I'm trying to give a specific orientation to an object in VRML builder 2.0 for which i have information in theeta, si and phi...

I don't know VRML (so I really don't know what theta, phi ans psi mean), but I think you should be able to try the following:

Take an arbitrary unit vector --say, the unitary X, (1,0,0)-- and apply the three-angle rotation to it (or one rotation at a time, but, if the angle description is like pitch-roll-yaw in airplanes, the order is critical), in order to get a rotated (and also unitary) vector R. Now, the cross product X x R will give you the axis of the equivalent rotation, and the dot product X . R will give you the cosine of the angle between the two vectors. So rotating this angle around the axis given by R is an equivalent rotation.

What I'm not sure is how to determine to which side you have to rotate, clockwise or counterclockwise with respect to the vector R. But I think that hacking a bit around this idea you should get it right.

Last edited:
Chris Hillman
Hi, husham, welcome to PF!

i have an orientation of a 3d object in space given by theeta, si and phi i.e. angles which the objects makes with respect to three axis.
If you mean orientation of an axis of rotation or a direction vector, then the keyterm you want is Euler angles.

Now i want to translate the problem such that i get an arbitrary axis rotation about which to some calculated degrees would produce same orientation.
A picture (see "Attachments" in https://www.physicsforums.com/faq.php?faq=vb_faq#faq_vb_board_usage [Broken]) would really help since I am not sure I understand the question, but there are plenty of books on robot motion which probably will explain what you want to know in terminology already familiar to you. Ask here and you may hear invariant subspace and complex eigenvector and characteristic polynomial whose relevance might not be immediately apparent to you unless you've had a solid course in linear algebra (vector spaces, operators, eigenthings and all that).

Last edited by a moderator:
A powerful way of describing rotations in 3D is by the use of quaternions. These are an extension of the complex numbers with special rules for doing calculations with them. This link will give you more information.

http://en.wikipedia.org/wiki/Quaternion

It is the standard in case you are working with 3D graphics. Don't be afraid of the (sometimes) lengthy calculations involved, it will turn out as a possible solution to your problem.

Edit: In case you want to rotate an object in VRML by use of the mouse, look on www for information on trackball and arcball. I found the trackball the best intuitive way of doing rotations with a mouse.

Last edited: