贡献者: 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}}} $。由
式 21 ,该线性组合的旋转变换等于 $ \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$ 的实数正交归一矩阵都可以表示平面旋转变换,所以我们证明了正交归一矩阵的一个重要的性质: