四元数和三轴

时间:2010-08-19 17:24:39

标签: math computational-geometry quaternions

给定一个四元数q和三个形成坐标轴的三维矢量(vx,vy,vz),它们可以在任意方向上定向,但都是相互垂直的,从而形成一个三维空间。

如何检查四元数q是否旋转到与某些3D矢量(vx,vy,vz)相同的方向(或相反方向)?

1 个答案:

答案 0 :(得分:3)

如果q =(w,x,y,z),其中w是“标量部分”,而qv =(x,y,z)是“矢量部分”, 然后你可以计算qv和每个基矢量vx,vy,vz之间的角度 使用点积。

cos(theta)=(qv dot vx)/(| qv | * | vx |)

如果cos(theta)为+1,则q的旋转轴与该基矢量平行。

cos(theta)= -1意味着它们是反平行的。