给定一个四元数值,我想在一组四元数中找到它的最近邻居。为此,我显然需要一种方法来比较两个四元数之间的“距离”。这种比较需要什么距离表示以及如何计算?
Thanks,
Josh
这是一个老问题,但似乎需要更多答案。如果四元数是用于表示旋转的单位长度四元数,则欧几里得距离将给出一些有趣的结果,因为四元数提供了旋转空间的 2x 冗余表示;即,四元数及其负数代表相同的方向。在这种情况下,正确的距离度量是四元数之间的角度,限制在[0,pi/2]
:
theta = acos(q1.w*q2.w + q1.x*q2.x + q1.y*q2.y + q1.z*q2.z);
if (theta>pi/2) theta = pi - theta;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)