我一直试图找到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*k
和sin()
函数(但它们的参数可能是弧度),并查看{{ 3}}