两个四元数之间的“距离”(或角度大小)?

时间:2014-04-24 06:00:04

标签: rotation distance quaternions

我想找到两个四元数之间的“距离”。 “距离”是指单个浮点数或整数,而不是另一个四元数(即差异,即inverse(q1)*q2)。我猜你可以打电话给我想要的“角度大小”。

我需要对物理对象施加更大的扭矩,使其从原始角度进一步旋转。

我不理解四元数中涉及的数学,因此基于代码的示例将是最有帮助的。我已经看了几个其他的问题,但我不相信任何回答我的问题,或者至少不是我理解的方式。

2 个答案:

答案 0 :(得分:3)

求出差值四元数qd = inverse(q1)* q2)。

比通过angle = 2 * atan2(qd.vec()。length(),qd.w())找到q1和q2之间的角度//注意:签名

此处的“角度”是最短弧度从q1到q2的旋转角度。

答案 1 :(得分:0)

您还可以从pyquaternion使用此lib函数。 Quaternion.absolute_distance(q0, q1)