平面旋转矩阵

                     

贡献者: addis

预备知识 矩阵,平面旋转变换

   我们之前学过的 “平面旋转变换” 属于线性变换,以下用矩阵 $ \boldsymbol{\mathbf{R}} _2$ 表示。虽然我们可以直接把式 1 式 4 写成矩阵乘以列矢量的形式,得到

\begin{equation} \begin{pmatrix}x'\\ y'\end{pmatrix} = \begin{pmatrix} \cos\theta & - \sin\theta\\ \sin\theta &\cos\theta \end{pmatrix} \begin{pmatrix}x\\ y\end{pmatrix} ~. \end{equation}
但这里我们用另一种方法推导一次,能更好地帮助理解和记忆。

图
图 1:把单位矢量 $ \hat{\boldsymbol{\mathbf{x}}} $ 和 $ \hat{\boldsymbol{\mathbf{y}}} $ 逆时针旋转 $\theta$

   已知单位矢量 $ \hat{\boldsymbol{\mathbf{x}}} = (1, 0), \hat{\boldsymbol{\mathbf{y}}} = (0, 1)$ 逆时针旋转 $\theta$ 得(图 1

\begin{equation} \boldsymbol{\mathbf{R}} _2 \begin{pmatrix}1\\0\end{pmatrix} = \begin{pmatrix}\cos \theta \\ \sin \theta\end{pmatrix} ~, \qquad \boldsymbol{\mathbf{R}} _2 \begin{pmatrix}0\\1\end{pmatrix} = \begin{pmatrix}-\sin\theta \\ \cos\theta\end{pmatrix} ~. \end{equation}
要求任意矢量 $ \boldsymbol{\mathbf{v}} = (v_1, v_2)$ 的旋转矩阵,可以将 $ \boldsymbol{\mathbf{v}} $ 表示成 $ \hat{\boldsymbol{\mathbf{x}}} $ 和 $ \hat{\boldsymbol{\mathbf{y}}} $ 的线性组合(式 14 )$ \boldsymbol{\mathbf{v}} = v_1 \hat{\boldsymbol{\mathbf{x}}} + v_2 \hat{\boldsymbol{\mathbf{y}}} $。由式 18 ,该线性组合的旋转变换等于 $ \hat{\boldsymbol{\mathbf{x}}} , \hat{\boldsymbol{\mathbf{y}}} $ 分别做旋转变换再做同样的线性组合,即
\begin{equation} \begin{aligned} \boldsymbol{\mathbf{R}} _2 \left(v_1 \hat{\boldsymbol{\mathbf{x}}} + v_2 \hat{\boldsymbol{\mathbf{y}}} \right) &= v_1 \boldsymbol{\mathbf{R}} _2 \hat{\boldsymbol{\mathbf{x}}} + v_2 \boldsymbol{\mathbf{R}} _2 \hat{\boldsymbol{\mathbf{y}}} \\ &= v_1 \begin{pmatrix}\cos \theta \\ \sin \theta\end{pmatrix} + v_2 \begin{pmatrix}-\sin\theta \\ \cos\theta\end{pmatrix} \\ &= \begin{pmatrix}\cos \theta & - \sin \theta \\ \sin \theta & \cos \theta\end{pmatrix} \begin{pmatrix}v_1 \\v_2\end{pmatrix} ~. \end{aligned} \end{equation}
所以旋转矩阵为
\begin{equation} \boldsymbol{\mathbf{R}} _2 = \begin{pmatrix} \cos\theta & - \sin\theta\\ \sin\theta &\cos\theta \end{pmatrix}~. \end{equation}
这与平面旋转变换得出的结果一致。

   把这个推导推广到一般情况,就是如果已知每个基底 $ \boldsymbol{\mathbf{\beta}} _i$ 的线性变换(记变换矩阵为 $ \boldsymbol{\mathbf{A}} $)结果为 $ \boldsymbol{\mathbf{\alpha}} _i = \boldsymbol{\mathbf{A}} \boldsymbol{\mathbf{\beta}} _i$,那么变换矩阵的第 $i$ 列就是第 $i$ 个列矢量 $ \boldsymbol{\mathbf{\alpha}} _i$。

绕任意点旋转

   由式 5 可得绕任一点 $(x_0, y_0)$ 旋转为

\begin{equation} \begin{aligned} \begin{pmatrix}x'\\y'\end{pmatrix} &= \begin{pmatrix}\cos\theta & -\sin\theta\\ \sin\theta & \cos\theta\end{pmatrix} \begin{pmatrix}x - x_0\\ y - y_0\end{pmatrix} + \begin{pmatrix}x_0 \\ y_0\end{pmatrix} \\ &= \begin{pmatrix}\cos\theta & -\sin\theta\\ \sin\theta & \cos\theta\end{pmatrix} \begin{pmatrix}x\\ y\end{pmatrix} + \begin{pmatrix}1-\cos\theta & -\sin\theta\\ \sin\theta & 1-\cos\theta\end{pmatrix} \begin{pmatrix}x_0\\ y_0\end{pmatrix} ~. \end{aligned} \end{equation}
可见绕任意点旋转并不能简单表示为单个矩阵和 $(x\ y) ^{\mathrm{T}} $ 相乘,所以不是线性变换。习惯上讨论旋转变换时都是默认关于原点旋转。

1. 主动理解和被动理解

   我们将任意矢量 $ \boldsymbol{\mathbf{v}} $ 的旋转变换记为 $ \boldsymbol{\mathbf{u}} = \boldsymbol{\mathbf{R}} _2 \boldsymbol{\mathbf{v}} $,我们把 $ \boldsymbol{\mathbf{v}} $ 看做是二维空间中某矢量关于基底 $ \hat{\boldsymbol{\mathbf{x}}} , \hat{\boldsymbol{\mathbf{y}}} $ 的坐标。若我们把 $ \boldsymbol{\mathbf{u}} $ 看做是另一矢量关于 $ \hat{\boldsymbol{\mathbf{x}}} , \hat{\boldsymbol{\mathbf{y}}} $ 的坐标,那么 $ \hat{\boldsymbol{\mathbf{u}}} $ 就等于 $ \hat{\boldsymbol{\mathbf{v}}} $ 逆时针旋转 $\theta$ 角。旋转矩阵的这种理解被称为主动的(active)

   另一种可能的理解是,$ \boldsymbol{\mathbf{u}} $ 和 $ \boldsymbol{\mathbf{v}} $ 代表二维空间中的同一矢量关于不同基底的展开。我们把 $ \boldsymbol{\mathbf{u}} $ 使用的基底记为 $ \hat{\boldsymbol{\mathbf{u}}} _1, \hat{\boldsymbol{\mathbf{u}}} _2$,$ \boldsymbol{\mathbf{v}} $ 使用的基底记为 $ \hat{\boldsymbol{\mathbf{v}}} _1, \hat{\boldsymbol{\mathbf{v}}} _2$。我们有

\begin{equation} u_1 \hat{\boldsymbol{\mathbf{u}}} _1 + u_2 \hat{\boldsymbol{\mathbf{u}}} _2 = v_1 \hat{\boldsymbol{\mathbf{v}}} _1 + v_2 \hat{\boldsymbol{\mathbf{v}}} _2~. \end{equation}
将 $ \boldsymbol{\mathbf{R}} _2$ 的矩阵元记为 $R_{ij}$,不难证明两组基底之间的关系为
\begin{equation} \left\{\begin{aligned} \hat{\boldsymbol{\mathbf{u}}} _1 = R_{11} \hat{\boldsymbol{\mathbf{v}}} _1 + R_{12} \hat{\boldsymbol{\mathbf{v}}} _2 \\ \hat{\boldsymbol{\mathbf{u}}} _2 = R_{21} \hat{\boldsymbol{\mathbf{v}}} _1 + R_{22} \hat{\boldsymbol{\mathbf{v}}} _2 \end{aligned}\right. ~.\end{equation}
将矩阵元代入可知,基底 $ \hat{\boldsymbol{\mathbf{u}}} _1, \hat{\boldsymbol{\mathbf{u}}} _2$ 分别是基底 $ \hat{\boldsymbol{\mathbf{v}}} _1, \hat{\boldsymbol{\mathbf{v}}} _2$ 顺时针旋转 $\theta$ 角所得。我们把这种理解叫做被动(passive)的,即旋转矩阵表示同一个矢量的基底变换

2. 矩阵元的意义(被动理解)

   在被动理解中,矩阵元 $R_{i,j}$ 的几何意义就是单位矢量 $ \hat{\boldsymbol{\mathbf{u}}} _i$ 和 $ \hat{\boldsymbol{\mathbf{v}}} _j$ 的点乘(内积)。于是变换可以写成

\begin{equation} \begin{pmatrix}u_1\\u_2\end{pmatrix} = \begin{pmatrix} \hat{\boldsymbol{\mathbf{u}}} _1 \boldsymbol\cdot \hat{\boldsymbol{\mathbf{v}}} _1 & \hat{\boldsymbol{\mathbf{u}}} _1 \boldsymbol\cdot \hat{\boldsymbol{\mathbf{v}}} _2\\ \hat{\boldsymbol{\mathbf{u}}} _2 \boldsymbol\cdot \hat{\boldsymbol{\mathbf{v}}} _1 & \hat{\boldsymbol{\mathbf{u}}} _2 \boldsymbol\cdot \hat{\boldsymbol{\mathbf{v}}} _2\end{pmatrix} \begin{pmatrix}v_1 \\ v_2\end{pmatrix} ~, \end{equation}
展开后得
\begin{equation} \begin{aligned} &u_1 = (v_1 \hat{\boldsymbol{\mathbf{v}}} _1 + v_2 \hat{\boldsymbol{\mathbf{v}}} _2) \boldsymbol\cdot \hat{\boldsymbol{\mathbf{u}}} _1~,\\ &u_2 = (v_1 \hat{\boldsymbol{\mathbf{v}}} _1 + v_2 \hat{\boldsymbol{\mathbf{v}}} _2) \boldsymbol\cdot \hat{\boldsymbol{\mathbf{u}}} _2~, \end{aligned} \end{equation}
这正是 $u_1, u_2$ 的定义。

   若考虑从 $u_i$ 到 $v_i$ 的逆变换,同理有

\begin{equation} \begin{pmatrix}v_1\\v_2\end{pmatrix} = \begin{pmatrix} \hat{\boldsymbol{\mathbf{v}}} _1 \boldsymbol\cdot \hat{\boldsymbol{\mathbf{u}}} _1 & \hat{\boldsymbol{\mathbf{v}}} _1 \boldsymbol\cdot \hat{\boldsymbol{\mathbf{u}}} _2\\ \hat{\boldsymbol{\mathbf{v}}} _2 \boldsymbol\cdot \hat{\boldsymbol{\mathbf{u}}} _1 & \hat{\boldsymbol{\mathbf{v}}} _2 \boldsymbol\cdot \hat{\boldsymbol{\mathbf{u}}} _2\end{pmatrix} \begin{pmatrix}u_1 \\ u_2\end{pmatrix} ~. \end{equation}
由于几何矢量的点乘满足交换律,对比式 8 式 10 可以发现后者的矩阵就是 $ \boldsymbol{\mathbf{R}} $ 的转置即 $ \boldsymbol{\mathbf{R}} ^{\mathrm{T}} $。

   事实上,任何 $2\times2$ 的实数正交归一矩阵 都可以表示平面旋转变换,所以我们证明了正交归一矩阵的一个重要的性质:

定理 1 

   正交矩阵的逆矩阵等于它的转置。

                     

© 小时科技 保留一切权利