平面旋转矩阵

                     

贡献者: 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$ 的实数正交归一矩阵都可以表示平面旋转变换,所以我们证明了正交归一矩阵的一个重要的性质:

定理 1 

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


致读者: 小时百科一直以来坚持所有内容免费无广告,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 20 元,我们一周就能脱离亏损, 并在接下来的一年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利