Math 四元数与三轴
给定一个四元数q和三个形成坐标轴的三维向量(vx、vy、vz),坐标轴可以朝向任意方向,但都相互垂直,从而形成一个三维空间 如何检查四元数q是否旋转到与某些3D向量(vx,vy,vz)相同的方向(或相反的方向)?如果q=(w,x,y,z),其中w是“标量部分”,qv=(x,y,z)是“向量部分”, 然后可以计算qv和每个基向量vx,vy,vz之间的角度 使用点积 cos(θ)=(qv点vx)/(| qv |*| vx |) 如果cos(θ)为+1,则q的旋转轴平行于该基向量Math 四元数与三轴,math,computational-geometry,quaternions,Math,Computational Geometry,Quaternions,给定一个四元数q和三个形成坐标轴的三维向量(vx、vy、vz),坐标轴可以朝向任意方向,但都相互垂直,从而形成一个三维空间 如何检查四元数q是否旋转到与某些3D向量(vx,vy,vz)相同的方向(或相反的方向)?如果q=(w,x,y,z),其中w是“标量部分”,qv=(x,y,z)是“向量部分”, 然后可以计算qv和每个基向量vx,vy,vz之间的角度 使用点积 cos(θ)=(qv点vx)/(| qv |*| vx |) 如果cos(θ)为+1,则q的旋转轴平行于该基向量 cos(θ)=-1表
cos(θ)=-1表示它们是反平行的。Hmm。。。这完全忽略了四元数的“w”分量。这是对的吗?@qutern:没错……我希望我没有误解你的问题!如果将q规格化为单位四元数,则w=cos(alpha/2)给出旋转角度alpha,(x,y,z)是位于旋转轴上的向量。我想你问的是如何确定旋转轴(x,y,z)是否平行于一个基向量vx,vy,vz。如果是,则该计算不需要w。