在学习数学的过程中有时会有恍然大悟的感觉,并且我觉得数学的直觉胜于形式化推演。开篇贴子记录一下。不求证明,尽量用简短的几句话来描述这个直觉
四元数的理解
为什么二维旋转从复数就可以,三维旋转要用四维的数来表示?
因为二维旋转假定转轴固定,只有一个自由度,用一个变量就可以描述θ,写成复数形式就是
cos
θ
+
i
sin
θ
\cos{\theta} + i\sin{\theta}
cosθ+isinθ
描述三维旋转需要有四个维度,转轴向量(x, y, z), 转角θ
四元数的表示
q
=
(
(
x
,
y
,
z
)
sin
θ
2
,
cos
θ
2
)
q=((x,y,z)\sin{\frac{\theta}{2}},\cos{\frac{\theta}{2}})
q=((x,y,z)sin2θ,cos2θ)
x,y,z 是转轴, θ/2是转角,写成复数就是
cos
θ
+
i
x
sin
θ
2
+
j
y
sin
θ
2
+
k
z
sin
θ
2
\cos{\theta} + ix\sin{\frac{\theta}{2}}+ jy\sin{\frac{\theta}{2}}+ kz\sin{\frac{\theta}{2}}
cosθ+ixsin2θ+jysin2θ+kzsin2θ
我最搞不懂的地方就是,为什么是θ/2 ?为什么对一个向量的旋转要写成
q
v
q
−
1
qvq^{-1}
qvq−1
难道不能像复数一样,转多少就用多大的角度吗
看了很多文章,其中的推演过程都很流畅,但是无法形成我自己的直观理解,一直想不通为什么是半角,为什么两个四元数要把被旋转量夹在中间。今天想明白了,赶紧记录下来。
考
查
一
个
单
位
向
量
(
v
x
,
v
y
,
v
z
)
表
示
为
四
元
数
就
是
v
x
i
+
v
y
j
+
v
z
k
+
0
,
该
向
量
在
i
j
k
构
成
的
三
维
空
间
中
。
考查一个单位向量 (v_{x},v_{y} ,v_{z})表示为四元数就是v_{x}i +v_{y}j +v_{z}k + 0,该向量在ijk构成的三维空间中。
考查一个单位向量(vx,vy,vz)表示为四元数就是vxi+vyj+vzk+0,该向量在ijk构成的三维空间中。
把
这
个
向
量
绕
i
轴
逆
时
针
旋
转
90
度
。
写
成
四
元
数
相
乘
的
形
式
就
是
把这个向量绕i轴逆时针旋转90度。写成四元数相乘的形式就是
把这个向量绕i轴逆时针旋转90度。写成四元数相乘的形式就是
i
⋅
(
v
x
i
+
v
y
j
+
v
z
k
+
0
)
i \cdot(v_{x}i +v_{y}j +v_{z}k + 0)
i⋅(vxi+vyj+vzk+0)
=
−
v
x
+
v
y
k
−
v
z
j
+
0
i
=-v_{x} +v_{y}k -v_{z}j + 0i
=−vx+vyk−vzj+0i
把
结
果
再
按
向
量
的
形
式
表
示
就
是
(
0
,
−
v
z
,
v
y
)
把结果再按向量的形式表示就是 (0,-v_{z}, v_{y})
把结果再按向量的形式表示就是(0,−vz,vy)
这时你会发现好好的一个单位向量旋转之后,就少了一个Vx的分量,它的模已经不等于1了。它的另一个分量Vx已经被转到实部(第四维)去了,即不在ijk的三维子空间中。而我想要的结果是输入的向量在ijk构成的三维子空间中,输出的向量也在ijk构成的三维子空间中
而如果我们换种旋转方式,先按i轴逆时针转45度,再以i轴共轭的方向再顺时针转45度。这样总共转了90度而且把转到实部的分量再转回到ijk空间中,就可以完成整个旋转。
用图来表示
第一步:
第二步
同样是转45度,一个是绕i轴正方向逆时针旋转,一个是绕i轴负方向顺时针旋转。两步合并一个完整的90度
最
后
再
做
一
个
实
验
,
这
次
简
单
地
实
现
向
量
(
1
2
,
3
2
,
0
)
绕
i
轴
逆
时
针
旋
转
90
度
最后再做一个实验,这次简单地实现向量 ({\frac{1}{2}} ,{\frac{\sqrt{3}}{2}} , 0)绕i轴逆时针旋转90度
最后再做一个实验,这次简单地实现向量(21,23,0)绕i轴逆时针旋转90度
第
一
步
:
按
i
轴
逆
时
针
转
45
,
相
当
于
用
四
元
数
2
2
+
2
2
i
左
乘
向
量
第一步:按i轴逆时针转45,相当于用四元数 {\frac{\sqrt{2}}{2}} + {\frac{\sqrt{2}}{2}} i 左乘向量
第一步:按i轴逆时针转45,相当于用四元数22+22i左乘向量
(
2
2
+
2
2
i
)
⋅
(
1
2
i
+
3
2
j
+
0
k
+
0
)
( {\frac{\sqrt{2}}{2}} + {\frac{\sqrt{2}}{2}} i ) \cdot({\frac{1}{2}}i +{\frac{\sqrt{3}}{2}}j +0k + 0)
(22+22i)⋅(21i+23j+0k+0)
=
2
4
i
+
6
4
j
+
6
4
k
−
2
4
={\frac{\sqrt{2}}{4}}i +{\frac{\sqrt{6}}{4}}j +{\frac{\sqrt{6}}{4}}k - {\frac{\sqrt{2}}{4}}
=42i+46j+46k−42
第
二
步
:
按
i
轴
共
轭
方
向
顺
时
针
转
45
,
相
当
于
用
四
元
数
2
2
−
2
2
i
右
乘
向
量
第二步:按i轴共轭方向顺时针转45,相当于用四元数 {\frac{\sqrt{2}}{2}} - {\frac{\sqrt{2}}{2}} i 右乘向量
第二步:按i轴共轭方向顺时针转45,相当于用四元数22−22i右乘向量
(
2
4
i
+
6
4
j
+
6
4
k
−
2
4
)
⋅
(
2
2
−
2
2
i
)
({\frac{\sqrt{2}}{4}}i +{\frac{\sqrt{6}}{4}}j +{\frac{\sqrt{6}}{4}}k - {\frac{\sqrt{2}}{4}})\cdot( {\frac{\sqrt{2}}{2}} - {\frac{\sqrt{2}}{2}} i )
(42i+46j+46k−42)⋅(22−22i)
=
1
2
i
+
0
j
+
3
2
k
+
0
={\frac{1}{2}}i +0j +{\frac{\sqrt{3}}{2}}k + 0
=21i+0j+23k+0
即
向
量
(
1
2
,
0
,
3
2
)
即向量 ({\frac{1}{2}} ,0,{\frac{\sqrt{3}}{2}})
即向量(21,0,23)