三维空间由3个轴组成,所以一个空间点的位置可以由3个坐标指定。但考虑刚体时,它不仅有位置,还有自身的姿态。借助数学语言,我们可以更好地来描述它。

3.1.1 点和向量,坐标系

点和向量

向量:线性空间中的一个元素,可以把它想象成从原点指向某处的一个箭头。

   注意:不要混淆向量和坐标两个概念,只有在指定这个三维空间中的某个坐标系时,才可以谈论该向量在此坐标下的坐标。

  如果确定了一个坐标系,也就是一个线性空间的基(e1,e2,e3),那么就可以谈论向量a在这组基下的坐标。

坐标的具体取值,一是和向量本身有关,二是和坐标系的选取有关。

  对于ab∈R3内积可以写成:

  内积可以描述向量间的投影关系。

  外积

  外积的方向垂直于这两个向量,大小为,是两个向量张成的四边形的有向面积。

  外积只对三维向量存在定义,我们还能用外积表示向量的旋转。

坐标间的欧氏变换

  与向量间的旋转类似,同样可以描述两个坐标间的旋转关系,再加上平移,统称为坐标系间的变换关系。

举例:

  在机器人的运动过程中,常见的做法是设定一个惯性坐标(或者叫世界坐标系),可认为它是固定不动的,如下图定义的坐标系。同时,相机或机器人则是一个移动坐标系。

相机视野中某个向量p,它的坐标为Pc,在世界坐标系下看,它的坐标是Pw。这两者转换:先得到该点针对机器人坐标系的坐标值,再根据机器人位姿转换到世界坐标系中,这个转换关系由一个矩阵T来描述。

相机运动是一个刚体运动,它保证了同一个向量在各个坐标系下的长度和夹角都不会发生变化。这种变换称为欧氏变换

欧氏变换由一个旋转和一个平移两部分组成。

首先,考虑旋转。

设某个单位正交基(e1,e2,e3)经过一次旋转变成了。那么,对于同一个向量a(注意:该向量并没有随着坐标系的旋转而发生运动),它在两个坐标系下的坐标为。根据坐标的定义,有:

为了描述两个坐标之间的关系,等式两边同时左乘,得:

  R由两组基之间得内积组成,刻画旋转前后同一个向量得坐标变换关系。矩阵R描述了旋转本身,因此称为旋转矩阵

旋转矩阵有一些特别的性质:事实上,它是一个行列式为1的正交矩阵。反之,行列式为1的正交矩阵也是一个旋转矩阵。因此,旋转矩阵的集合定义如下:

  SO(n)是特殊正交群(Special Orthogonal Group),这个集合由n维空间的旋转矩阵组成,特别的,SO(3)是三维空间的旋转。通过这个旋转可以直接讨论两个坐标系之间的旋转变换,而

不用再从基谈起。换句话说,旋转矩阵可以描述相机的旋转

  由于旋转矩阵是正交矩阵,它的逆(即转置)描述了一个相反的旋转,

  在欧氏变换中,除了旋转之外还有平移。考虑世界坐标系中的向量a,经过一次旋转(用R描述)和一次平移t后,得到了a',把旋转和平移合到一起,有:

t称为平移向量。通过上式,用一个旋转矩阵R和一个平移向量t完整地描述了一个欧氏空间的坐标变换关系

  3.1.3 变换矩阵与齐次坐标

  假设进行两次变换:R1,t1和R2,t2,满足

从a 变换到c:

  这样的形式在变换多次后会过于复杂,因此,我们引入齐次坐标和变换矩阵:

这是一个数学技巧:在一个三维向量的末尾添加1,将其变成了四维向量,称为齐次坐标

对于这个四维向量,我们可以把旋转和平移写在一个矩阵里面,使得整个关系变成线性关系。该式中,T称为变换矩阵(Transform Matrix)。

关于变换矩阵T,它有比较特别的结构:左上角为旋转矩阵,右侧为平移向量,左下角为0向量,右下角为1。这种矩阵又称为特殊欧氏群(Special Euclidean Group).

  齐次坐标,是射影几何的概念。通过添加最后一维,我们用4个实数描述了一个三维向量,这显然多了一个自由度,但允许我们把变换写成线性的形式。

在齐次坐标中,某个点x的每个分量同乘一个非零常数k后,仍然表示同一个点。因此,一个点的具体坐标值不是唯一的。

  但最后一项不为零时,我们总可以除以最后一项,强制最后一项为1,从而得到一个点唯一的坐标表示(也就是转换为非齐次坐标):

 

转载于:https://www.cnblogs.com/yfqh/p/11025470.html

第3讲--3.1旋转矩阵相关推荐

  1. 视觉SLAM十四讲(3):三维空间刚体运动

    本章需要掌握的知识点有:旋转矩阵,变换矩阵,四元数,欧拉角定义和数学表达:同时也要掌握Eigen库关于矩阵.几何模块的使用方法. 文章目录 3.1 旋转矩阵 3.1.1 点,向量和矩阵的关系 3.1. ...

  2. 视觉SLAM十四讲学习笔记-第三讲-旋转向量、欧拉角、四元数

    专栏系列文章如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第二讲-初识SLAM_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习 ...

  3. 旋转矩阵、变换矩阵,李群(Lie Group)、李代数(Lie Algebra)及扰动模型

    文章目录 0 前言 1 李群(Lie Group) 1.1 群(Group)的定义 1.2 一些特殊的群 - S O ( 3 ) & S E ( 3 ) SO(3) \& SE(3) ...

  4. SLAM专题(5) -- 变换矩阵、旋转矩阵、欧拉角与四元数

    目录 坐标变换基础知识 外积 欧氏变换 旋转矩阵 旋转向量 欧拉角 四元数 坐标变换基础知识 外积 外积大小为 ,可以表示两个向量张成四边形的有向面积,引入符号,定义a^表示为一个反对称矩阵,这样就把 ...

  5. 四轴飞行器1.1 Matlab 姿态显示

    四轴飞行器1.1 Matlab 姿态显示 开始做四轴了,一步一步来,东西实在很多,比较杂.先做matlab上位机,主要用来做数据分析,等板子到了可以写飞控的程序了,从底层一层一层开始写..希望能好好的 ...

  6. MIT公开课18.06 Gilbert Strang 线性代数 笔记3 - 正定矩阵及其应用

    文章目录 第26讲:对称矩阵及正定性 对称矩阵 性质 描述 证明 谱定理,对称矩阵的分解 对称矩阵特征值的符号 正定性 定义 例子 第27讲:复数矩阵和快速傅里叶变换 复数矩阵运算 计算复向量的模 计 ...

  7. 一文搞懂什么VR,什么是6Dof,欧拉角,四元数转视图矩阵

    目录 一.什么是VR 二.什么是3Dof,6Dof, 9Dof 三.欧拉角(姿态角) 四.Android手机的欧拉角与坐标系 五.安卓坐标系转换欧拉角 六.根据姿态四元数求视图矩阵 一文搞懂什么VR, ...

  8. 简单的立体旋转特效DEMO实现

    写在最前:  前两天我们这边接到公司做教育那块的一个活儿,要做一个比较炫酷的3D旋转特效,拿到网页一看,别人是用Three.js去实现的,确实比较狂拽.但是我对这个只是了解一点点,还不到能用它做出成熟 ...

  9. 视觉SLAM十四讲学习笔记-第三讲-旋转矩阵和Eigen库

    专栏系列文章如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第二讲-初识SLAM_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习 ...

最新文章

  1. 分享8点超级有用的Python编程建议
  2. (转)函数作用域,匿名函数,函数式编程,面向过程,面向对象
  3. Jerry Wang的SAP UI5源代码深入剖析系列文章
  4. delphi 脚本引擎比较
  5. 计算机应用基础的听课记录,听课记录-计算机应用基础
  6. java的for循环取出数据只是拿到最后一个_如何保证缓存与数据库双写的一致性...
  7. 常用CASE工具介绍
  8. 代码中如何让无序标记的内容并排_英语技术文档中如何正确使用无序列表和有序列表?...
  9. Linked List Cycle | ||
  10. 2016集训队论文吉如一
  11. python 拟合圆_OpenCV曲线拟合与圆拟合
  12. win7旗舰版激活教程
  13. 如何用计算机名添加的打印机,如何添加打印机(如何在电脑上安装打印机)
  14. python如何提交作业_提交作业
  15. 最常见的开源游戏引擎
  16. 爬取豆瓣top250电影并分析
  17. 董明珠用 3.1 亿的带货成绩,刷新了许多人对直播电商的认知
  18. 自媒体,如何提高文章曝光率?
  19. RFID人员定位设备具体配置
  20. 中国高铁票价世界最低

热门文章

  1. RxJS实践,Vue如何集成RxJS
  2. 苹果看好医疗健康产业 AI技术将变革
  3. Intellij IDEA 的使用
  4. nodejs实战案例(Express框架+mongoDB)——(1)——前言
  5. ubuntu9.04换源
  6. tenjin - 号称全球最快的模板引擎
  7. Optiver Career Fair
  8. Whose Hall?
  9. 知识产权创业的比赛结果
  10. 乐视欠122亿的图标给后浪的启示