文章目录
参考资料:Quaternion
全文重点:第五小节_总结四元数与旋转
1复数的矩阵表示形式
2复数矩阵代表的2D线性变换
所以,复数的相乘其实是旋转与缩放变换的复合.如果有一个复数 𝑧 = 𝑎+𝑏𝑖,那么 𝑧 与任意一个复数 𝑐 相乘都会将 𝑐 逆时针旋转 θ = atan2(𝑏, 𝑎) 度,并将其缩放
∣
∣
z
∣
∣
=
a
2
+
b
2
||z||=\sqrt{a^2+b^2}
∣∣z∣∣=a2+b2
复数表示向量2D旋转三种等价形式
矩阵形式
复数相乘形式
指数积形式
现在复数的定义就与实部与虚部的两个分量 𝑎, 𝑏 无关了,我们可以使用一个缩放因子 𝑟 和旋转角度 θ 的形式来定义任意一个复数,而且它旋转与缩放的性质仍然存在
另外值得注意的是2D旋转时先后顺序不重要
3三维中旋转
等效转轴表示方式Axis-Angle
描述旋转所需要的变量:旋转轴 u 的𝑥, 𝑦, 𝑧 坐标,以及一个旋转角 θ,外加一个约束 ∣ ∣ u ∣ ∣ = x 2 + y 2 + z 2 = 1 ||u||=\sqrt{x^2+y^2+z^2}=1 ∣∣u∣∣=x2+y2+z2=1,共三自由度
旋转的分解:平行分量+垂直分量
将待旋转的向量分解为平行于旋转轴和垂直于旋转轴两个方向
平行分量
垂直分量
平行分量的旋转:不变
垂直分量的旋转
垂直分量可以看作一个2D旋转问题
在旋转平面内选取一个与
V
⊥
V _\perp
V⊥相垂直的坐标方向w来表示
V
⊥
′
V' _\perp
V⊥′
叠加后的旋转
化简
4四元数
四元数的定义
模长(没有什么几何意义)
加减法
数乘
四元数乘法
化简技巧,下表表示左列元素x右列元素(因为不满足交换律)
可以写成矩阵形式
Graßmann积
纯四元数
仅有虚部的四元数为纯四元数
四元数的逆
共轭
利用共轭性质寻找逆
5四元数与3D旋转
V
⊥
V _\perp
V⊥旋转
V
∣
∣
V _{||}
V∣∣旋转
V
V
V的旋转
因为
所以
又因为
所以
根据两个定理
化简得到
变换公式
注意:旋转
θ
\theta
θ但是四元数中参数为
1
2
θ
\frac{1}{2}\theta
21θ
总结四元数和旋转
利用四元数形式表达时需要将三维向量写成纯四元数形式来作乘法
绕着旋转轴
u
u
u旋转
2
θ
2\theta
2θ角度的旋转可以用一个单位四元数
q
=
[
c
o
s
(
θ
)
,
s
i
n
(
θ
)
u
]
q=[cos(\theta),sin(\theta)u]
q=[cos(θ),sin(θ)u]
尤其地平行于u的分量不变,垂直于u的分量变为
q
2
v
⊥
q^2v_\perp
q2v⊥
由四元数反求旋转角度和旋转轴
四元数的矩阵乘法形式
多解问题
一个旋转矩阵对应两个四元数