回転させる線形変換

回転させる線形変換とは、任意のベクトルをその始点を中心に特定の角度だけ回転させる線形変換のことです。

2次元ベクトルを反時計回りにθ回転させる線形変換

2次元ベクトルを反時計回りにθ回転させるには、以下の線形変換を利用します。fcos(θ)fsin(θ)については三角関数を参照してください。

\[\begin{pmatrix} x' \\ y' \end{pmatrix}=\begin{pmatrix} \mathrm{cos}(\theta ) & -\mathrm{sin}(\theta ) \\ \mathrm{sin}(\theta ) & \mathrm{cos}(\theta ) \\ \end{pmatrix}\begin{pmatrix} x \\ y \end{pmatrix}\]

例えば、以下の線形変換は、ベクトル(x, y)を反時計回りに30°回転させます。

\[\begin{pmatrix} x' \\ y' \end{pmatrix}=\begin{pmatrix} \mathrm{cos}(30^{\circ} ) & -\mathrm{sin}(30^{\circ} ) \\ \mathrm{sin}(30^{\circ} ) & \mathrm{cos}(30^{\circ} ) \\ \end{pmatrix}\begin{pmatrix} x \\ y \end{pmatrix}\]

以下において、黒色のベクトルを(x, y)とすれば、青色のベクトルが(x', y' )です。

回転後のベクトルに対して、上記と同じ線形変換を行うと、以下のように30°ずつ回転を繰り返します。

3次元ベクトルを反時計回りにθ回転させる線形変換

3次元ベクトルをxy平面から見て反時計回りにθ回転させるには、以下の線形変換を利用します。

\[\begin{pmatrix} x' \\ y' \\ z' \end{pmatrix}=\begin{pmatrix} \mathrm{cos}(\theta ) & -\mathrm{sin}(\theta ) & 0 \\ \mathrm{sin}(\theta ) & \mathrm{cos}(\theta ) & 0 \\ 0 & 0 & 1 \end{pmatrix}\begin{pmatrix} x \\ y \\ z \end{pmatrix}\]

3次元ベクトルをxz平面から見て反時計回りにθ回転させるには、以下の線形変換を利用します。

\[\begin{pmatrix} x' \\ y' \\ z' \end{pmatrix}=\begin{pmatrix} \mathrm{cos}(\theta ) & 0 & -\mathrm{sin}(\theta ) \\ 0 & 1 & 0 \\ \mathrm{sin}(\theta ) & 0 & \mathrm{cos}(\theta ) \end{pmatrix}\begin{pmatrix} x \\ y \\ z \end{pmatrix}\]

3次元ベクトルをyz平面から見て反時計回りにθ回転させるには、以下の線形変換を利用します。

\[\begin{pmatrix} x' \\ y' \\ z' \end{pmatrix}=\begin{pmatrix} 1 & 0 & 0 \\ 0 & \mathrm{cos}(\theta ) & -\mathrm{sin}(\theta ) \\ 0 & \mathrm{sin}(\theta ) & \mathrm{cos}(\theta ) \end{pmatrix}\begin{pmatrix} x \\ y \\ z \end{pmatrix}\]