很详细,很有用的3D rotation需要的数学基础-欧拉角和四元数

依次绕着每个轴旋转。

在这里插入图片描述

1 欧拉角:

对物体进行编辑,或者摆放的时候会经常用,但是做动画的时候无法使用欧拉角。
在这里插入图片描述
欧拉角的问题:好处就是符合人的知觉
(1)严格的顺序依赖:顺序不一样,他算出来的结果不一样。
在这里插入图片描述
(2)万向节:万向锁

沿时间轴上偏的方向和它的速度一起积分,可以算出它的轨迹。
在这里插入图片描述
(3)很难插值
在这里插入图片描述
(4)旋转的叠加很难
(5)很难沿着一个固定的轴旋转。
在这里插入图片描述

2 四元数

在三维空间内是work的。
在这里插入图片描述
在这里插入图片描述
四元数的定义如下:
在这里插入图片描述
欧拉角转成四元数的公式如下:

在这里插入图片描述
四元数和矩阵的计算很类似;

在这里插入图片描述

四元数转成旋转矩阵:
在这里插入图片描述

反向旋转公式,旋转叠加,一个向量旋转到另外一个向量的四元数公式如下:
在这里插入图片描述
给定轴的旋转公式如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41286360/article/details/125287942