四元数与旋转变换
Charles007
June 29, 2020
四元数在图形图像的处理 (主要是坐标变换) 方面还有点作用。因此我又重新学习了一下。写下了这篇学习笔
记。方便在以后要用的时候查看,可以节约一点时间。要理解四元数,就需要先复习一下复数的相关知识,四元
数可以类比于复数。
1 复数基础知识
复数是由两个实数组成的一个有序实数对 z = (a, b)。有序对中的第一个分量叫做实部,第二个分量叫做虚部。复
数的相等及加减乘除定义如下:
• (a, b) = (c, b) 当且仅当 a = c、b = d 同时成立。
• (a, b) ± (c, d) = (a ±c, b ±d)。
• (a, b)(c, d) = (ac − bd, ad + bc)。
•
(a,b)
(c,d)
= (
ac+bd
c
2
+d
2
,
bc−ad
c
2
+d
2
), if(c, d) = (0, 0)。
把虚部单位向量定义为 i = (0, 1) 则根据复数乘法可以得到 i
2
= (0, 1)(0, 1) = (−1, 0) = −1。借助于 i,可以把复
数 (a, b) 表示为 a + ib。这种表达方式下的复数加减乘除为:
• (a + ib) ± (c + id) = (a ± c) + i(b ± d)。
• (a + ib)(c + id) = (ac − bd) + i(ad + bc)。
•
(a+ib)
(c+id)
=
ac+bd
c
2
+d
2
+ i
bc−ad
c
2
+d
2
, if(c, d) = (0, 0)。
复数 z = (a, b) = a + ib 的共轭复数为 ¯z = (a, −b) = a −ib。由复数乘法可以得到 z ¯z = ¯zz = a
2
+ b
2
。
2 复数的几何含义
因为复数可以看做是 2D 复平面上的一个点,所以可以用极坐标的形式来表示复数。令 r = |a + ib|,则有:
a + ib = rcosθ + irsinθ = r(cosθ + isinθ) (1)
令 z
1
= r
1
(cosθ
1
+ isinθ
1
)、z
2
= r
2
(cosθ
2
+ isinθ
2
),则有:
z
1
z
2
= r
1
r
2
(cos(θ
1
+ θ
2
) + isin(θ
1
+ θ
2
)) (2)
如果 r
2
= 1,则从几何上来看就是把 z
1
旋转了 θ
2
角度。也就是说,一个复数乘以 (左乘右乘都一样) 一个单位
复数,其效果就是把这个复数旋转了单位复数包含的角度 (有正负)。
1