问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

四元数和旋转矩阵转换关系

创作时间:
作者:
@小白创作中心

四元数和旋转矩阵转换关系

引用
CSDN
1.
https://blog.csdn.net/h1527820835/article/details/145666907

在三维空间旋转的表示方法中,旋转矩阵、欧拉角和旋转向量各有优劣。旋转矩阵虽然直观,但冗余性较高;欧拉角和旋转向量虽然紧凑,但存在奇异性。四元数作为一种扩展的复数,既保持了紧凑性,又避免了奇异性,是表示三维旋转的有力工具。本文将详细介绍四元数的结构及其与旋转矩阵之间的转换关系。

旋转表示方法的局限性

旋转矩阵用9个量描述3自由度的旋转,具有冗余性;欧拉角和旋转向量是紧凑的,但具有奇异性。事实上,我们找不到不带奇异性的三维向量描述方式[19]。这有点类似于用两个坐标表示地球表面(如经度和纬度),将必定存在奇异性(纬度为±90°时经度无意义)。

四元数的基本概念

回忆以前学习过的复数。我们用复数集C表示复平面上的向量,而复数的乘法则表示复平面上的旋转:例如,乘上复数i相当于逆时针把一个复向量旋转90°。类似地,在表达三维空间旋转时,也有一种类似于复数的代数:四元数(Quaternion)。四元数是Hamilton找到的一种扩展的复数。它既是紧凑的,也没有奇异性。如果说缺点,四元数不够直观,其运算稍复杂些。

一个四元数q拥有一个实部和三个虚部。四元数有Hamilton和JPL两种形式,下面以Hamilton形式表示:

$$
q = w + xi + yj + zk
$$

其中,i,j,k为四元数的三个虚部。这三个虚部满足以下关系式:

$$
i^2 = j^2 = k^2 = ijk = -1
$$

如果把i,j,k看成三个坐标轴,那么它们与自己的乘法和复数一样,相互之间的乘法和外积一样。有时,人们也用一个标量和一个向量来表达四元数:

$$
q = s + v
$$

这里,s称为四元数的实部,而v称为它的虚部。如果一个四元数的虚部为0,则称为实四元数;反之,若它的实部为0,则称为虚四元数。

旋转向量、四元数和旋转矩阵之间的转换关系

旋转向量到旋转矩阵的转换

旋转向量可以通过李代数转换为旋转矩阵,具体转换关系如下:

旋转向量到四元数的转换

旋转向量可以通过半角旋转向量转换为四元数,具体转换关系如下:

参考资料

[19] 张贤达. 矩阵分析与应用[M]. 清华大学出版社, 2004.

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号