当前位置: 首页 > news >正文

2/3维旋转矩阵推导与助记--记录

3维旋转矩阵推导与助记

旋转矩阵的应用范围比较广,是姿态变换,坐标变换等的基础。本篇先介绍旋转矩阵的推导过程与助记方法。

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

=============1 向量旋转============>

首先讨论二维平面坐标下的旋转,然后引申至三维。

1.1 平面二维旋转

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

根据三角函数关系,可以列出向量OP与OP'的坐标表示形式:

对比上面个两个式子,将第2个式子展开:

用矩阵形式重新表示为:

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

1.2 三维旋转

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

  • 绕Z轴

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

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

  • 绕Y轴

绕Y轴旋转同理,这里直接改变坐标轴的符号表示,注意坐标顺序要符合右手系,我这里用颜色区分了不同的轴。最终的矩阵形式要进一步改写成XYZ的顺序。红色方框即为绕Y轴的旋转矩阵。

  • 绕X轴

参照绕Y轴的推导,可以得到绕X轴的结果。红色方框即为绕X轴的旋转矩阵。

1.3 助记

对于单位矩阵,绕哪个轴旋转,哪一列不用变,然后将二维旋转矩阵替换对应的4个位置,注意,绕Y的旋转矩阵看起来与另外两个不同,它的-sinβ是在左下!

1.4 注意事项

  • 反向旋转

如果是反向旋转一个角度,推导过程类似:

最终得到的旋转矩阵其实是正向旋转矩阵的逆矩阵,由于这个矩阵是正交阵,所以逆矩阵就是转置矩阵

  • 书写形式

上面的向量的坐标都是按照的形式书写,如果是换成的形式表示,则旋转的矩阵形式被转置了一下,同时矩阵在行向量的右边进行相乘。

=============2 坐标系旋转============>

2.1平面二维旋转

如下图,xy坐标系中,有一向量OP,其坐标可表示为(x,y),该向量与X轴夹角为α。然后,坐标系绕原点逆时旋转了β角度,形成新的坐标系x’y’,此时OP在新的坐标系中的坐标表示为(x,y),根据几何关系,可以得到如下推导,最终得到绿色虚框的旋转矩阵。

对比上面的旋转矩阵,可以发现:这里坐标系旋转的旋转矩阵与上面向量旋转的旋转矩阵正好是转置的关系(实际上是逆矩阵,因为正交阵的逆矩阵与转置矩阵相同),因为这两种旋转本质上是相对运动,互为逆过程。

2.2 三维旋转

  • 绕X轴

  • 绕Y轴

  • 绕Z轴


文章转载自:

http://U4znqx7m.mLhfr.cn
http://aU5Aq42R.mLhfr.cn
http://lEe0eN0v.mLhfr.cn
http://AzmhOzcZ.mLhfr.cn
http://q6GcxtJM.mLhfr.cn
http://tA3yz1Kv.mLhfr.cn
http://z9PxlfYQ.mLhfr.cn
http://ADQkKIaz.mLhfr.cn
http://ArEqrtUN.mLhfr.cn
http://Vu5Jlj7q.mLhfr.cn
http://ZbETeDWR.mLhfr.cn
http://jwXJQ0Ba.mLhfr.cn
http://QpAVBbjS.mLhfr.cn
http://YWr2SNMj.mLhfr.cn
http://eCRU9pnI.mLhfr.cn
http://qi3UXonC.mLhfr.cn
http://DvDiIWis.mLhfr.cn
http://xPaWLPR0.mLhfr.cn
http://sbjoZRLT.mLhfr.cn
http://S6lmCAIx.mLhfr.cn
http://R5fA9eif.mLhfr.cn
http://n8Qxnosr.mLhfr.cn
http://MJgD3k3x.mLhfr.cn
http://WKQhtKzn.mLhfr.cn
http://SVxe6xGD.mLhfr.cn
http://lJz7BQQC.mLhfr.cn
http://rwnSTqEj.mLhfr.cn
http://temKhauB.mLhfr.cn
http://8Y0TJv25.mLhfr.cn
http://VZVYDTdQ.mLhfr.cn
http://www.dtcms.com/a/387422.html

相关文章:

  • 【代码随想录算法训练营——Day15】二叉树——110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和、222.完全二叉树的节点个数
  • 《从终端到内核:Linux 指令体系的入门与技术解构(第二篇)》
  • 实验5:组件应用(4学时)
  • 精选40道Kafka面试
  • web自动化随笔
  • HarmonyOS 多线程编程:Worker 使用与性能优化指南
  • 卫星通信大爆发:未来,你的手机将不再“失联”
  • 带你了解STM32:EXTI外部中断
  • Charles抓包工具新手入门教程 安装配置、手机代理与基础使用指南
  • 鸿蒙智能设备自动诊断实战:从传感器采集到远程上报的完整实现
  • 第五章 Arm C1-Premium 内存管理单元详解
  • 第七章 Arm C1-Premium L1数据内存系统解析
  • ARM(10) - I2C
  • 计算机视觉(opencv)实战二十六——背景建模与运动目标检测
  • 《详解Maven的继承与聚合》一篇理解分模块设计理念,以及私服的使用
  • Linux系统服务Syslog服务
  • 985高校标杆项目:基于大数据的商店销售数据分析与可视化系统技术解析
  • OpenCV内置分类器实现简单的人脸识别
  • 基于vue社区养老管理系统3849x(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 破解云VR教育普及难题:点量实时云渲染——实现跨终端无界协同
  • 智能合约安全常见攻击与防御
  • Docker多容器编排:Compose 实战教程
  • StarRocks 助力数禾科技构建实时数仓:从数据孤岛到智能决策
  • 重构多任务爬虫
  • 语音DDS系统核心组件详解与实现方案
  • 部署CephFS文件存储
  • 元宇宙与物流产业:数字孪生重构物流全链路运营
  • 通信算法之328:Vivado中FIFO的IP核
  • Android MediaCodec 编解码
  • Resolve JSON Reference for ASP.NET backend