1.网上讲旋转矩阵的有很多,但是公式上还是有一些出入的,例如绕x轴转theta角的时候,有的人说旋转矩阵是

有的人说旋转矩阵是

我们可以看到这是一个转置的关系,其实是因为旋转矩阵是正交矩阵,转置等于逆,也就是说上边这两种公式对应的旋转正好是相反的,其实造成这种分歧是因为对“旋转对象”的定义不同。

第一种说法是XYZ坐标系经过旋转变为X'Y'Z',如果一个向量P在XYZ中坐标为(x1,y1,z1),P在X'Y'Z'中的坐标为(x2,y2,z2),那么可以用这个旋转矩阵R得到:(x2,y2,z2) = R *(x1,y1,z1)

第二种说法的意思是:XYZ坐标系中有一个向量P,其坐标为(x1,y1,z1),把向量P绕x轴转theta角以后,P的坐标为(x2,y2,z2) ,那么(x2,y2,z2) = R *(x1,y1,z1),这两个坐标都是在XYZ坐标系下的坐标。

关于第二种说法有许多大神都讲的很明白了,这里附上维基百科的链接:

https://en.wikipedia.org/wiki/Rotation_matrix

下面谈谈自己对第一种说法的理解:

这种旋转是坐标系在转,而向量P是固定不动的,要求的是P在转后坐标系X'Y'Z'中的坐标。

首先我们把XYZ坐标系的基用X'Y'Z'坐标系的基表示:

j = cos (theta) * j' - sin (theta) * k'

k = sin (theta) * j' + cos (theta) * k'

之后我们把向量P在XYZ坐标系中的表达式写出来

P = [ i , j, k ] * [ x1, y1, z1 ]          式中i,j,k是基向量,x1, y1, z1是坐标,矩阵乘法形式                                  式(1)

之后我们把[ i , j, k ] 用[ i’ , j‘, k’ ]表示:  [ i , j, k ] = [ i’ , j‘, k’ ] * R    此处的R就是第一种说法中的旋转矩阵。

之后我们把这个变换带入式(1)

P = [ i’ , j‘, k’ ] * R * [ x1, y1, z1 ]                                                                                                                       式(2)

之后我们把向量P在X'Y'Z'坐标系中的表达式写出来

P = [ i' , j', k' ] * [ x2, y2, z2 ]                                                                                                                              式(3)

由式(2)式(3)得 [ x2, y2, z2 ] = R * [ x1, y1, z1 ]

也就是可以得到向量P在X'Y'Z'坐标系中的坐标了。

机器人的使用中我们常常需要把一个坐标系里的某个坐标转到其他坐标系里,这时就需要用到上边这个原理。

旋转矩阵(一):旋转矩阵能让什么东西旋转?相关推荐

  1. 罗德里格斯公式推导(轴角与旋转矩阵的关系)以及四元数与旋转向量、旋转矩阵、欧拉角之间的转换关系

    罗德里格斯公式推导(轴角与旋转矩阵的关系) 意义:罗德里格斯公式表示旋转向量到旋转矩阵之间爱你的转换关系 旋转向量:一个向量,方向与旋转轴一致,长度等于旋转角度 空间中任意旋转都可以用一个旋转轴和一个 ...

  2. [学习SLAM]两平面法向量与旋转向量/旋转矩阵,根据两平面法向量进行旋转

    根据旋转前后的向量值求旋转矩阵 如果已知旋转前后的一向量的变化,那么该如何求这个旋转矩阵呢?本篇结合Rodrigues' rotation formula,介绍一下该旋转矩阵的求法. 1.旋转角度 已 ...

  3. matlab三维 旋转矩阵,matlab旋转矩阵来旋转三维模型+meshlab旋转模型+matlab基础常用...

    matlab旋转矩阵来旋转三维模型+meshlab旋转模型+matlab基础常用 matlab旋转矩阵来旋转三维模型+meshlab旋转模型+matlab基础常用操作 matlab旋转矩阵实战: ①点 ...

  4. matlab三维 旋转矩阵,matlab中的三维坐标系与旋转

    1. matlab中的三维坐标系 matlab中的三维坐标系是使用的右手坐标系: 输入以下代码: >> plot3(0,0,0) >> xlabel('axis X') > ...

  5. 彻底搞懂“旋转矩阵/欧拉角/四元数”,让你体会三维旋转之美

    目录 旋转矩阵 坐标变换的作用 实现坐标变换所需的数据 位姿变换 坐标变换中旋转的实质 坐标变换中平移的实质 如何计算坐标系B各坐标轴在坐标系A上的投影?(多坐标变换) 如何实现坐标变换? 欧拉角 欧 ...

  6. 三维重建学习(1):基础知识:旋转矩阵与旋转向量

    前言 由于摄像机标定中会使用到旋转矩阵以及旋转向量的知识,所以就整理了一下有关与这一部分基础知识的笔记,并进行详细的数学推导. 旋转矩阵 假设坐标系分别绕着xxx轴旋转ϕ\phiϕ角,绕yyy轴旋转θ ...

  7. 旋转矩阵求旋转角度_(加餐)欧拉角及矩阵旋转

    (1 本文约2000字,大约需要阅读20分钟)(2 本文适合有一定雷达及信号与系统知识基础的读者) 乡亲们大家好,今天的这期内容就像有钱人的生活,比较枯燥,不过能完整读下来也确能有所收获,本文是分析微 ...

  8. 一、旋转矩阵,旋转向量,单位四元数的相互转换总结

    文章目录 前言 一.要点 1. 旋转矩阵 2. 旋转向量 3. 单位四元数 二.旋转向量--->旋转矩阵(罗德里格斯公式) 三.旋转矩阵--->旋转向量 四.单位四元数--->旋转矩 ...

  9. 方向向量转欧拉角_【姿态表示】旋转向量、旋转矩阵、欧拉角、四元数

    1. 旋转矩阵与旋转向量旋转矩阵(Rotation Matrix)用 9 个量描述旋转的3个自由度,有冗余: 9 个量是有约束的:必须是正交矩阵,且行列式为 1 旋转向量(Rotation Vecto ...

最新文章

  1. 稀疏矩阵按列转置核心代码
  2. 揭示Win32 API拦截细节/API hooking revealed (1)
  3. marting mate 是真的香喷喷的 学术英语必备
  4. MySQL的自然联结+外部联结(左外连接,右外连接)+内部联结
  5. Nginx (LNMP+https)
  6. mac 内核调试环境搭建
  7. react将多个公共组件归成一类,方便调用
  8. 常用tab选项卡代码
  9. 北京航空大学计算机录取分数线,北京航空航天大学录取分数线2021是多少分(附历年录取分数线)...
  10. c语言注释不能嵌套什么意思,C语言嵌套注释问题
  11. word中如何删除最后一页且不影响前面一页的格式
  12. 土木工程材料——混凝土
  13. Angular Img标签自定义请求header Authorization
  14. 疯狂英语李阳激情作客直播室
  15. 刘振飞:躲在镜子背后听用户反馈
  16. 显卡测试(具体步骤)
  17. 程序员能力模型与沟通技巧(一)
  18. 如果使代码更加合理更加有条理
  19. 一则Sql统计的语句
  20. 当 SSR 遇上 Serverless,轻松实现页面瞬间开

热门文章

  1. Java核心机制(1)
  2. 雅可比(Jacobian)矩阵简介
  3. 一加7T手机如何开启NFC、复制门禁卡等功能
  4. html5无序列表,有序列表,定义列表,组合标签,div分区标签
  5. 【⏰亲】今天冬至,早些回家!
  6. 【计算机网络】时延、发送时延、传输时延、处理时延、排队时延、时延带宽积
  7. 19【字节流、字符流】
  8. WeDrivePlugin64_24.dll 引发win7系统不能进入桌面
  9. CCNP课堂练习一:详解交换机vlan的介绍及通过交换机从逻辑上划分区域配置
  10. SDIO Host层驱动