罗德里格斯旋转公式证明。
设旋转向量为(n,θ),设其对应的旋转矩阵为R,
如何证明?
R=cosθI+n∧sinθ+(1−cosθ)nnT
证明过程如下:
如图所示,设旋转向量为^A,记为n,设三维中的点r绕n旋转θ后得到r′,其中n为单位方向向量,向量n的起点为坐标原点。

r3为r在n上的投影,则
r3=(r⋅n)n(1)
r1为r减去r在n上面的分量r3,则
r1=r−r3(2)
r2为n与r1的叉乘结果向量,则
r2=n×r1(3)
因此,r1,r2,r3构成了两两垂直的坐标系,但是模长不等于1,r1与r2模长相等。
由上图所示,r′在r1和r2所在的平面上的投影为r′−r3,则将其用r1和r2表示有
r′−r3=r1cosθ+r2sinθ
则,
r′=r1cosθ+r2sinθ+r3(4)
综上所述,将(1)(2)(3)代入(4)式,则
r′=(r−r3)cosθ+(n×r1)sinθ+r3=rcosθ+(n×r1)sinθ+(1−cosθ)r3=rcosθ+(n×(r−r3))sinθ+(1−cosθ)r3=rcosθ+(n×r−n×r3)sinθ+(1−cosθ)r3 (由于n×r3=0)=rcosθ+n×rsinθ+(1−cosθ)r3=rcosθ+n∧sinθ⋅r+(1−cosθ)(r⋅n)n=Icosθ⋅r+n∧sinθ⋅r+(1−cosθ)nnT⋅r(5)
设旋转矩阵为R,则r′=R⋅r,由公式(5)可知
R=Icosθ+n∧sinθ+(1−cosθ)nnT
证明完毕。
参考链接:
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~