浏览代码

[raymath] Hotfix for Vector2Angle() and Vector2LineAngle() (#3396)

* Hotfix for Vector2LineAngle(), should probably be reviewed along with the rest of raylib angle functions to determine what coordinate system we want.

* Hotfix for Vector2LineAngle(), should probably be reviewed along with the rest of raylib angle functions to determine what coordinate system we want.

* [raymath] Hotfix for Vector2Angle and corresponding example

* [raymath] Hotfix for Vector2Angle and corresponding example

---------

Co-authored-by: Ray <raysan5@gmail.com>
pull/3399/head
Murlocohol 1年前
committed by GitHub
父节点
当前提交
9702a17152
找不到此签名对应的密钥 GPG 密钥 ID: 4AEE18F83AFDEB23
共有 2 个文件被更改,包括 6 次插入7 次删除
  1. +5
    -5
      examples/others/raymath_vector_angle.c
  2. +1
    -2
      src/raymath.h

+ 5
- 5
examples/others/raymath_vector_angle.c 查看文件

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

+ 1
- 2
src/raymath.h 查看文件

@ -324,8 +324,7 @@ RMAPI float Vector2Angle(Vector2 v1, Vector2 v2)
float dot = v1.x*v2.x + v1.y*v2.y;
float det = v1.x*v2.y - v1.y*v2.x;
// TODO(10/9/2023): Currently angles move clockwise, determine if this is wanted behavior
result = -atan2f(det, dot);
result = atan2f(det, dot);
return result;
}

正在加载...
取消
保存