数学基础--旋转矩阵的推导
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》
数学基础--旋转矩阵的推导相关推荐
- 2维旋转矩阵的推导方式
1.向量空间推导 先复习向量空间的定义 向量空间的定义是:设V为n维向量的集合,若集合V非空,且集合V对于向量的加法及数乘两个运算封闭,那么称集合V为向量空间. 也就是说向量空间=集合+运算+运算对集 ...
- 推到 旋转矩阵公式_3D旋转矩阵的推导过程
3D旋转矩阵的推导过程 包含平移的线性变换称作仿射变换,3D中的仿射变换不能用 3 x 3 矩阵表达,必须使用4 x 4矩阵. 一般来说,变换物体相当于以相反的量变换描述这个物体的坐标系.当有多个变换 ...
- 二维(三维)坐标系中旋转矩阵详细推导
求三维坐标系的旋转矩阵通常需要求分别沿3个坐标轴的二维坐标系下的旋转矩阵,二维坐标系下的旋转矩阵的推导过程通常以某一点逆时针旋转 θ \theta θ角度进行推理.以下将通过此例来详细讲解二维坐标系下 ...
- 已知旋转矩阵求角度_如何推导旋转矩阵
极坐标系和直角坐标系是等价的,在极坐标系下,一个点可以表示为(r,θ),在直角坐标系下,表示为(x,y).选取哪种坐标系是看哪种坐标系比较方便,在直角坐标系下处理直线.平移等非常方便:在极坐标系下,旋 ...
- 20201205 旋转矩阵导数的推导过程
本文不讲旋转矩阵导数的证明,直接讲其中一种推导过程. 对象:姿态旋转矩阵 坐标系定义: 本体坐标系 FB\mathcal F_{B}FB, 参考坐标系 FR\mathcal F_{R}FR 欧拉旋 ...
- 欧拉角的概念理解和欧拉角旋转矩阵推导
欧拉角用来计算空间中刚体的旋转位置,目的是改变刚体的朝向. 具体来说,空间中有一个点p和一根轴k,点p绕轴k旋转θ角度到p',求p'的坐标.这就是欧拉角要解决的问题. 只不过,欧拉角将1个点绕1根轴旋 ...
- 运动学解析~旋转矩阵推导
旋转矩阵的推导要注意最关键的一点,就是我们需要的是坐标系的旋转变换,而不是点的旋转变换.大部分解释是第二条推导,所以感觉上就不能说服人. 本文转自这个链接:旋转矩阵怎么推导_如何推导旋转矩阵_独孤小白 ...
- 3维旋转矩阵推导与助记
旋转矩阵的应用范围比较广,是姿态变换,坐标变换等的基础.本篇先介绍旋转矩阵的推导过程与助记方法. 旋转矩阵的旋转其实包含两种意思,一是在同一个坐标系下,向量的旋转:二是坐标系的旋转,使得同一向量在不同 ...
- 向任意平面的投影矩阵的推导
概述 方法来自于<3D数学基础,图形与游戏开发>这本书. 基本原理 这个方法其实有点思维跳跃,原理是首先推导出一个任意方向n缩放比例为k的缩放矩阵,然后将k变成0,这就变成了向垂直于n的投 ...
最新文章
- jboss部署出现jboss.naming.context.java.rmi找不到错误
- fftw_plan_dft_2d异常 使用技巧
- C: City----逆向并查集
- 蓝鲸“配置平台”正式开源
- vb html table,VB6.0 如何是用 datatable
- 学习笔记_vnpy实战培训day04
- 数据结构以及算法的资源整理备忘
- 查看一个进程的线程情况
- 视频教程-使用 Pandas 与 Matplotlib 分析科比职业生涯数据-Python
- java生成随机名字
- 马尔可夫和切比雪夫不等式的证明
- redhat8.2-docker安装及部分镜像下载
- 第9章 Linux的磁盘管理
- 阿里云账号注册及常用产品申请
- DLM learning materials
- vue中将水印加在页面的某一部分
- 手机拍会议照片技巧_在家工作时进行视频会议的12个技巧
- 数智化转型赋能方法论与服务路径
- 基于 LSTM-Attention 的中文新闻文本分类
- 买到不喜欢的 iOS 软件不用怕!图解如何申请 App Store 退款
热门文章
- 颜色识别OpenCV
- 时空伴随者--算法模拟(超级简化版)
- 唱吧导出的是php,唱吧黑科技:一键修音功能到底有多强大!居然连Rap都能修!...
- Sonatype Nexus Repository Manager OSS仓库管理私服(一)——搭建私服
- 我为软件本地化学到的六件事
- 禁用Clusterware在系统启动后自己主动启动
- js常用的几种for循环
- Linux网络编程【socket编程】
- “沉浸式地图”不仅在Google发布会里,更在触手可及的小蛮腰上
- tomcat服务器出现【A child container failed during start】问题解决