From 70ed52dd5d972a33268b603930ffbb9e1338da24 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Tue, 27 Jul 2021 23:30:08 +0200 Subject: [PATCH] REVIEWED: QuaternionFromAxisAngle() #1892 --- src/raymath.h | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/raymath.h b/src/raymath.h index ea888cf01..13cb5e175 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -1422,20 +1422,21 @@ RMDEF Quaternion QuaternionFromAxisAngle(Vector3 axis, float angle) Quaternion result = { 0.0f, 0.0f, 0.0f, 1.0f }; if (Vector3Length(axis) != 0.0f) + { + angle *= 0.5f; - angle *= 0.5f; + axis = Vector3Normalize(axis); - axis = Vector3Normalize(axis); + float sinres = sinf(angle); + float cosres = cosf(angle); - float sinres = sinf(angle); - float cosres = cosf(angle); + result.x = axis.x*sinres; + result.y = axis.y*sinres; + result.z = axis.z*sinres; + result.w = cosres; - result.x = axis.x*sinres; - result.y = axis.y*sinres; - result.z = axis.z*sinres; - result.w = cosres; - - result = QuaternionNormalize(result); + result = QuaternionNormalize(result); + } return result; }