Teachers open the door but You must enter by yourself.
【事前学習】 高校の一次変換について復習しておきましょう。
本章では行列による座標変換について学ぶ。
変換後の値が変換前の値の重み付き和となっている。原点を中心とする拡大縮小、座標軸対称、原点対象、原点周りの回転などの変換を表すことができる。原点を一次変換した結果は必ず原点となる。
$\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次元ベクトルをすべて縦に見る。
$
\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)$ に写像される。
$
\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\ )$ に写像される。
$\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}$
$\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}$
$
\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}$
$
\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}$
$\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}$
$\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}$
【事後学習】 本日学んだ内容を再確認しておきましょう。
This site is powered by