证明罗德里格斯公式和四元数旋转等效

证明旋转矩阵是正交矩阵。

答:首选明白旋转矩阵如何定义。旋转矩阵是描述同一个点在不同基坐标系下的坐标变换,两个坐标系统的基分别是[e1,e2,e3], [e1',e2',e3']。空间中一点P在两个基下的坐标分别是[x; y; z]、[x'; y'; z'];

那么坐标的变换关系是:[e1, e2, e3]*[x; y; z] = [e1',e2',e3'] * [x'; y'; z']; 所以[x; y; z] = [e1, e2, e3]T * [e1',e2',e3']  * [x'; y'; z'];由此旋转矩阵为R = [e1, e2, e3]T * [e1',e2',e3'];

正交矩阵是指AT*A = E。只要旋转矩阵满足RT*R=E就可以证明。RT*R= [e1',e2',e3']T * [e1, e2, e3] * [e1, e2, e3]T * [e1',e2',e3'] = E 根据矩阵的结合率,很明显上式成立,所以旋转矩阵是一个正交矩阵。

证明罗德里格斯公式。

答:罗德里格斯公式描述了:旋转矩阵和旋转向里之间的关系。变换的结果是:

R =  I + (1 -  ) n nT +  n^.

这里旋转矩阵是R;旋转向量是n, 角度表示旋转角度,n表示旋转轴的当位向量。

这里的证明思路是,在图上画一个三维向量p, 确立一个旋转轴n, 和一个旋转角度,经过旋转之后三维向量p变为旋转向量prot, 这时两个向量之间的关系可以写成prot = R p。所以只要找到prot和p之间的关系就可以了。找关系的思路是,把prot在垂直和水平方向上进行分解,水平方向上再进行分解成(p-(p.n)n) cos   +pn. sin . 垂直方向上分解成:(p.n)n。于是可以写出prot = (p.n)n + (p-(p.n)n) cos +pn sin。根据点乘的交换率可以(p.n)n= n(p.n)= n(nT.p)= n.nT.p.

所以prot = [(1-cos) n.nT+cos + sin  . n^ ] p.

于是,可以证明R = cos  I + (1-cos )n.nT + sin .n^。(其中n^表示叉乘的反对称矩阵)


验证四元数旋转某个点之后,结果是一个虚四元数(实部为零),所以仍然对应到一个三维空间点。即证明下面的式子:p' = qp.invert(q)。其中p是一个三维空间点用实部为零的四元数来表示p = [0, x, y, z]。用q表示旋转:q = [cos(/2),  ]。

答:

你可能感兴趣的:(证明罗德里格斯公式和四元数旋转等效)