View Full Version : How to find the angle betwen two vectors

07 July 2004, 08:18 PM
I got two vectors A and B as Point3, how could I find the 3 eulerangles between them, I look in the manual but I can't find a "simple" method to do it.
What I wan't to do is to copy the result rotation on to other object rotations.

Thank you in advance.

07 July 2004, 10:02 PM
I think you can use quats. Here's my idea: calculate cross product of A and B. Put its x,y,z into quat's x,y,z. Thats your rotation vector, now you need angle. Equation is very simple:
ang = acos((A.x*B.x+A.y*B.y+A.z*B.z) / ((length A)*(length B))). ang is w part of quat. Now simply convert quat to eulerangles using "as eulerangles". I think it should work but never tried that.

07 July 2004, 10:45 PM
Look up "Dot Product" in the MS reference manual.

08 August 2004, 09:30 AM
There is actually only one angle between two vectors (in relation to eachother). You can get that value like this:

ang = acos (dot vec1 vec2)

Note that the vectors must be normalized.

To get the angle of a vector in worldspace you're gonna hafta use some trig.

CGTalk Moderation
01 January 2006, 09:00 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.