文章同步更新于 github pages,欢迎收藏!
文章目录
定义
q = w + x i + y j + z k = q w + q v = [ q w q x q y q z ] = [ q w q v ] \mathbf q=w+xi+yj+zk=q_w+\mathbf q_v =\begin{bmatrix} q_w \\ q_x \\ q_y \\ q_z \end{bmatrix} =\begin{bmatrix} q_w \\ \mathbf q_v \end{bmatrix} q=w+xi+yj+zk=qw+qv=⎣⎢⎢⎡qwqxqyqz⎦⎥⎥⎤=[qwqv]
其中 i , j , k i,j,k i,j,k是虚根,满足
i 2 = j 2 = k 2 = i j k = − 1 i^2=j^2=k^2=ijk=-1 i2=j2=k2=ijk=−1
即这里使用了Hamilton规范。由此可以推导出
i j = − j i = k , j k = − k j = i , k i = − i k = j ij=-ji=k,\ jk=-kj=i,\ ki=-ik=j ij=−ji=k, jk=−kj=i, ki=−ik=j
实部 q w ≠ 0 q_w\neq 0 qw̸=0,虚部 q v = 0 \mathbf q_v= 0 qv=0的四元数就等价为普通实数。
实部 q w = 0 q_w=0 qw=0,虚部 q v ≠ 0 \mathbf q_v\neq 0 qv̸=0的四元数称为纯四元数。对于纯四元数,常常只使用一个三维矢量 q v \mathbf q_v qv表示。
加法
对应项直接相加即可
p ± q = [ p w ± q m p v ± q v ] \mathbf p \pm\mathbf q=\begin{bmatrix} p_w \pm q_m\\ \mathbf p_v \pm \mathbf q_v \end{bmatrix} p±q=[pw±qmpv±qv]
p + q = q + p \mathbf p +\mathbf q = \mathbf q +\mathbf p p+q=q+p
( p + q ) + r = p + ( q + r ) (\mathbf p +\mathbf q)+\mathbf r=\mathbf p +(\mathbf q+\mathbf r) (p+q)+r=p+(q+r)
乘法
利用定义 q = w + x i + y j + z k \mathbf q=w+xi+yj+zk q=w+xi+yj+zk,两个四元数相乘,并合并相同虚根的对应项,可以定义四元数的乘法。
p ⊗ q = [ p w q w − p x q x − p y q y − p z q z p w q x + p x q w + p y q z − p z q y p w q y − p x q z + p y q w + p z q x p w q z + p x q y − p y q x + p z q w ] \mathbf p\otimes\mathbf q=\begin{bmatrix} p_wq_w-p_xq_x-p_yq_y-p_zq_z \\ p_wq_x+p_xq_w+p_yq_z-p_zq_y \\ p_wq_y-p_xq_z+p_yq_w+p_zq_x \\ p_wq_z+p_xq_y-p_yq_x+p_zq_w \end{bmatrix} p⊗q=⎣⎢⎢⎡pwqw−pxqx−pyqy−pzqzpwqx+pxqw+pyqz−pzqypwqy−pxqz+pyqw+pzqxpwqz+pxqy−pyqx+pzqw⎦⎥⎥⎤
用矢量表示形式,上式可以简化为
p ⊗ q = [ p w q w − p v T q v p w q v &#