图

四元数与旋转矩阵

预备知识 绕轴旋转矩阵

   我们可以用四元数(quaternions ) $\bvec q = [s, \bvec v]$ 来表示绕轴旋转矩阵, 其中

\begin{equation} s = \cosRound{\theta/2} \qquad v = \abs{\bvec v} = \sinRound{\theta/2}\uvec A \end{equation}
则绕轴旋转矩阵可以表示为
\begin{equation} \mat R_\theta = \begin{pmatrix} 1 - 2v_y^2 - 2v_z^2 & 2v_xv_y - 2sv_z & 2v_x v_z + 2s v_y\\ 2v_x v_y + 2sv_z & 1 - 2v_x^2 - 2v_z^2 & 2v_y v_z - 2s v_x\\ 2v_x v_z - 2s v_y & 2v_y v_z + 2s v_x & 1 - 2v_x^2 - 2v_y^2 \end{pmatrix} \end{equation}

   四元数的乘法运算可以表示两个旋转矩阵相乘, 即把两次旋转合并为一次旋转

\begin{equation} [s_1, \bvec v_1] [s_2, \bvec v_2] = [s_1 s_2 - \bvec v_1 \vdot \bvec v_2, s_1 \bvec v_2 + s_2 \bvec v_1 + \bvec v_1 \cross \bvec v_2] \end{equation}

   若从坐标系 B 到坐标系 A 的基底变换矩阵为 $\mat R$, 当 B 绕原点以角速度 $\bvec \omega$ 旋转时有

\begin{equation} \dvTwo{\mat R}{t} = \mat \Omega \mat R \end{equation}
其中 $\mat\Omega$ 乘以任意位置矢量 $\bvec r$ 等于 $\bvec \omega \cross \bvec r$
\begin{equation} \mat \Omega = \pmat{ 0 & -\omega_z & \omega_y\\ \omega_z & 0 & -\omega_x\\ -\omega_y & \omega_x & 0 }\end{equation}
若旋转矩阵 $\mat R$ 对应的四元数为 $\bvec q$, 则
\begin{equation} \dot {\bvec q}(t) = \frac12 [0, \bvec \omega(t)] \bvec q(t) \end{equation}

致读者: 小时物理百科一直以来坚持所有内容免费且不做广告,这导致我们处于日渐严重的亏损状态。长此以往很可能会最终导致我们不得不选择商业化,例如大量广告,内容付费,会员制,甚至被收购。因此,我们鼓起勇气在此请求广大读者热心捐款,使网站得以健康发展。如果看到这条信息的每位读者能慷慨捐助 10 元,我们几天内就能脱离亏损状态,并保证网站能在接下来的一整年里向所有读者继续免费提供优质内容。感谢您的支持。
—— 小时(项目创始人)

编辑词条 返回目录 返回主页 捐助项目 © 小时物理百科 保留一切权利