View Full Version : Rotator question
2COOL4-U
18th Nov 2001, 07:13 AM
I have two vectors and I want to get the angle between those two vectors
Anyone got an idea on how to do this?
Mychaeel
18th Nov 2001, 07:58 AM
Given UnrealScript's lack of a decent atan2 function, here's my suggestion:
static final operator(16) float angle (vector v1, vector v2) {
local float DotProduct;
DotProduct = v1 dot v2;
if (DotProduct == 0.0)
return Pi / 2;
else if (DotProduct > 0.0)
return Abs(Atan(VSize(v1 cross v2) / DotProduct));
else
return Abs(Atan(VSize(v1 cross v2) / DotProduct)) + Pi / 2;
}
Use it as MyVector1 angle MyVector2. Returns values between zero and Pi.
2COOL4-U
18th Nov 2001, 09:57 AM
so PI = 360, and 0 = 0 degrees?
Mychaeel
18th Nov 2001, 10:02 AM
No. 0 is 0° (both vectors pointing in the same direction), and Pi is 180° (both vectors pointing in opposite directions). Anything between 180° and 360° doesn't make sense if you're asking for an angle between vectors; 270° in one direction is the same as 90° in the opposite direction, for instance.
Otherwise, have a look at this related thread (http://forums.beyondunreal.com/showthread.php?s=&threadid=92897).
vBulletin® v3.8.7, Copyright ©2000-2013, vBulletin Solutions, Inc.