1、简介

旋转矩阵的应用范围比较广,是姿态变换,坐标变换等的基础,由于考虑到IMU的融合需要用到旋转矩阵。因此,本文介绍一下旋转矩阵的推导过程。

2、推导过程

在介绍旋转矩阵之前,先介绍一下两个矩阵相乘的示意图如下图所示:

旋转矩阵的旋转其实包含两种意思,一是在同一个坐标系下,向量的旋转;二是坐标系的旋转,使得同一向量在不同的坐标系下有不同的坐标。

(1)二维向量旋转

如下图,XY坐标系中,向量OP旋转β角度到了OP’的位置:

根据三角函数关系,可以列出向量OP与OP’的坐标表示形式,对比上面个两个式子,将第2个式子展开:

用矩阵形式重新表示为:

这就是二维旋转的基本形式,中间的矩阵即二维旋转的旋转矩阵,坐标中的某一向量左乘该矩阵后,即得到这个向量旋转β角后的坐标。

(2)三维向量旋转

三维旋转可借助二维旋转来理解,由于三维空间中可以任意轴旋转,为方便分析与使用,只考虑绕X、Y、Z轴的旋转。

  • 绕Z轴旋转:
    参照上面的图,添加一个Z轴,则上面的二维旋转实际上就是绕Z轴的三维旋转。

    照搬上面的推导公式,并添加Z坐标的变换关系(实际是没有变),然后改写成矩阵形式,红色方框即为绕Z轴的旋转矩阵。

    同理可以得到绕X轴和绕Y轴旋转的旋转矩阵。
  • 绕X轴旋转矩阵
  • 绕Y轴旋转矩阵

(1)二维坐标系旋转





三维旋转同上。

参考文章:
《https://zhuanlan.zhihu.com/p/183973440》
《https://www.cnblogs.com/meteoric_cry/p/7987548.html》

数学基础--旋转矩阵的推导相关推荐

  1. 2维旋转矩阵的推导方式

    1.向量空间推导 先复习向量空间的定义 向量空间的定义是:设V为n维向量的集合,若集合V非空,且集合V对于向量的加法及数乘两个运算封闭,那么称集合V为向量空间. 也就是说向量空间=集合+运算+运算对集 ...

  2. 推到 旋转矩阵公式_3D旋转矩阵的推导过程

    3D旋转矩阵的推导过程 包含平移的线性变换称作仿射变换,3D中的仿射变换不能用 3 x 3 矩阵表达,必须使用4 x 4矩阵. 一般来说,变换物体相当于以相反的量变换描述这个物体的坐标系.当有多个变换 ...

  3. 二维(三维)坐标系中旋转矩阵详细推导

    求三维坐标系的旋转矩阵通常需要求分别沿3个坐标轴的二维坐标系下的旋转矩阵,二维坐标系下的旋转矩阵的推导过程通常以某一点逆时针旋转 θ \theta θ角度进行推理.以下将通过此例来详细讲解二维坐标系下 ...

  4. 已知旋转矩阵求角度_如何推导旋转矩阵

    极坐标系和直角坐标系是等价的,在极坐标系下,一个点可以表示为(r,θ),在直角坐标系下,表示为(x,y).选取哪种坐标系是看哪种坐标系比较方便,在直角坐标系下处理直线.平移等非常方便:在极坐标系下,旋 ...

  5. 20201205 旋转矩阵导数的推导过程

    本文不讲旋转矩阵导数的证明,直接讲其中一种推导过程. 对象:姿态旋转矩阵 坐标系定义: 本体坐标系 FB\mathcal F_{B}FB​, 参考坐标系 FR\mathcal F_{R}FR​ 欧拉旋 ...

  6. 欧拉角的概念理解和欧拉角旋转矩阵推导

    欧拉角用来计算空间中刚体的旋转位置,目的是改变刚体的朝向. 具体来说,空间中有一个点p和一根轴k,点p绕轴k旋转θ角度到p',求p'的坐标.这就是欧拉角要解决的问题. 只不过,欧拉角将1个点绕1根轴旋 ...

  7. 运动学解析~旋转矩阵推导

    旋转矩阵的推导要注意最关键的一点,就是我们需要的是坐标系的旋转变换,而不是点的旋转变换.大部分解释是第二条推导,所以感觉上就不能说服人. 本文转自这个链接:旋转矩阵怎么推导_如何推导旋转矩阵_独孤小白 ...

  8. 3维旋转矩阵推导与助记

    旋转矩阵的应用范围比较广,是姿态变换,坐标变换等的基础.本篇先介绍旋转矩阵的推导过程与助记方法. 旋转矩阵的旋转其实包含两种意思,一是在同一个坐标系下,向量的旋转:二是坐标系的旋转,使得同一向量在不同 ...

  9. 向任意平面的投影矩阵的推导

    概述 方法来自于<3D数学基础,图形与游戏开发>这本书. 基本原理 这个方法其实有点思维跳跃,原理是首先推导出一个任意方向n缩放比例为k的缩放矩阵,然后将k变成0,这就变成了向垂直于n的投 ...

最新文章

  1. jboss部署出现jboss.naming.context.java.rmi找不到错误
  2. fftw_plan_dft_2d异常 使用技巧
  3. C: City----逆向并查集
  4. 蓝鲸“配置平台”正式开源
  5. vb html table,VB6.0 如何是用 datatable
  6. 学习笔记_vnpy实战培训day04
  7. 数据结构以及算法的资源整理备忘
  8. 查看一个进程的线程情况
  9. 视频教程-使用 Pandas 与 Matplotlib 分析科比职业生涯数据-Python
  10. java生成随机名字
  11. 马尔可夫和切比雪夫不等式的证明
  12. redhat8.2-docker安装及部分镜像下载
  13. 第9章 Linux的磁盘管理
  14. 阿里云账号注册及常用产品申请
  15. DLM learning materials
  16. vue中将水印加在页面的某一部分
  17. 手机拍会议照片技巧_在家工作时进行视频会议的12个技巧
  18. 数智化转型赋能方法论与服务路径
  19. 基于 LSTM-Attention 的中文新闻文本分类
  20. 买到不喜欢的 iOS 软件不用怕!图解如何申请 App Store 退款

热门文章

  1. 颜色识别OpenCV
  2. 时空伴随者--算法模拟(超级简化版)
  3. 唱吧导出的是php,唱吧黑科技:一键修音功能到底有多强大!居然连Rap都能修!...
  4. Sonatype Nexus Repository Manager OSS仓库管理私服(一)——搭建私服
  5. 我为软件本地化学到的六件事
  6. 禁用Clusterware在系统启动后自己主动启动
  7. js常用的几种for循环
  8. Linux网络编程【socket编程】
  9. “沉浸式地图”不仅在Google发布会里,更在触手可及的小蛮腰上
  10. tomcat服务器出现【A child container failed during start】问题解决