刚体运动和坐标变换-1
基础代数
外积:
和 两个向量的外积代表一个垂直这两个向量的向量,大小为
其中, 是互相正交的基底向量。
我们可以将外积的形式写成矩阵乘以向量的形式,即:a的反对称矩阵左乘b
反对称矩阵 ,满足
欧式变换
两个坐标系之间的变换,可以被解释成旋转加上平移。
旋转矩阵 :旋转矩阵可以表示向量的旋转,其本质是两个坐标系基底之间的内积构成的矩阵
SO(n) 是特殊正交群, 这个集合包含所有n维的旋转矩阵,行列式为1,并且都是正交矩阵。
正交矩阵,即
平移可以用一个向量 来表示
整个欧式变换,可以理解成:
齐次坐标和变换矩阵
为了将平移和旋转融合成一个式子,我们将欧式变换写成如下形式:
其中,我们扩展了向量 变成四维,称之为 齐次坐标,矩阵 称之为 变换矩阵
同样的,变换矩阵构成的集合,称之为 特殊欧式群
变换矩阵的逆,也可以简单求出,即:
Rodrigues's Formula
Rodrigues's Formula 是将旋转矩阵 , 变换成旋转轴 和旋转角 的形式:
更进一步地,我们可以使用旋转矩阵的迹,来计算旋转角:
四元数
旋转矩阵用9个变量来描述三个自由度的旋转,具有冗余性,由于我们找不到无歧义的三维旋转表示,我们引入四元素来进行旋转的表示
注意到复数的乘法,表示复平面上的旋转,比如我们对复向量乘一个虚数 ,就等于逆时针旋转90度。
比如,对于复数向量 , 代表实数轴上的一个向量
, 代表虚轴正方向的一个向量,即逆时针旋转90度
四元数可以表示为,一个实部 + 三个虚部:
三个虚部满足:
我们可以将四元数记作实部和虚部的向量表示,即:
四元数的运算
不妨记,
其中,
- 加减法:
- 乘法:
- 模长:
- 共轭:
- 逆:
用四元数表示旋转
假设有一个三维空间点 , 和一个单位四元数 指定的旋转,记旋转后的点为 ,我们有矩阵描述:
我们将三维空间点,记成一个虚四元数,即:
则旋转后的点,可以被表示成:
这个点也是一个虚四元数
Proof:
假设旋转四元数为 , 可得
从而:
注意到, 的结果是和 以及 都垂直,所以