浏览代码

REVIEWED: QuaternionFromAxisAngle() #1892

raysan5 4 年之前
父节点
当前提交
70ed52dd5d
共有 1 个文件被更改,包括 11 次插入10 次删除
  1. 11 10
      src/raymath.h

+ 11 - 10
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;
 }