轴角

维基百科,自由的百科全书
跳转至: 导航搜索

旋转的轴角表示用两个值参数化了旋转: 一个或直线,和描述绕这个轴的旋转量的一个。它也叫做旋转的指数坐标。

有时也叫做旋转向量表示,因为这两个参数(轴和角)可用在这个轴上的其是旋转角的一个向量来表示。

用途[编辑]

轴角表示在处理刚体动力学的时候是方便的。它对特征化旋转还有在刚体运动的不同表示之间的转换是有用的。

例子[编辑]

假如你站在地面上,选取重力的方向为负 z 方向。如果你左转,你将绕 z 轴旋转 \tfrac{\pi}{2} 弧度 (或 90 度)。在轴角表示中,这将是

\langle \mathrm{axis}, \mathrm{angle} \rangle = \left( \begin{bmatrix} a_x \\ a_y \\ a_z \end{bmatrix},\theta \right) = \left( \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix},\frac{\pi}{2}\right)

这可以表示为指示 z 方向的模为 \tfrac{\pi}{2} 的旋转向量。

\begin{bmatrix} 0 \\ 0 \\ \frac{\pi}{2} \end{bmatrix}

与其他表示的联系[编辑]

表示旋转有很多方式。理解它们相互之间的区别和如何转换是重要的。

从 so(3) 到 SO(3) 的指数映射[编辑]

从旋转的轴角表示到旋转矩阵的变换使用指数映射

\exp\colon so(3) \to SO(3)

本质上说,通过使用泰勒展开,可以你可以得出在这两种表示之间的闭合形式的关系。给出一个轴  \omega \in \Bbb{R}^{3} 和角  \theta \in \Bbb{R},等价的旋转矩阵给出为:

R = \exp(\hat{\omega} \theta) = \sum_{k=0}^\infty\frac{(\hat{\omega}\theta)^k}{k!} = I + \hat{\omega} \theta + \frac{1}{2}(\hat{\omega}\theta)^2 + \frac{1}{6}(\hat{\omega}\theta)^3 + \cdots
R = I + \hat{\omega}\left(\theta - \frac{\theta^3}{3!} + \frac{\theta^5}{5!} - \cdots\right) + \hat{\omega}^2 \left(\frac{\theta^2}{2!} - \frac{\theta^4}{4!}  + \frac{\theta^6}{6!} - \cdots\right)
R = I + \hat{\omega} \sin(\theta) + \hat{\omega}^2 (1-\cos(\theta))

这里的 R 是 3x3 旋转矩阵帽算子给出与叉积被乘数对应的反对称矩阵算符。

从 SO(3) 到 so(3) 的对数映射[编辑]

要获得旋转矩阵的轴角表示,计算旋转的角

 \theta = \arccos\left( \frac{\mathrm{trace}(R) - 1}{2} \right)

并接着使用它来找到轴

 \omega = \frac{1}{2 \sin(\theta)} \begin{bmatrix} R(3,2)-R(2,3) \\ R(1,3)-R(3,1) \\ R(2,1)-R(1,2) \end{bmatrix}

四元数[编辑]

要从轴角坐标变换到四元数使用下列表达式:

Q = \left(\cos\left(\frac{\theta}{2}\right),  \omega \sin\left(\frac{\theta}{2}\right)\right)

给出一个单位四元数,提取轴角坐标可以使用下列表达式:

\theta = 2\,\arccos(q_0)\,
\omega =
\left\{
  \begin{matrix}
    \frac{q}{ \sin( \theta/2 ) }
     , & \mathrm{if} \; \theta \neq 0 \\ 
    0, & \mathrm{otherwise}
  \end{matrix}
\right.

参见[编辑]