罗德里格斯旋转公式证明

罗德里格斯旋转公式证明。

设旋转向量为\((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\)的起点为坐标原点。

image

\(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

posted @ 2024-06-01 11:41  Ladisson-blog  阅读(242)  评论(0)    收藏  举报