序:上两节我们介绍了复数的基本概念与性质,以及复数与二维旋转的关系。
三维旋转四元数系列(0.复数基本介绍)https://blog.youkuaiyun.com/SKANK911/article/details/90033451
三维旋转四元数系列(1.复数与二维旋转)https://blog.youkuaiyun.com/SKANK911/article/details/90055245
这节开始进入三维空间。
我们生活中常用的三维空间旋转表达式欧拉角,其依赖于zyx三个坐标轴,对应偏航yaw、俯仰pitch、滚翻roll。

欧拉角由于其存在万向锁(Gimbal lock)的问题,不方便计算。关于万向锁的详细解释在这篇博客中有详细描述:https://blog.youkuaiyun.com/ccnt_2012/article/details/81327448。
数学性质更好的三维空间刚体描述有旋转向量(角轴/轴角)、旋转矩阵(旋转向量的反对称形式),当然还有本系列的主题四元数。在开始四元数之前我们先着重探讨一下轴角(旋转矩阵其实就是轴角的反对称嘛),以及与之相关的一个公式的推导(罗得里格斯公式)。
1.轴角

如上图所示,采用右手坐标系,u为轴角的旋转轴,向量v延u旋转Ѳ角度后得到 v’。这样一个旋转可采用{x,y,z, Ѳ }四个量描述。其中{x,y,z}为旋转轴u的坐标。
我们在定义转轴u{x,y,z}时实际上多引入了一个变量,由于只考虑旋转,可以加入约束(归一化)
![]()
这样旋转轴u可改为单位向量:
![]()
2.罗德里格斯公式
向量v在旋转轴所在坐标系下可分解为两个方向的分量相加,如下图:

则旋转前与后的向量可表示为:
;![]()
其中
与u正交,
为v在u上的正交投影。由正交投影公式:
![]()
![]()
由此推出:

由于
与u重合,在旋转时不变即:![]()
则计算
的旋转即可。我们俯视于旋转轴u,将三维旋转转化为二维观察。

如上图中w为构造的一个同时正交于u与
的向量,则其可由如下叉乘得到:
![]()
且满足如下约束:
![]()
![]()
![]()
即,模长相等。如上图经过旋转后的向量v’在该方向上的分量为:
![]()
![]()
综上带入
与
可得:

其中
=
因为u平行于
,
。
![]()
![]()
注意点乘与叉乘。至此完成了罗德里格斯公式的推导。该公式可以描述轴角到旋转矩阵的过程。令旋转矩阵为R则:
![]()
式中n对应旋转轴v,旋转角度为:
![]()
其中
=1+2![]()
本文深入探讨三维空间旋转表达,对比欧拉角与轴角的优劣,详细推导罗德里格斯公式,展示从轴角到旋转矩阵的转换过程。
1万+

被折叠的 条评论
为什么被折叠?



