首页 > 其他分享 >罗德里格斯旋转公式证明

罗德里格斯旋转公式证明

时间:2024-06-01 11:44:02浏览次数:24  
标签:cos cdot 公式 旋转 tag theta times 罗德里格斯 sin

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

设旋转向量为\((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

标签:cos,cdot,公式,旋转,tag,theta,times,罗德里格斯,sin
From: https://www.cnblogs.com/LadissonLai/p/18225787

相关文章

  • 信息学奥赛初赛天天练-17-阅读理解-浮点数精准输出与海伦公式的巧妙应用
    PDF文档公众号回复关键字:2024053112023CSP-J阅读程序1阅读程序(程序输入不超过数组成字符串定义的范围:判断题正确填√,错误填×;除特殊说明外,判断题1.5分,选择题3分,共计40分)源代码#include<iostream>#include<cmath>usingnamespacestd;doublef(doublea,double......
  • 《旋转的快速傅里叶变换》——2024.5.31
    $$\aleph$$——发疯记录(无题,不知道起什么好,用前几天看书看到的符号阿列夫表示了)我很久没发过阶段性总结类的博文了,对比去年来是少之又少。一是因为我觉得现在的日子比去年枯燥多了;二是其实我平时会写记录,但没有总的;三是上了高中以后几次语文考试我的作文成绩都很差,老师说我写的......
  • draw.io 输入数学公式
    首先我们要把数学排版功能打开:然后输入数学公式:AsciiMath公式由`包裹,如:`a2+b2=c^2`LaTeX公式由$$包裹,如:$$\sqrt{3×-1}+(1+x)^2$$行内LaTeX公式由\(和\)包裹,如:\(\sqrt{3×-1}+(1+x)^2\)获得渲染结果:参考:Usemathematicaltypesettingind......
  • 旋转矩阵00
    题目链接旋转矩阵题目描述注意点将图像旋转90度不占用额外内存空间解答思路需要找到将图像旋转90度的规律,为了不占用额外内存空间,可以先将图像上下翻转,然后再将图像沿着主对角线进行翻转,得到的就是旋转90度之后的图像代码classSolution{publicvoidro......
  • python-旋转字符串
    问题描述:给定一个字符串(以字符串数组的形式)和一个偏移量,根据偏移量从左到右地旋转字符数组。问题示例:输入str=”abcdefg”,offset=3,输出“efgabcd”。输入str=”abcdefg”,offset=0,输出“abcdefg”。(返回旋转后的字符串) 完整代码如下:a=list(input().split())n=int(inpu......
  • 高斯公式对高斯定理的推导
    目录前置定理基础证明过程参考资料这里主要讨论多元微分学中学到的高斯公式对于物理上的高斯定理的推导(目前是对于静电荷的高斯定理)。本身想连着Stokes公式一大堆一块写,但是考虑到工程量太大了,所以尝试分篇来写吧。前置定理基础标准的高斯公式的形式如下(推导略)\[\iiint_{\Omeg......
  • C# wpf之控制屏幕显示方向旋转
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Runtime.InteropServices;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows;usingSystem.Windows.Controls;usingSystem.Windows.Data;usingSystem.Windows.Documents......
  • 【C++】旋转字符串——精准与否,就是屠宰和手术的区别
    ✨题目链接:NC114旋转字符串✨题目描述 字符串旋转:给定两字符串A和B,如果能将A从中间某个位置分割为左右两部分字符串(可以为空串),并将左边的字符串移动到右边字符串后面组成新的字符串可以变为字符串B时返回true。例如:如果A=‘youzan’,B=‘zanyou’,A按‘you’‘zan’......
  • 推导2维镜像变换(Reflection Transform)的公式
    我们知道2维的旋转变换公式为Q=(......
  • 个人原创自定义计算公式组件可继续扩展
    <template><div><el-row><el-col:span="24"><el-container><el-main><el-card><div><el-button......