给定一个四元数q和形成坐标轴的三个3D矢量(vx,vy,vz),这些坐标轴可以在任意方向上定向,但都是相互垂直的,从而形成3d空间。
如何检查四元数Q是否旋转到与某些3D矢量(vx,vy,vz)相同的方向(或相反方向)?
发布于 2010-08-20 02:08:30
如果q= (w,x,y,z),其中w是“标量部分”,qv=(x,y,z)是“向量部分”,那么您可以使用点积来计算qv和每个基向量vx,vy,vz之间的角度。
cos(theta) = (qv点vx) /( |qv| * |vx|)
如果cos(θ)为+1,则Q的旋转轴平行于该基向量。
cos(theta) = -1意味着它们是反平行的。
https://stackoverflow.com/questions/3524433
复制相似问题