参考:高翔 张涛等著--视觉SLAM十四讲购买链接
刚体在三维空间中的运动可以简化为旋转和平移运动的组合,平移一般可以使用一个矩阵表示,旋转可以使用旋转矩阵,四元数,欧拉角来表示,那么旋转矩阵,四元数,欧拉角表示三维旋转的区别又是什么呢?
- 旋转矩阵和旋转向量,欧拉角相比缺点:
1,旋转矩阵表示三维空间的运动需要9个变量,一次旋转只有3个自由度,变换矩阵更是使用了16个变量表示6个自由度的变换(表达方式出现了变量的冗余)
2,旋转矩阵本身带有约束,即旋转矩阵必须是一个正交矩阵,且行列式为1.变换矩阵也是如此,有了上面所述的约束,会让后续的计算更加困难.
(视觉slam十四讲/第3讲 三维空间刚体运动/3.3旋转向量和欧拉角)
- 欧拉角本身的缺点:
欧拉角会出现万向锁问题,在俯仰角为正负90°时,第一次旋转和第三次旋转将会使用同一个轴,使得系统丢失一个自由度,这又出现了奇异性问题
- 四元数的优点和缺点:
四元数的结构是复数,它可以解决用旋转矩阵表示旋转的不紧凑,也可以解决欧拉角会出现的奇异性问题.
缺点就是不够直观,而且运算比较复杂.