【发布时间】:2010-08-19 17:24:39
【问题描述】:
给定一个四元数q,三个3D向量(vx,vy,vz)组成坐标轴,可以任意方向定向,但都相互垂直,从而形成一个3d空间。
如何检查四元数 q 是否与某些 3D 向量(vx、vy、vz)旋转到相同方向(或相反方向)?
【问题讨论】:
标签: math computational-geometry quaternions
给定一个四元数q,三个3D向量(vx,vy,vz)组成坐标轴,可以任意方向定向,但都相互垂直,从而形成一个3d空间。
如何检查四元数 q 是否与某些 3D 向量(vx、vy、vz)旋转到相同方向(或相反方向)?
【问题讨论】:
标签: math computational-geometry quaternions
如果 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 表示它们是反平行的。
【讨论】: