回転行列(Rotation Matrix)やReflection Matrixはシンプルに定義できる行列である一方でベクトルの回転や指定したベクトルの反対側への移動など、図形に有用な変換が可能です。当記事では$2$Dにおける回転行列とReflection Matrixの定義と行列の具体例についてまとめました。
作成にあたってはWikipediaの「Rotations and reflections in two dimensions」の内容を主に参考にしました。
・数学まとめ
https://www.hello-statisticians.com/math_basic
回転行列とReflection Matrix
三角関数の加法定理
当項では回転行列とReflection Matrixの理解に用いる三角関数の加法定理について確認します。三角関数の加法定理は下記のような式で表されます。
$$
\large
\begin{align}
\sin{(\alpha + \beta)} &= \sin{\alpha} \cos{\beta} + \cos{\alpha} \sin{\beta} \quad (1) \\
\cos{(\alpha + \beta)} &= \cos{\alpha} \cos{\beta} \, – \, \sin{\alpha} \sin{\beta} \quad (2)
\end{align}
$$
上記の直感的な理解については下記で詳しく取り扱いました。
また、$\sin{(\alpha \, – \, \beta)}$や$\cos{(\alpha \, – \, \beta)}$については$(1)$式と$(2)$式に$\beta = -\beta$を代入することで下記のように得られます。
$$
\large
\begin{align}
\sin{(\alpha \, – \, \beta)} &= \sin{\alpha} \cos{(-\beta)} + \cos{\alpha} \sin{(-\beta)} = \sin{\alpha} \cos{\beta} \, – \, \cos{\alpha} \sin{\beta} \quad (1)’ \\
\cos{(\alpha \, – \, \beta)} &= \cos{\alpha} \cos{(-\beta)} \, – \, \sin{\alpha} \sin{(-\beta)} = \cos{\alpha} \cos{\beta} + \sin{\alpha} \sin{\beta} \quad (2)’
\end{align}
$$
回転行列の定義
$2$次元平面における回転行列を$\mathrm{Rot}(\theta)$とおくと、$\mathrm{Rot}(\theta)$は下記のように定義されます。
$$
\large
\begin{align}
\mathrm{Rot}(\theta) = \left( \begin{array}{cc} \cos{\theta} & -\sin{\theta} \\ \sin{\theta} & \cos{\theta} \end{array} \right)
\end{align}
$$
以下、上記が回転行列であることを確認します。$\displaystyle \left( \begin{array}{c} \cos{\alpha} \\ \sin{\alpha} \end{array} \right)$について$\mathrm{Rot}(\theta)$を作用させた場合は下記のような変形を行うことが可能です。
$$
\large
\begin{align}
\mathrm{Rot}(\theta)\left( \begin{array}{c} \cos{\alpha} \\ \sin{\alpha} \end{array} \right) &= \left( \begin{array}{cc} \cos{\theta} & -\sin{\theta} \\ \sin{\theta} & \cos{\theta} \end{array} \right) \left( \begin{array}{c} \cos{\alpha} \\ \sin{\alpha} \end{array} \right) \\
&= \left( \begin{array}{c} \cos{\theta}\cos{\alpha} \, – \, \sin{\theta}\sin{\alpha} \\ \sin{\theta}\cos{\alpha} + \cos{\theta}\sin{\alpha} \end{array} \right) \\
&= \left( \begin{array}{c} \cos{(\alpha+\theta)} \\ \sin{(\alpha+\theta)} \end{array} \right)
\end{align}
$$
上記より回転行列$\mathrm{Rot}(\theta)$が$\displaystyle \left( \begin{array}{c} \cos{\alpha} \\ \sin{\alpha} \end{array} \right)$を$\theta$だけ回転させる行列であることが確認できます。回転行列が直交行列であることについては下記で取り扱いました。
Reflection Matrixの定義
$2$次元平面におけるReflection Matrixを$\mathrm{Ref}(\theta)$とおくと、$\mathrm{Ref}(\theta)$は下記のように定義されます。
$$
\large
\begin{align}
\mathrm{Ref}(\theta) = \left( \begin{array}{cc} \cos{2\theta} & \sin{2\theta} \\ \sin{2\theta} & -\cos{2\theta} \end{array} \right)
\end{align}
$$
以下、上記の解釈にあたって、$\displaystyle \left( \begin{array}{c} \cos{\alpha} \\ \sin{\alpha} \end{array} \right)$に$\mathrm{Ref}(\theta)$を作用させた結果について確認します。
$$
\large
\begin{align}
\mathrm{Ref}(\theta)\left( \begin{array}{c} \cos{\alpha} \\ \sin{\alpha} \end{array} \right) &= \left( \begin{array}{cc} \cos{2\theta} & \sin{2\theta} \\ \sin{2\theta} & -\cos{2\theta} \end{array} \right) \left( \begin{array}{c} \cos{\alpha} \\ \sin{\alpha} \end{array} \right) \\
&= \left( \begin{array}{c} \cos{2\theta}\cos{\alpha} + \sin{2\theta}\sin{\alpha} \\ \sin{2\theta}\cos{\alpha} \, – \, \cos{2\theta}\sin{\alpha} \end{array} \right) \\
&= \left( \begin{array}{c} \cos{(2\theta \, – \, \alpha)} \\ \sin{(2\theta \, – \, \alpha)} \end{array} \right)
\end{align}
$$
上記より、Reflection Matrixの$\mathrm{Ref}(\theta)$を$\displaystyle \left( \begin{array}{c} \cos{\alpha} \\ \sin{\alpha} \end{array} \right)$に作用させると、原点を通る$\displaystyle \left( \begin{array}{c} \cos{\theta} \\ \sin{\theta} \end{array} \right)$に平行な直線に線対称な点の$\displaystyle \left( \begin{array}{c} \cos{(2\theta \, – \, \alpha)} \\ \sin{(2\theta \, – \, \alpha)} \end{array} \right)$が得られることが確認できます。
行列の具体例
行列の具体例は上記より確認することができます。以下、$\mathrm{Rot}(0^{\circ})$、$\mathrm{Rot}(180^{\circ})$、$\mathrm{Ref}(45^{\circ})$について上記が正しいことを具体的な計算によって確認します。
・$\mathrm{Rot}(0^{\circ})$
$$
\large
\begin{align}
\mathrm{Rot}(0^{\circ}) &= \left( \begin{array}{cc} \cos{0^{\circ}} & -\sin{0^{\circ}} \\ \sin{0^{\circ}} & \cos{0^{\circ}} \end{array} \right) \\
&= \left( \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right)
\end{align}
$$
・$\mathrm{Rot}(180^{\circ})$
$$
\large
\begin{align}
\mathrm{Rot}(180^{\circ}) &= \left( \begin{array}{cc} \cos{180^{\circ}} & -\sin{180^{\circ}} \\ \sin{180^{\circ}} & \cos{180^{\circ}} \end{array} \right) \\
&= \left( \begin{array}{cc} -1 & 0 \\ 0 & -1 \end{array} \right)
\end{align}
$$
・$\mathrm{Ref}(45^{\circ})$
$$
\large
\begin{align}
\mathrm{Ref}(45^{\circ}) &= \left( \begin{array}{cc} \cos{(2 \cdot 45^{\circ})} & \sin{(2 \cdot 45^{\circ})} \\ \sin{(2 \cdot 45^{\circ})} & -\cos{(2 \cdot 45^{\circ})} \end{array} \right) \\
&= \left( \begin{array}{cc} \cos{90^{\circ}} & \sin{90^{\circ}} \\ \sin{90^{\circ}} & -\cos{90^{\circ}} \end{array} \right) \\
&= \left( \begin{array}{cc} 0 & 1 \\ 1 & 0 \end{array} \right)
\end{align}
$$