4

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

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

4

1 回答 1

3

如果 q = (w,x,y,z),其中 w 是“标量部分”,qv=(x,y,z) 是“向量部分”,那么您可以计算 qv 与每个基向量 vx, vy, vz 使用点积。

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

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

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

于 2010-08-19T18:08:30.243 回答