View Full Version : How to find the angle betwen two vectors
fabman 07302004, 09: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.


lechoo
07302004, 11:02 PM
Hi,
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.
gdimmrt
07302004, 11:45 PM
Look up "Dot Product" in the MS reference manual.
Wahooney
08022004, 10: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
01182006, 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.
vBulletin v3.0.5, Copyright ©20002014, Jelsoft Enterprises Ltd.