四元数的定义
四元数(Quaternion)是带有一个实部和三个虚部的一种扩展复数,有两种表达方式
标量形式
标量+向量形式
由于标量表达式中的 i,j,k 可以理解为相互正交的3个单位向量,于是四元数也可以表示为标量+向量的形式
四元数相关运算
存在qa,qb两个四元数
共轭(conjugate):
取逆(inverse):
取模(magnitude):
乘法:
四元数表示旋转
从二维平面复数的乘法中,我们可知:
表示某条射线的复数 和 表示旋转角度的复数,其乘积为该射线按旋转角度旋转后的射线所表示的复数,那么四元数可以理解为其在三维空间的拓展应用。
实际上,四元数是一种表示三维姿态的方法,其特点是紧凑、易于迭代、又不会出现奇异值。
Unity C#四元数代码实现旋转
1 | Vector3 eulerAngles = new Vector3(45f, 30f, 60f); // 欧拉角 |
1 | public class RotateByQuaternion : MonoBehaviour |
Credits
利用四元数表示空间向量的旋转:https://blog.csdn.net/qq_42648534/article/details/124072859