四元数旋转公式的证明

四元数旋转公式的证明

对于左手坐标系,顺时针旋转有:

V= Q*Vq*Q*;

其中Vq为旋转后的四元数。假设旋转轴单位向量为q,要旋转的向量为v.旋转角度为θ,则四元素有:

V=0+v=v;

Q=cos(θ/2)+sin(θ/2)q;

Q*= cos(θ/2)-sin(θ/2)q;

带入上面公式有:

Vq=(cos(θ/2)+sin(θ/2)q)*(0+v)*(cos(θ/2)-sin(θ/2)q)

根据四元数乘法公式:

则有:

Vq =((cos(θ/2)*0- sin(θ/2)qv)+(sin(θ/2)q*0+ cos(θ/2)*V+ sin(θ/2)q×v))*(cos(θ/2)-sin(θ/2)q)

   =(- sin(θ/2)qv+ cos(θ/2)V+ sin(θ/2)q×v))*(cos(θ/2)-sin(θ/2)q)

这里qv是向量点乘,q×v是向量叉乘,所以有

Vq=(- sin(θ/2)qv +cos(θ/2)V+ sin(θ/2)q×v)*(cos(θ/2)-sin(θ/2)q)

   = - sin(θ/2)qv * cos(θ/2)+cos(θ/2)v+ sin(θ/2)q×vsin(θ/2)q+(sin2(θ/2)qvq + cos(θ/2)*(cos(θ/2)v + sin(θ/2)q×v)-(cos(θ/2) v + sin(θ/2)q×v)×sin(θ/2)q)

= (-sin(θ/2) cos(θ/2)qv+ sin(θ/2) cos(θ/2)qv+ sin(θ/2) q×v.q)+(sin2(θ/2)qvq+cos2(θ/2)v+ sin(θ/2) cos(θ/2)q×v- sin(θ/2) cos(θ/2)v×q- sin2(θ/2)q×v×q)

= sin2(θ/2)qvq+ cos2(θ/2)v+ 2sin(θ/2) cos(θ/2)q×v - sin2(θ/2)q×v×q

= sin2(θ/2) (qvq- q×v×q-v)+v + sinθq×v;

由于

四元数旋转公式的证明_第1张图片

由v可以分解为平行于q和垂直于q的两个向量v1和v2,qvq其实就是v1,以为qv的几何意义是表示v在q上投影的长度,所以再乘以单位向量q即为方向与q相同,大小为v在q上投影的长度,所以该向量为v1.而q×v×q其实是等于v2,由于q×v都垂直q,v,通过上图可知。

所以上面等式变为

= sin2(θ/2)(v1-v2-v)+v + sinθq×v

= -2sin2(θ/2)v2+v + sinθq×v

=-v2+v+cosθv2+ sinθq×v=v1+ cosθv2+ sinθq×v

cosθv2+ sinθq×v其实等于旋转后v对于q的垂直分量,而它的平行分量和v的平行分量相同都是v1所以v1+ cosθv2+ sinθq×v是等于旋转后的向量v

你可能感兴趣的:(qq)