REVIEWED: Vector2Angle()

This commit is contained in:
Ray
2023-07-04 16:58:43 +02:00
parent dd2d64e058
commit 225b4fb3e2
2 changed files with 4 additions and 12 deletions

View File

@@ -316,15 +316,9 @@ RMAPI float Vector2Angle(Vector2 v1, Vector2 v2)
{
float result = 0.0f;
float dot = v1.x*v2.x + v1.y*v2.y; // Dot product
float dotClamp = (dot < -1.0f)? -1.0f : dot; // Clamp
if (dotClamp > 1.0f) dotClamp = 1.0f;
result = acosf(dotClamp);
// Alternative implementation, more costly
//float v1Length = sqrtf((v1.x*v1.x) + (v1.y*v1.y));
//float v2Length = sqrtf((v2.x*v2.x) + (v2.y*v2.y));
//result = -acosf((v1.x*v2.x + v1.y*v2.y)/(v1Length*v2Length));
float dot = v1.x*v2.x + v1.y*v2.y;
float det = v1.x*v2.y - v1.y*v2.x;
result = -atan2f(det, dot);
return result;
}