本系列参考自 Quaternions for Computer
Graphics 和
视觉SLAM十四讲(第二版)
小历史
复数是否存在三维等价物? 这个问题吸引力很多数学家来研究.
我们知道, 二维复数可以用 \(a+bi\)
表示, 于是 Hamilton 猜想三维复数可以用 \(a+bi+cj\) 的形式表示,
但无法解决三维复数乘法的封闭性. 十多年后, 他在散步时找到了解决方案:
三维不行就用四维.
四元数的定义
四元数相当于加强版的复数, 它有一个 实部 和三个
虚部. 下式中的 \(\mathrm{i,j,k}\) 是四元数 \(\boldsymbol{q}\) 的三个虚部.
\[
\boldsymbol{q}=q_{0}+q_{1}\mathrm{i}+q_{2}\mathrm{j}+q_{3}\mathrm{k}
\]
四元数的三个虚部满足如下关系:
\[
\begin{cases}
\mathrm{i}^{2}=\mathrm{j}^{2}=\mathrm{k}^{2}=-1 \\
\mathrm{ij}=\mathrm{k}, \quad \mathrm{ji}=-\mathrm{k} \\
\mathrm{jk}=\mathrm{i}, \quad \mathrm{kj}=-\mathrm{i} \\
\mathrm{ki}=\mathrm{j}, \quad \mathrm{ik}=-\mathrm{j}
\end{cases}
\]
参考复平面, 把 \(\mathrm{i,j,k}\)
看作坐标轴, 可以用标量和向量表示四元数:
\[
\boldsymbol{q}=\begin{bmatrix}s, \boldsymbol{v}\end{bmatrix}^{T}, \qquad
s=q_{0}\in\mathbb{R}, \qquad
\boldsymbol{v}=\begin{bmatrix}q_{1}, q_{2},
q_{3}\end{bmatrix}^{T}\in\mathbb{R}^{3}
\]