Loading [MathJax]/jax/output/HTML-CSS/jax.js

Apr 22, 2017

Translation

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

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

rotation  (cosθsinθsinθcosθ)(xy)=(xcosθysinθxsinθ+ycosθ)   θ回転

scaling  (a00b)(xy)=(axby)  横にa倍,縦にb倍拡大縮小

shearing  (1ts1)(xy)=(x+tysx+y) 横にyのt倍移動,縦にxのs倍移動するせん断(長方形が平行四辺形になります)

translation  (xy)+(pq)=(x+py+q)  x軸方向にp,y軸方向にq平行移動

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

rotation  (cosθsinθ0sinθcosθ0001)(xy1)=(xcosθysinθxsinθ+ycosθ1)

scaling  (a000b0001)(xy1)=(axby1)

shearing  (1t0s10001)(xy1)=(x+tysx+y1)

translation  (10p01q001)(xy1)=(x+py+q1)

因みに,映画"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