我想找到两个四元数之间的“距离”。 “距离”是指单个浮点数或整数,而不是另一个四元数(即差异,即inverse(q1)*q2
)。我猜你可以打电话给我想要的“角度大小”。
我需要对物理对象施加更大的扭矩,使其从原始角度进一步旋转。
我不理解四元数中涉及的数学,因此基于代码的示例将是最有帮助的。我已经看了几个其他的问题,但我不相信任何回答我的问题,或者至少不是我理解的方式。
答案 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)