浏览代码

Optimized

You're right. If the normalized quaternions are in a variable or something for normal uses it's just a waste to force the change hidden inside again.
irei1as 9 年之前
父节点
当前提交
39613c0d87
共有 1 个文件被更改,包括 2 次插入6 次删除
  1. 2 6
      Engine/source/math/mQuat.h

+ 2 - 6
Engine/source/math/mQuat.h

@@ -227,12 +227,8 @@ inline F32 QuatF::dot( const QuatF &q ) const
 
 inline F32 QuatF::angleBetween( const QuatF & q )
 {
-   // angle between two quaternions
-   QuatF base(x,y,z,w);
-   base.normalize();
-   QuatF q_norm=q;
-   q_norm.normalize();
-   return 2.0f*mAcos(base.dot(q_norm));
+   // angle between two quaternions.
+   return mAcos(q.dot(*this)) * 2.0f;
 }
 
 #endif // _MQUAT_H_