罗德里格斯旋转公式证明。
设旋转向量为\((n, \theta)\),设其对应的旋转矩阵为\(R\),
如何证明?
\[R=cos\theta I + n^{\wedge}sin\theta+(1-cos\theta)nn^{T} \]证明过程如下:
如图所示,设旋转向量为\(\hat{A}\),记为\(n\),设三维中的点\(r\)绕\(n\)旋转\(\theta\)后得到\(r^{'}\),其中\(n\)为单位方向向量,向量\(n\)的起点为坐标原点。
\(r_3\)为r在\(n\)上的投影,则
\[r_3=(r\cdot n)n \tag{1} \]\(r_1\)为r减去r在\(n\)上面的分量\(r_3\),则
\[r_1=r-r_3 \tag{2} \]\(r_2\)为\(n\)与\(r_1\)的叉乘结果向量,则
\[r_2 = n\times r_1 \tag{3} \]因此,\(r_1,r_2,r_3\)构成了两两垂直的坐标系,但是模长不等于1,\(r_1\)与\(r_2\)模长相等。
由上图所示,\(r^{'}\)在\(r_1和r_2\)所在的平面上的投影为\(r^{'}-r_3\),则将其用\(r_1和r_2\)表示有
\[r^{'}-r_3=r_1cos\theta+r_2sin\theta \]则,
\[r^{'}=r_1cos\theta+r_2sin\theta+r_3 \tag{4} \]综上所述,将(1)(2)(3)代入(4)式,则
\[\begin{aligned} r^{'} &=(r-r_3)cos\theta+(n\times r_1) sin\theta+r_3 \\ &=rcos\theta+(n\times r_1)sin\theta+(1-cos\theta)r_3 \\ &=rcos\theta+(n\times(r-r_3))sin\theta+(1-cos\theta)r_3 \\ &=rcos\theta+(n\times r-n\times r_3)sin\theta+(1-cos\theta)r_3 \space \space(由于n\times r_3 =0)\\ &=rcos\theta+n\times r sin\theta+(1-cos\theta)r_3 \\ &=rcos\theta+n^{\wedge}sin\theta \cdot r+(1-cos\theta)(r\cdot n)n \\ &=Icos\theta\cdot r+n^{\wedge}sin\theta\cdot r+(1-cos\theta) nn^{T}\cdot r \end{aligned} \tag{5} \]设旋转矩阵为R,则\(r^{'}=R\cdot r\),由公式(5)可知
\[R=Icos\theta+n^{\wedge}sin\theta+(1-cos\theta)nn^{T} \]证明完毕。
参考链接:
1、https://wuli.wiki/online/RotA.html
2、https://en.wikipedia.org/wiki/Rodrigues'_rotation_formula
3、https://sites.cs.ucsb.edu/~lingqi/teaching/resources/GAMES101_Lecture_04_supp.pdf
标签:cos,cdot,公式,旋转,tag,theta,times,罗德里格斯,sin From: https://www.cnblogs.com/LadissonLai/p/18225787