600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 【数学基础】刚体绕定轴选旋转矩阵推导(罗德里格斯公式)

【数学基础】刚体绕定轴选旋转矩阵推导(罗德里格斯公式)

时间:2024-04-24 23:44:19

相关推荐

【数学基础】刚体绕定轴选旋转矩阵推导(罗德里格斯公式)

参考资料

wiki百科罗德里格斯旋转公式;世界第一本具有完全交互式图形的线性代数书;opencv相关函数

有同学提了一个问题:下面这个公式是怎么推导出来的?

首先介绍旋转矩阵集合的概念:

SO(n)={R∈Rn×n∣RRT,det(R)=1}\text{SO(n)}=\{R\in\mathbb{R}^{n×n}|RR^T,\text{det}(R)=1\}SO(n)={R∈Rn×n∣RRT,det(R)=1}

SO(n)\text{SO(n)}SO(n)表示特殊正交群(Special Orthogonal Group),SO(3)\text{SO(3)}SO(3)表示三维空间旋转矩阵。定义k\pmb{\text{k}}kkk是一个单位方向向量,v\pmb{\text{v}}vvv表示一个在三维实数空间R3\mathbb{R}^3R3的一个方向向量,v\pmb{\text{v}}vvv绕着k\pmb{\text{k}}kkk转了θ\text{θ}θ角度,用罗德里格斯公式表达旋转之后的向量vrot\pmb{\text{v}_{\text{rot}}}vrot​​vrot​​​vrot​,表示为:

vrot=vcos(θ)+(k×v)sin(θ)+k(k⋅v)(1−cos(θ))\pmb{\text{v}_{\text{rot}}}=\pmb{\text{v}}\text{cos}(θ)+(\pmb{\text{k}}×\pmb{\text{v}})\text{sin}(θ)+\pmb{\text{k}}(\pmb{\text{k}}·\pmb{\text{v}})(1-\text{cos}(θ)) vrot​​vrot​​​vrot​=vvvcos(θ)+(kkk×vvv)sin(θ)+kkk(kkk⋅vvv)(1−cos(θ))

上面的公式可以表示成三个元素加和的形式,我觉得光看下面两张图已经可以想明白是如何计算出结果的了,佩服大神的解算方法,甚是玄妙。

罗德里格斯公式表示的是如何通过定角度将原始空间矢量旋转后的矢量值表达出来,下一步就是如何转换成旋转矩阵R\pmb{\text{R}}RRR,遵循下列公式:

如果想自己在三维空间进一步验证,我还画了一个3维图,如下图所示:

感兴趣的朋友可以加入星球下载源文件自己深入验证研究:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。