[raymath] Hotfix for Vector2Angle and corresponding example

This commit is contained in:
Brett 2023-10-10 04:05:08 -04:00
parent e60a806519
commit 04f098c5f4
2 changed files with 19 additions and 1 deletions

View File

@ -44,7 +44,11 @@ int main(void)
//---------------------------------------------------------------------------------- //----------------------------------------------------------------------------------
float startangle; float startangle;
<<<<<<< HEAD
if (angleMode == 0) startangle = Vector2LineAngle(v0, v1)*RAD2DEG; if (angleMode == 0) startangle = Vector2LineAngle(v0, v1)*RAD2DEG;
=======
if (angleMode == 0) startangle = -Vector2LineAngle(v0, v1)*RAD2DEG;
>>>>>>> b5edafafe17c950722d4c5fd6c705f6aff74a65f
if (angleMode == 1) startangle = 0.0f; if (angleMode == 1) startangle = 0.0f;
v2 = GetMousePosition(); v2 = GetMousePosition();
@ -82,7 +86,11 @@ int main(void)
DrawLineEx(v0, v1, 2.0f, BLACK); DrawLineEx(v0, v1, 2.0f, BLACK);
DrawLineEx(v0, v2, 2.0f, RED); DrawLineEx(v0, v2, 2.0f, RED);
<<<<<<< HEAD
DrawCircleSector(v0, 40.0f, startangle, startangle + angle, 32, Fade(GREEN, 0.6f)); DrawCircleSector(v0, 40.0f, startangle, startangle + angle, 32, Fade(GREEN, 0.6f));
=======
DrawCircleSector(v0, 40.0f, startangle, startangle - angle, 32, Fade(GREEN, 0.6f));
>>>>>>> b5edafafe17c950722d4c5fd6c705f6aff74a65f
} }
else if (angleMode == 1) else if (angleMode == 1)
{ {
@ -91,7 +99,11 @@ int main(void)
DrawLine(0, screenHeight/2, screenWidth, screenHeight/2, LIGHTGRAY); DrawLine(0, screenHeight/2, screenWidth, screenHeight/2, LIGHTGRAY);
DrawLineEx(v0, v2, 2.0f, RED); DrawLineEx(v0, v2, 2.0f, RED);
<<<<<<< HEAD
DrawCircleSector(v0, 40.0f, startangle, startangle + angle, 32, Fade(GREEN, 0.6f)); DrawCircleSector(v0, 40.0f, startangle, startangle + angle, 32, Fade(GREEN, 0.6f));
=======
DrawCircleSector(v0, 40.0f, startangle, startangle - angle, 32, Fade(GREEN, 0.6f));
>>>>>>> b5edafafe17c950722d4c5fd6c705f6aff74a65f
} }
DrawText("v0", v0.x, v0.y, 10, DARKGRAY); DrawText("v0", v0.x, v0.y, 10, DARKGRAY);

View File

@ -324,7 +324,12 @@ RMAPI float Vector2Angle(Vector2 v1, Vector2 v2)
float dot = v1.x*v2.x + v1.y*v2.y; float dot = v1.x*v2.x + v1.y*v2.y;
float det = v1.x*v2.y - v1.y*v2.x; float det = v1.x*v2.y - v1.y*v2.x;
<<<<<<< HEAD
result = atan2f(det, dot); result = atan2f(det, dot);
=======
// TODO(10/9/2023): Currently angles move clockwise, determine if this is wanted behavior
result = -atan2f(det, dot);
>>>>>>> b5edafafe17c950722d4c5fd6c705f6aff74a65f
return result; return result;
} }
@ -336,7 +341,8 @@ RMAPI float Vector2LineAngle(Vector2 start, Vector2 end)
{ {
float result = 0.0f; float result = 0.0f;
result = atan2f(end.y - start.y, end.x - start.x); // TODO(10/9/2023): Currently angles move clockwise, determine if this is wanted behavior
result = -atan2f(end.y - start.y, end.x - start.x);
return result; return result;
} }