四元数的可视化:从二维到四维的旋转表示
四元数的可视化:从二维到四维的旋转表示
四元数是表示三维空间旋转的一种数学工具,它能够避免传统欧拉角表示法中的万向锁问题。本文通过直观的可视化方法,从二维、三维逐步推广到四维空间,解释了四元数为什么能无歧义地表示三维旋转。
前言
观看3Blue1Brown的四元数可视化视频,分享我对四元数为什么能无奇异表示三维旋转的一些理解。
What are quaternions, and how do you visualize them? A story of four dimensions.
一、四元数为什么能无歧义的表示三维旋转?
1、二维
1、步骤
a. 在原点画一个单位圆
b. 在(-1,0)这个点,把它和单位圆上的任意一点连线,得到每条直线和虚轴的交点(假设(-1,0)这个点被连接到无穷远的地方)
2、发现
a. 单位圆上的任意一点都在虚轴上有唯一确定的点相对应
b. 虚轴右边的单位元部分被映射到了单位圆内的直线上,左半部分则被映射到了圆外的直线上
3、旋转
对点的旋转成了直线上的变形作用,例如:
i ⋅ 1 = i
旋转前:
旋转中:
旋转后:
可以理解为把(1,0)这个点移动到(0,i)这个点,也就是逆时针旋转90°,通过观看图片右边的数轴,能直观的感受到单位圆和坐标轴的四个交点的变化i 4 = 1
也就是旋转360°后回到了原来的位置
2、三维
1、步骤
a. 在三维空间原点处画一个单位球体
b. 连接(0,0,-1)和单位球体上的任意一点,标记和xoy平面的交点
2、发现
a. 单位球体上的任意一点都在xoy平面上有唯一确定的点相对应
b. 球体上半部分被映射到了xoy平面的单位圆内,而球体的下半部分则被映射到了整个二维平面上(假设(0,0,-1)则被映射到了无穷远处)
3、旋转
绕j轴旋转90°
旋转前:
旋转后:
观察右上角的图片,红色的圆从直线变成了圆,黄色的圆则变成了直线,不管它们如何旋转,xoy平面都有唯一确定的一个点和单位球体上的点对应,也就是四元数是没有奇异性的
3、四维
映射:
由上面1、2两点的推广,我们不难想象,在三维空间中,有一部分会被映射到单位球体的内部,而另一部分则被映射到了整个三维平面
由于思维空间超出了我们的想象范围,视频中对四维是通过二三维总结出来的,如下:
通过二三维的映射,我们不难发现,单位圆上面的每个点都能映射到直线上,单位球体上的每一个点都能映射到平面上,并且一一对应,没有奇异性
单位圆映射到直线,从二维变成了一维,单位球体映射到了平面,从三维映射到了二维,由此推广一下,不难得出四元数可以表示三维的旋转
总结
观看了视频的最大感受就是,一一对应没有奇异性,还有就是n+1维的空间能映射到n维的东西上