From 18c92b3104db7bb9899cb1d541109dbe4dec5ee8 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 27 Sep 2021 13:57:06 +0200 Subject: [PATCH] ADDED: Vector3Angle() --- src/raymath.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/raymath.h b/src/raymath.h index 43e81135e..79fd5480b 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -470,6 +470,21 @@ RMDEF float Vector3Distance(Vector3 v1, Vector3 v2) return result; } +// Calculate angle between two vectors in XY and XZ +RMDEF Vector2 Vector3Angle(Vector3 v1, Vector3 v2) +{ + Vector2 result = { 0 }; + + float dx = v2.x - v1.x; + float dy = v2.y - v1.y; + float dz = v2.z - v1.z; + + result.x = atan2f(dx, dz); // Angle in XZ + result.y = atan2f(dy, sqrtf(dx*dx + dz*dz)); // Angle in XY + + return result; +} + // Negate provided vector (invert direction) RMDEF Vector3 Vector3Negate(Vector3 v) {