视觉SLAM十四讲 第3讲 三维空间刚体运动(相关知识点汇总)

本文介绍了刚体运动的基础知识,包括欧氏空间、欧氏距离和变换。深入探讨了笛卡尔坐标系、透视空间以及齐次坐标系的概念,解释了平行线在透视空间中相交的几何意义。此外,还讨论了旋转矩阵、欧拉角、旋转向量、万向锁和四元数,特别是四元数如何避免万向锁问题,以及它们在旋转表示中的优势。

本文不以书上的知识点流程进行记录,而是将初学SLAM一些相关却又比较陌生的知识点、名词进行总结,然后再记录第3讲的相关知识。

1. 刚体

刚体rigid body,指在运动或受力的过程中,形状和大小不变,各个质点的相对位置不变

2. 欧氏空间(euclidean space)

欧几里得空间就是对现实空间的规则抽象和推广(从n<=3推广到有限n维空间)

在这里插入图片描述

简单来说所有满足从2维、3维推出的内积、距离、角的定义的空间都叫做欧氏空间

2.1 欧氏距离:

d ( x , y ) = ( x 1 − y 1 ) 2 + ( x 2 − y 2 ) 2 + ⋯ + ( x n − y n ) 2 d(x, y) = \sqrt{ (x_1-y_1)^2 + (x_2-y_2)^2 + \dots + (x_n-y_n)^2 } d(x,y)=(x1y1)2+(x2y2)2++(xnyn)2

2.2 欧氏变换:

欧氏变换由旋转和平移组成

非欧几里得空间:二维扁平智能生物
https://www.zhihu.com/question/27903807

3. 笛卡尔坐标系

又称直角坐标系、正交坐标系。笛卡尔坐标系的研究结合了代数和欧几里得几何,对于后来的解析几何、微积分和地图学的发展,具有关键性的意义。

4. 透视空间

透视从理论上直观的解释了物体在平面(2维)上呈现三维空间的基本原理和规律。方法有单点透视、空气透视和散点透视。更多的是绘画上的概念。

可以直接把透视空间理解为3维空间往某个方向、平面,拍扁成2维平面所形成的图像

5. 齐次坐标系

5.1 问题:两条平行线可以相交于一点?

在欧式空间中,同一平面的两条平行线不能相交,但是透视空间中可以,比如火车轨道随着我们的实现越来越窄,最后两条平行线在无穷远处交于一点。

这个点的坐标是消失点(无穷,无穷),这在欧式空间中没有意义。

简而言之,齐次坐标系,就是用N+1维向量(矩阵)来表示N维向量(矩阵),而转化回笛卡尔坐标系就是用前N-1个元素除以第N个元素即可。齐次坐标系就是为了解决,平行线在透视空间相交且相交点在欧式空间没有意义的问题

笛卡尔坐标系(a, b) -> 齐次坐标系(x, y, w)
其中a = x / w, b = y / w

5.2 为什么叫齐次?

(4, 6, 2)和(2, 3, 1)对应的是同一个欧氏点,这些点是齐次的,齐次坐标有规模不变性

求平行线相交方程组:
https://blog.youkuaiyun.com/janestar/article/details/44244849
如果是普通坐标系,则方程无解,转化为齐次坐标系则有解,解在无穷远处

6. 关于Eigen

  • 在c++程序中,我们可以把一个float数据和double数据相加、相乘,编译器会自动把数据类型转换为最合适的那种。而在eigen中,处于对性能的考虑,必须显式得对矩阵类型进行转换,不然会出错。
  • 如果发现eigen出错,你可以直接找大写的部分,来看看出了什么问题。
  • eigen几乎所有数据都当做矩阵来处理

7. 基础知识

7.1 点和向量

点是空间中的基本元素,没有长度,没有体积。把两个点连接起来,就构成了向量。
向量可以看成从某点指向另一个点的一个箭头。切记,不要把向量与它的坐标这两个概念啊混淆。向量就是空间中的一个东西,不需要与任何实数相关联,只有确定了空间中的某个坐标系时,才可以谈论该向量在此坐标系下的坐标,也就是找到若干个实数对应这个向量

坐标的具体取值,一是和向量本身有关,二是和坐标系(基)的选取有关。基就是张成这个空间的一组线性无关的向量,有些书里也叫基底。基向量的长度为1。

7.2 点乘和叉乘

dot内积(点乘):
① a在b上的投影的模乘以b的模
② 描述向量之间的夹角
a ⋅ b = a T b = ∣ a ∣ ∣ b ∣ c o s < a , b > a · b = a^T b = |a||b|cos<a, b> ab=aTb=abcos<a,b>
矩阵没有点乘一说

cross product外积(叉乘):
① aOb平面的法向量
② ab组成的平行四边形的面积和法向量长度 ∣ a ∣ ∣ b ∣ s i n < a , b > |a||b|sin<a,b> a∣</

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值