四元数与轴+角度

时间:2012-02-23 16:40:50

标签: axis angle quaternions

我一直试图找到2之间的区别,但没有运气减去这个

  

之间的主要差异   两个表示是四元数的旋转轴被缩放   通过半角旋转的正弦,而不是存储角度   矢量的第四个分量,我们存储半角的余弦。

我不知道是什么

  

半旋转角的正弦

  

半角的余弦

装置?

2 个答案:

答案 0 :(得分:12)

Quaternios和Axis-angle都是3D旋转/方向的4D表示,两者都有利弊。

轴角:表示旋转角度 a 和旋转轴 n 。例如,围绕Y轴旋转180度将表示为 a = 180, n = {0,1,0}。表示非常直观,但是对于实际应用旋转,需要另一种表示,例如四元数或旋转矩阵。

四元数:表示4D向量的旋转。需要更多的数学并且不太直观,但是它是一种更强大的表示。四元数很容易插值(混合),并且很容易将它们应用于3D点。这些公式可以很容易地在网上找到。给定 a 弧度关于标准化轴 n 的旋转,四元数4D向量将为{cos a / 2,(sin a / 2)n_x,(sin a / 2)n_y,(sin a / 2)n_z}。这就是半角的正弦和余弦来自的地方。

答案 1 :(得分:4)

这意味着,例如,如果您想围绕Z轴(0,0,1)进行180度旋转,则四元数的实部将为cos(180deg/2)=0,其虚部将为{ {1}}。那是sin(180deg/2)*(0,0,1)=(0,0,1)。 90度旋转将为您提供q=0+0i+0j+1k,依此类推。

OTOH,如果你问的是什么是正弦和余弦,请检查你的语言是否提供q=cos(90deg/2)+sin(90deg/2)*(0i+0j+1k)=sqrt(2)/2+0i+0j+sqrt(2)/2*ksin()函数(但它们的参数可能是弧度),并查看{{ 3}}