【事前学習】 高校の一次変換について復習しておきましょう。
座標変換(平面)
Coordinate Transformation
本章では行列による座標変換について学ぶ。
一次変換
変換後の値が変換前の値の重み付き和となっている。原点を中心とする拡大縮小、座標軸対称、原点対象、原点周りの回転などの変換を表すことができる。原点を一次変換した結果は必ず原点となる。
$\begin{eqnarray}
\left\{
\begin{array}{l}
x'=a x + b y\\
y' = c x + d y
\end{array}
\right.
\end{eqnarray}$
$\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}a &b\\c &d\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
※ $(1,0)$ を$(x,y)$に代入すると$(x',y')$が $(a,c)$ に、
$(0,1)$ を$(x,y)$に代入すると$(x',y')$が $(b,d)$ になる。
行列の変換式では2次元ベクトルをすべて縦に見る。
$x$ 方向に2倍拡大
$
\begin{eqnarray}
\left\{
\begin{array}{l}
x'=2 x\\
y' = y
\end{array}
\right.
\end{eqnarray}
$
$
\begin{eqnarray}
\left\{
\begin{array}{l}
x'=2x +0y\\
y'=0x +1y
\end{array}
\right.
\end{eqnarray}
$
$\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}2 &0\\0 &1\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
※ $(1,0)$ が $(2,0)$ に、$(0,1)$ が $(0,1)$ に写像される。
$y$ 軸対称
$
\begin{eqnarray}
\left\{
\begin{array}{l}
x'=-x\\
y' = y
\end{array}
\right.
\end{eqnarray}
$
$\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}-1 &0\\0 &1\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
※ $(1,0)$ が $(-1,0)$ に、$(0,1)$ が $(0,1)$ に写像される。
回転(反時計回り方向が正)
$
\begin{eqnarray}
\left\{
\begin{array}{l}
x'=\cos\theta \cdot x - \sin\theta \cdot y\\
y' = \sin\theta \cdot x + \cos\theta \cdot y
\end{array}
\right.
\end{eqnarray}
$
$\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}\cos\theta &-\sin\theta\\\sin\theta &\cos\theta\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
※ $(1,0)$ が $(\cos\theta,\sin\theta\ )$ に、$(0,1)$ が $(-\sin\theta,\cos\theta\ )$ に写像される。
合成変換
$x$ 方向に2倍拡大した後、$y$ 軸対称
$\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}-1 &0\\0 &1\end{pmatrix}\begin{pmatrix}2 &0\\0 &1\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
合成変換では右から左の順に変換が適用される点に注意。
↓
$\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}-2 &0\\0 &1\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
2x2行列同士の積
$\begin{pmatrix}a &b\\c &d\end{pmatrix}\begin{pmatrix}e &f\\g &h\end{pmatrix}=\begin{pmatrix}ae+bg &af+bh\\ce+dg &cf+dh\end{pmatrix}$
アフィン変換
一次変換に平行移動 $(e,f)$ を加えたもの。これにより原点が固定される一次変換以外の変換が実現できるようになる。
$
\begin{eqnarray}
\left\{
\begin{array}{l}
x'=a x + b y+e\\
y' = c x + d y+f
\end{array}
\right.
\end{eqnarray}
$
$\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}a &b\\c &d\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}+\begin{pmatrix}e\\f\end{pmatrix}$
$x$ 方向に2、$y$ 方向に3平行移動
$
\begin{eqnarray}
\left\{
\begin{array}{l}
x'=x+2\\
y'=y+3
\end{array}
\right.
\end{eqnarray}
$
$\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}1 &0\\0 &1\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}+\begin{pmatrix}2\\3\end{pmatrix}$
$x$ 方向に2倍拡大した後、$x$ 方向に2、$y$ 方向に3平行移動
$
\begin{eqnarray}
\left\{
\begin{array}{l}
x'=2x+2\\
y'=y+3
\end{array}
\right.
\end{eqnarray}
$
$\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}2 &0\\0 &1\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}+\begin{pmatrix}2\\3\end{pmatrix}$
アフィン変換の同次座標表現
複数のアフィン変換の合成を行列の積で表せるようにしたもの
$\begin{pmatrix}x'\\y'\\1\end{pmatrix}=\begin{pmatrix}a &b &e\\c &d &f\\0 &0 &1\end{pmatrix}\begin{pmatrix}x\\y\\1\end{pmatrix}$
$x$方向に2、$y$ 方向に3平行移動
$\begin{pmatrix}x'\\y'\\1\end{pmatrix}=\begin{pmatrix}1 &0 &2\\0 &1 &3\\0 &0 &1\end{pmatrix}\begin{pmatrix}x\\y\\1\end{pmatrix}$
$x$ 方向に2、$y$ 方向に3平行移動した後、$x$方向に2倍拡大
$\begin{pmatrix}x'\\y'\\1\end{pmatrix}=\begin{pmatrix}2 &0 &0\\0 &1 &0\\0 &0 &1\end{pmatrix}\begin{pmatrix}1 &0 &2\\0 &1 &3\\0 &0 &1\end{pmatrix}\begin{pmatrix}x\\y\\1\end{pmatrix}$
平行移動が先の場合は、行列の積で求める必要がある
↓
$\begin{pmatrix}x'\\y'\\1\end{pmatrix}=\begin{pmatrix}2 &0 &4\\0 &1 &3\\0 &0 &1\end{pmatrix}\begin{pmatrix}x\\y\\1\end{pmatrix}$
Lesson
- 平面上の任意の点を $y$ 軸方向に2倍する一次変換行列を示せ。
- 平面上の任意の点を $x$ 軸方向に2倍、$y$ 軸方向に3倍する一次変換行列を示せ。
- 平面上の任意の点を $x$ 軸に対して対称となる点に写像する一次変換行列を示せ。
- 平面上の任意の点を原点に対して対称となる点に写像する一次変換行列を示せ。
- 平面上の任意の点を直線 $y=x$ に対して対称となる点に写像する一次変換行列を示せ。
- ベクトル $\vec a = (-2, 1)$ を原点 $\rm{O}$ の周り正の向きに $60^\circ$ だけ回転して得られるベクトルを求めよ。
- 平面上の任意の点を原点を中心に反時計回り方向に $30^\circ$ 回転した点に写像する一次変換行列を示せ。
- 平面上の任意の点を原点を中心に反時計回り方向に $45^\circ$ 回転した後、$y$ 軸に対して対称となる点に写像する一次変換行列を示せ。*
- 平面上の任意の点を直線 $y=2x$ に対して対称となる点に写像する一次変換行列を示せ。
- 平面上の任意の点を直線 $y=kx$ に対して対称となる点に写像する一次変換行列を示せ。
- 次の図形に適用されたアフィン変換の同次座標表現の変換行列を示せ。
- 次の図形に適用されたアフィン変換の同次座標表現の変換行列を示せ。
- 平面上の任意の点を、点 $(2, 3)$ を中心に反時計回り方向に $45^\circ$ 回転した点に写像する同次座標表現の変換行列を示せ。
Answer
- $\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}1 &0\\0 &2\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
- $\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}2 &0\\0 &3\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
- $\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}1 &0\\0 &-1\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
- $\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}-1 &0\\0 &-1\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
- $\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}0 &1\\1 &0\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
- $(\frac{-2-\sqrt 3}{2},\frac{1-2\sqrt 3}{2})\ \leftarrow \begin{pmatrix}\cos60^\circ &-\sin60^\circ\\\sin60^\circ &\cos60^\circ\end{pmatrix}\begin{pmatrix}-2\\1\end{pmatrix}$
- $\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}\frac{\sqrt 3}{2} &-\frac{1}{2}\\\frac{1}{2} &\frac{\sqrt 3}{2}\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
- $\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}-\frac{\sqrt 2}{2} & \frac{\sqrt 2}{2}\\\frac{\sqrt 2}{2} &\frac{\sqrt 2}{2}\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$ ← $\begin{pmatrix}-1 & 0\\0 &1\end{pmatrix}\begin{pmatrix}\frac{\sqrt 2}{2} & -\frac{\sqrt 2}{2}\\\frac{\sqrt 2}{2} &\frac{\sqrt 2}{2}\end{pmatrix}$
合成変換では右から左の順に変換が適用される点に注意。 - $\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}-\frac{3}{5} &\frac{4}{5}\\\frac{4}{5} &\frac{3}{5}\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
- $\begin{pmatrix}x'\\y'\end{pmatrix}=\begin{pmatrix}\frac{1-k^2}{1+k^2} &\frac{2k}{1+k^2}\\\frac{2k}{1+k^2} &-\frac{1-k^2}{1+k^2}\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}$
- $\begin{pmatrix}x'\\y'\\1\end{pmatrix}=\begin{pmatrix}2&0&2\\0&\frac{3}{2}&1\\0&0&1\end{pmatrix}\begin{pmatrix}x\\y\\1\end{pmatrix}$
- $\begin{pmatrix}x'\\y'\\1\end{pmatrix}=\begin{pmatrix}2&1&0\\1&3&0\\0&0&1\end{pmatrix}\begin{pmatrix}x\\y\\1\end{pmatrix}$
- $\begin{pmatrix}x'\\y'\\1\end{pmatrix}=\frac{1}{\sqrt 2}\begin{pmatrix}1&-1&1+2\sqrt 2\\1&1&-5+3\sqrt 2\\0&0&\sqrt 2\end{pmatrix}\begin{pmatrix}x\\y\\1\end{pmatrix}$
$(2,3)$を$(0,0)$に平行移動→原点を中心に反時計回り方向に45°回転
→$(0,0)$を$(2,3)$に平行移動の合成変換を求めればよい。
【事後学習】 本日学んだ内容を再確認しておきましょう。