Apr 22, 2017

Translation

日常では「翻訳」としか訳すことがないtranslationですが,数学では「平行移動」という意味があり,移動のさせ方はベクトルで表します.日本の教科書でよく使われる「x軸方向に$p$,y軸方向に$q$平行移動したもの」という言い方は,a translation of $\left( \begin{array}{c} p \\q \\ \end{array} \right)$とか,be translated through $\left( \begin{array}{c} p \\q \\ \end{array} \right)$のように表されます.他にshiftやmoveという用語も使われることがあります.

向きも形も変えない移動だけのtranslationに加えて,向きの変わるrotation(回転移動),reflection(対称移動),大きさの変わるscaling / resizing / zooming(拡大縮小),傾斜するshear / skew(せん断)など,図形の平行を保つlinear transformation(一次変換)を合わせてaffine transformation(アフィン変換)といい、さらに拡張して図形の平行を保たない場合もある変換をprojective transformation / homography(射影変換)といいます.

rotation  $\left( \begin{array}{ccc} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{array}\right)$$\begin{pmatrix} x  \\ y \end{pmatrix}=\begin{pmatrix} x\cos \theta-y\sin \theta \\ x\sin \theta+y\cos \theta \end{pmatrix}$   $ \theta $回転

scaling  $\begin{pmatrix} a & 0 \\ 0 & b \end{pmatrix}$$\begin{pmatrix} x  \\ y \end{pmatrix}=\begin{pmatrix} ax  \\ by \end{pmatrix}$  横にa倍,縦にb倍拡大縮小

shearing  $\begin{pmatrix} 1 & t \\ s & 1 \end{pmatrix}$$\begin{pmatrix} x  \\ y \end{pmatrix}=\begin{pmatrix} x+ty  \\ sx+y \end{pmatrix}$ 横にyのt倍移動,縦にxのs倍移動するせん断(長方形が平行四辺形になります)

translation  $\begin{pmatrix} x  \\ y \end{pmatrix} + \begin{pmatrix} p  \\ q \end{pmatrix}=\begin{pmatrix} x+p  \\ y+q \end{pmatrix}$  x軸方向に$p$,y軸方向に$q$平行移動

以上のように,2×2行列を掛ける一次変換では(0,0)が(0,0)に移るのでtranslationを表すことはできないし、平行を保つのでprojective transformationを表すことはできません.しかし,座標(x, y)を(x, y, 1)と表すことでこれらをすべてまとめて表すことができます.そのため,変換行列を3×3にして(3, 3)成分を1とします。

rotation  $\left(  \begin{array}{ccc}   \cos \theta  & -\sin \theta  & 0 \\ \sin \theta  & \cos \theta  & 0 \\0 &0 &1\end{array}\right)\left(  \begin{array}{ccc}   x\\ y\\1\end{array}\right)=\left(  \begin{array}{ccc}   x\cos \theta -y\sin \theta \\ x \sin \theta + y \cos \theta \\ 1 \end{array} \right) $

scaling  $\left(  \begin{array}{ccc}   a  & 0  & 0  \\ 0  & b  & 0 \\ 0  & 0  & 1 \end{array}\right)\left(  \begin{array}{ccc}   x  \\ y \\ 1 \end{array}\right)=\left(  \begin{array}{ccc}   ax  \\ by \\ 1 \end{array}\right)$

shearing  $\begin{pmatrix} 1 & t &0 \\ s & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}$$\begin{pmatrix} x  \\ y \\ 1 \end{pmatrix}=\begin{pmatrix} x+ty  \\ sx+y \\ 1 \end{pmatrix}$

translation  $\left(  \begin{array}{ccc}   1  & 0  & p  \\ 0  & 1  & q \\ 0  & 0  & 1 \end{array}\right)\left(  \begin{array}{ccc}   x  \\ y \\ 1 \end{array}\right)=\left(  \begin{array}{ccc}   x+p  \\ y+q \\ 1 \end{array}\right)$

因みに,映画"Transformers"(変形ロボット),映画"The Transporter"(運び屋)はありましたが,映画"Translator"はまだないですね(笑).

<Reference>
Function Translations
http://www.purplemath.com/modules/fcntrans.htm

Quick Reviews on Local Descriptors, SIFT and Single Object Recognition by Fei-Fei Li.
https://sensblogs.wordpress.com/2011/08/23/quick-reviews-on-local-descriptors-sift-and-single-object-recognition-by-fei-fei-li/

No comments:

Post a Comment