定义:
模长:
加减:
q1+q2=a+bi+cj+dk+e+fi+gi+hk=(a+e)+(b+f)i+(c+g)k +(d+h)k
标量乘法:
四元数乘法:
1
q1q2表示为矩阵: 或
2
3
交换律一般不成立, 当向量平行时,可以交换。
共轭
q = a + bi + cj + dk 共轭为 q* = a -bi - cj - dk
逆
因为 所以
绕 v轴旋转angle角度 四元数
向量v为旋转轴(单位向量),A为要旋转的点,A’为目标点
向量a为向量OA,
向量a1为向量v的垂直分量,向量a2为竖直分量,a3为向量v和a1的外积(a1,a4,a3在同一平面,模长相同,并与向量v垂直)
1
2
绕 v轴旋转angle角度 矩阵
写为矩阵形式:
M a’=
=
XMVECTOR XMQuaternionRotationAxis( [in] FXMVECTOR Axis, [in] float Angle ) noexcept;
返回值为:
四元数
存储为 四维向量
XMMATRIX XMMatrixRotationQuaternion( [in] FXMVECTOR Quaternion ) noexcept;
将转为矩阵
即:M = 的左乘矩阵 *
的右乘矩阵形式