四元数之间的Ogre差

Ogre difference between quaternion

本文关键字:Ogre 之间 四元数      更新时间:2023-10-16

我在食人魔中使用四元数
我得到的每一帧:

 Ogre::Quaternion prev;
 bool frameStarted(const Ogre::FrameEvent& event) {
   const Ogre::Quaternion q = object->getOrientation();
   if(abs(q.x - prev.x) > ...) {
      /* do something */
      prev = q;
   }
 }

如何检查时间T+1的X旋转是否比时间T的X旋转小180°?

我真的不明白你想对四元数的x成员做什么。如果要比较不同旋转轴的x坐标,请执行以下操作。

然而,如果我答对了,你正在寻找围绕x轴的旋转角度的差异。在这种情况下http://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles解释了如何将四元数转换为欧拉角,从而为您提供围绕每个规范基向量(X、Y和Z)的旋转角度。然后,它相当于比较欧拉角(请记住,它们将以弧度为单位,所以使用pi而不是180)。