钾肥喵的窝

我在 CODING 部署的 Hexo 博客

0%

SLAM十四讲笔记——第3讲

旋转矩阵

这部分内容在图形学和线性代数中已经接触过了, 这里就不赘述了.

欧氏变换

这里关注一个小的思考题: 欧氏变换中两个平移向量为什么坐标上不是相反数?

简而言之就是因为旋转操作的影响, 两个方向相反的向量体现在坐标上并不是相反数关系, 简单推导如下:

首先很容易得到一对坐标变换公式(符号定义与书中一致): \[ \begin{cases} \boldsymbol{a_{1}} = \boldsymbol{R_{12}}\boldsymbol{a_{2}} + \boldsymbol{t_{12}} \\ \boldsymbol{a_{2}} = \boldsymbol{R_{21}}\boldsymbol{a_{1}} + \boldsymbol{t_{21}} \end{cases} \]

于是就有:

\[ \begin{gather*} \boldsymbol{a_{1}} = \boldsymbol{R_{12}}\boldsymbol{a_{2}} + \boldsymbol{t_{12}} \\ \Downarrow\\ \boldsymbol{R_{21}}\boldsymbol{a_{1}} = \boldsymbol{R_{21}}\boldsymbol{R_{12}}\boldsymbol{a_{2}} + \boldsymbol{R_{21}}\boldsymbol{t_{12}} \\ = \boldsymbol{I}\boldsymbol{a_{2}} + \boldsymbol{R_{21}}\boldsymbol{t_{12}} \\ \Downarrow\\ \boldsymbol{a_{2}} = \boldsymbol{R_{21}}\boldsymbol{a_{1}} - \boldsymbol{R_{21}}\boldsymbol{t_{12}} \end{gather*} \]

从而: \(\boldsymbol{t_{21}} = -\boldsymbol{R_{21}}\boldsymbol{t_{12}}\), 这个结论在公式 (3.14) 中也有体现

旋转向量和欧拉角

旋转向量

关于 Rodrigues' rotation formula 的推导可以点击传送门.

欧拉角

欧拉角中主要是万向锁问题的理解.

万向锁问题在 Quaternions for Computer Graphics 书中的6.5(按民间翻译版的目录)一节中有很清晰的讲解.

简答来说, 万向锁问题是由于欧拉角限制了旋转顺序, 在某些特殊情况下, 旋转轴发生了重合, 导致系统丢失自由度的现象.

四元数

这部分内容比较多, 打算拆成几篇文章慢慢写, 以下是目录:

1.四元数的定义和运算 2.四元数与旋转 3.四元数的转换

相似 仿射 射影变换

这部分内容在图形学中已经研究过了, 可以看GAME101等相关课程.