我正在使用配备陀螺仪/加速度计/磁力计的运动跟踪设备。该设备在任何时间点将其旋转方向作为四元数输出。
当我从原始方向旋转设备时,我试图计算两件事:(1)球体表面与其原始方向的距离(我实际上已经完成了这一步),以及(2)方向方向 - 但方向需要是简单的 1 或 -1,而不是向量。
让我进一步解释一下关于方向的含义:假设设备以初始旋转状态开始,然后我将其沿一个方向旋转。在完成一定量的旋转后,我将它旋转回原来的位置,然后我继续沿着相同的轨迹旋转它——基本上是在与我原来的旋转方向相反的方向旋转它。
所以,如果我有一个原始四元数 Q0,然后我有另一个四元数代表我的第一次旋转 Q1,那么我想对任何未来的四元数Qn 说:
- Qn 到 Q0 的距离是多少?
- Qn 从 Q0 的方向是什么(有效值为 1 或 -1)?其中“1”是“与从 Q0 到 Q1 的旋转方向相同”,“-1”是“与从 Q0 到 Q1 的旋转方向相反”。
就像我说的,由于找到了这个有用的帖子,我已经解决了“距离”部分:https ://math.stackexchange.com/questions/90081/quaternion-distance?newreg=f0fcab1eca8d4a4faaad1ea555d1cdf7
我还没有解决方向部分。以下帖子使我成为了其中的一部分:
但我的理解仍然不完整。谁能帮助阐明我如何做到这一点?谢谢!