\qquad 三维空间中的某一矢量 r r r绕另一单位矢量 u u u转动 ϕ ( 设 ϕ ≥ 0 ) \phi(设\phi\ge0) ϕ(设ϕ≥0)角度,得到矢量 r ′ r' r′,下图为转动前后两矢量 r r r与 r ′ r' r′之间的几何关系。
\qquad 假设矢量 r r r与 r ′ r' r′具有共同的起点 O O O,且 r r r的矢量端点 A A A在 u u u方向上的投影为 O ′ O' O′。若以 O ′ O' O′为圆心, O ′ A O'A O′A为半径做圆,则 r ′ r' r′的矢量端点 A ′ A' A′也在该圆周上。在圆上取一点 B B B使得 O ′ B ⊥ O ′ A O'B\perp O'A O′B⊥O′A,则有: O ′ B → = u × r (1) \overrightarrow{O'B}=u\times r \tag{1} O′B =u×r(1) O O ′ → = ( r ⋅ u ) u (2) \overrightarrow{OO'}=(r\cdot u)u \tag{2} OO′ =(r⋅u)u(2) O ′ A → = O A → − O O ′ → = r − ( r ⋅ u ) u (3) \overrightarrow{O'A}= \overrightarrow{OA}-\overrightarrow{OO'}=r-(r\cdot u)u\tag{3} O′A =OA −OO′ =r−(r⋅u)u(3) \qquad 转动前的矢量 r r r相对于单位矢量 u u u可分解为平行于 u u u的分量 r ∥ r_{\parallel} r∥​和垂直于单位矢量 u u u的分量 r ⊥ r_{\perp} r⊥​,如下: r = O A → = O O ′ → + O ′ A → = r ∥ + r ⊥ (4) r=\overrightarrow{OA}=\overrightarrow{OO'}+\overrightarrow{O'A}=r_{\parallel}+r_{\perp} \tag{4} r=OA =OO′ +O′A =r∥​+r⊥​(4) \qquad 其中 r ∥ = O O ′ → = ( r ⋅ u ) u (5) r_{\parallel}=\overrightarrow{OO'}=(r\cdot u)u \tag{5} r∥​=OO′ =(r⋅u)u(5) r ⊥ = O ′ A → = O ′ B → × u = r − ( r ⋅ u ) u = ( u × r ) × u (6) r_{\perp}=\overrightarrow{O'A}=\overrightarrow{O'B}\times u =r-(r\cdot u)u=(u \times r)\times u\tag{6} r⊥​=O′A =O′B ×u=r−(r⋅u)u=(u×r)×u(6) \qquad 转动后的矢量 r ′ r' r′相对于单位矢量 u u u可分解为平行于 u u u的分量 r ∥ ′ r'_{\parallel} r∥′​和垂直于单位矢量 u u u的分量 r ⊥ ′ r'_{\perp} r⊥′​,有: r ′ = O O ′ → + O ′ A → 即 r ′ = r ∥ ′ + r ⊥ ′ (7) r'= \overrightarrow{OO'}+\overrightarrow{O'A}\ 即 r'=r'_{\parallel}+r'_{\perp}\tag{7} r′=OO′ +O′A  即r′=r∥′​+r⊥′​(7) \qquad 其中 r ∥ ′ = r ∥ (8) r'_{\parallel}=r_{\parallel}\tag{8} r∥′​=r∥​(8) r ⊥ ′ = O ′ A → c o s ϕ + O ′ B → s i n ϕ (9) r'_{\perp}= \overrightarrow{O'A}cos\phi+\overrightarrow{O'B}sin\phi \tag{9} r⊥′​=O′A cosϕ+O′B sinϕ(9) \qquad 将式(3)和式(9)带入式(7)得: r ′ = O O ′ → + O ′ A → c o s ϕ + O ′ B → s i n ϕ = ( r ⋅ u ) u + ( r − ( r ⋅ u ) u ) c o s ϕ + u × r s i n ϕ = r c o s ϕ + ( 1 − c o s ϕ ) ( r ⋅ u ) u + u × r s i n ϕ = ( c o s ϕ + ( u × ) s i n ϕ ) r + ( 1 − c o s ϕ ) ( r ⋅ u ) u (10) \begin{aligned} r'&=\overrightarrow{OO'} +\overrightarrow{O'A}cos\phi+\overrightarrow{O'B}sin\phi \\&=(r\cdot u)u+(r-(r\cdot u)u)cos\phi+u \times rsin\phi \\&=rcos\phi+(1-cos\phi)(r\cdot u)u+u \times rsin\phi \\&=(cos\phi+(u\times)sin\phi)r+(1-cos\phi) (r\cdot u)u\end{aligned}\tag{10} r′​=OO′ +O′A cosϕ+O′B sinϕ=(r⋅u)u+(r−(r⋅u)u)cosϕ+u×rsinϕ=rcosϕ+(1−cosϕ)(r⋅u)u+u×rsinϕ=(cosϕ+(u×)sinϕ)r+(1−cosϕ)(r⋅u)u​(10) \qquad 已知三重矢量叉乘公式: V 1 × ( V 2 × V 3 ) = ( V 1 ⋅ V 3 ) V 2 − ( V 1 ⋅ V 2 ) V 3 (11) V_1\times (V_2\times V_3)=(V_1\cdot V_3)V_2-(V_1\cdot V_2)V_3 \tag{11} V1​×(V2​×V3​)=(V1​⋅V3​)V2​−(V1​⋅V2​)V3​(11) \qquad 设 V 1 = V 2 = u , V 3 = r V_1=V_2=u,V_3=r V1​=V2​=u,V3​=r,则有: ( r ⋅ u ) u = ( u ⋅ r ) u = u × ( u × r ) + ∣ u ∣ 2 r = [ ( u × ) 2 + I ] r (12) (r\cdot u)u=(u\cdot r)u=u\times(u \times r)+|u|^2r=[(u\times)^2+I]r \tag{12} (r⋅u)u=(u⋅r)u=u×(u×r)+∣u∣2r=[(u×)2+I]r(12) \qquad 将式(12)带入式(10)得: r ′ = ( c o s ϕ + ( u × ) s i n ϕ ) r + ( 1 − c o s ϕ ) ( r ⋅ u ) u = ( c o s ϕ + ( u × ) s i n ϕ ) r + ( 1 − c o s ϕ ) [ ( u × ) 2 + I ] r = [ I + ( u × ) s i n ϕ + ( 1 − c o s ϕ ) ( u × ) 2 ] r (13) \begin{aligned}r'&=(cos\phi+(u\times)sin\phi)r+(1-cos\phi) (r\cdot u)u \\ &=(cos\phi+(u\times)sin\phi)r+(1-cos\phi)[(u\times)^2+I]r \\&= [I+(u\times)sin\phi+(1-cos\phi)(u\times)^2]r \end{aligned} \tag{13} r′​=(cosϕ+(u×)sinϕ)r+(1−cosϕ)(r⋅u)u=(cosϕ+(u×)sinϕ)r+(1−cosϕ)[(u×)2+I]r=[I+(u×)sinϕ+(1−cosϕ)(u×)2]r​(13) \qquad 记 D = [ I + ( u × ) s i n ϕ + ( 1 − c o s ϕ ) ( u × ) 2 ] (14) D=[I+(u\times)sin\phi+(1-cos\phi)(u\times)^2] \tag{14} D=[I+(u×)sinϕ+(1−cosϕ)(u×)2](14) \qquad r ′ r' r′可写作 r ′ = D r (15) r'=Dr \tag{15} r′=Dr(15) \qquad 即罗德里格 ( R o d r i g u e s ) (Rodrigues) (Rodrigues)旋转公式,它建立了转动前后两个矢量 r r r与 r ′ r' r′之间的线性变换关系。有了罗德里格旋转公式我们可以利用一个单位矢量表示旋转方向,加上旋转角度即可描述空间中的刚体旋转。

参考文献
[1] 朱家海. 惯性导航[M]. 北京:国防工业出版社,2008.
[2] 严恭敏, 翁浚. 捷联惯导算法与组合导航原理[M]. 西安:西北工业大学出版社, 2020.

罗德里格旋转公式推导相关推荐

  1. 罗德里格旋转公式推导(自制)

  2. 罗德里格旋转和李群、李代数的指数映射的关系

    先来说一下罗德里格公式的作用:已知一向量,知道旋转轴和旋转角度,可求得旋转后的向量.简单地说,知道旋转轴和旋转角度,可以求得旋转矩阵. 接下来用图解方式,给出罗德里格旋转公式的证明(理解证明,对矩阵. ...

  3. 3D坐标绕轴旋转公式推导

    绕轴旋转实际上等价于平面点绕远点旋转,所以这里只用分析一下平面情况就可以. 问题转换为:平面上任意点(x,y)绕原点旋转R度后,新点坐标为多少? 一. 通常情况,我们容易想到一下的推导方式(我一开始想 ...

  4. 绕三轴旋转公式推导(三维旋转)

    其实绕轴旋转很简单,但是平常经常调用库直接使用,从来没有推导过绕轴旋转的公式原理,只有自己推到过一次,才会有所感悟.收获. 首先需要数学功底,以下推导只用到这两个三角函数公式 完整的三角函数公式链接: ...

  5. unity3d:Matrix4x4矩阵位移,缩放,旋转

    二维坐标轴旋转公式推导 https://www.cnblogs.com/fangsmile/p/8622421.html 设点M在原坐标系中的坐标为(x,y),对应向量的模为r,幅角为α.将坐标轴绕坐 ...

  6. webgl图形平移、缩放、旋转

    文章目录 前言 平移 图示 代码示例 缩放 图示 代码示例 旋转 公式推导 代码示例 总结 前言 在webgl中将图形进行平移.旋转.缩放的操作称为变换或仿射变换,图形的仿射变换涉及到顶点位置的修改, ...

  7. 张正友相机标定程序实现

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/hongbin_xu/article/details/78988450 前言 在前面的博客中( 三维重 ...

  8. OpenGL学习笔记:矩阵变换

    文章目录 缩放 glm矩阵表示 glm缩放矩阵实现 位移 齐次坐标 glm位移矩阵实现 旋转 沿x轴旋转 沿y轴旋转 沿z轴旋转 沿任意轴旋转 glm旋转矩阵实现 矩阵的组合 glm矩阵组合使用 接上 ...

  9. opencv c++实现棋盘格标定

    程序流程 准备好一系列用来相机标定的图片: 对每张图片提取角点信息: 由于角点信息不够精确,进一步提取亚像素角点信息: 在图片中画出提取出的角点: 相机标定: 对标定结果评价,计算误差: 使用标定结果 ...

最新文章

  1. python二十九:__name__
  2. RSA加密算法原理和java简单实现
  3. springboot读取json文件_SpringBoot:配置文件属性读取
  4. ubuntu php 树莓派,树莓派3 安装ROS环境(ubuntu mate 16.04+kinetic)
  5. centos7下安装oracle11gR2
  6. 在Java中将前导零添加到数字? [重复]
  7. 关于在平台中设置系统全局变量的使用和场景
  8. GARFIELD@03-23-2005
  9. SAP工具箱 多表导入程序
  10. 074-enable-right-click
  11. 数据挖掘 文本分类(四)批处理分词
  12. 自动化信任和依赖对航空安全的危害及其改进
  13. 上传图片报Invalid filename错误
  14. ORACLE中的KEEP()使用方法
  15. 简单了解Django应用app及分布式路由
  16. 计算机刚启动时的背景怎样改,通达信启动界面图片怎么改,怎么修改系统登陆时候欢迎界面的背景图片?...
  17. java字符串转16进制
  18. Linux下文件增删改查定位压缩操作与权限所属用户
  19. 苏州python培训价格
  20. Python 判断能否被整除

热门文章

  1. 工程师在创业团队的技术挑战
  2. 开发一个分销小程序需要多少钱?
  3. [Plant Simulation]使用TableFile和Method进行仓库仿真(Byref函数)
  4. 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
  5. k8s部署nginx
  6. 禅道项目管理系统安装后显示为空白
  7. 有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,第四个8 ,棋盘上放的所有芝麻的重量(后一个是前一个两倍)。循环练习题。
  8. 在控制台,打印出某个具体的变量,并监听其变化
  9. windows的特殊对话框
  10. 全局mixin封装文本溢出隐藏显示省略号