「画像変換」の編集履歴(バックアップ)一覧はこちら
画像変換 - (2012/07/07 (土) 16:14:29) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
・画像変換
座標P(X,Y)を変換行列Mを用いて座標P'に変換
・アフィン変換
変換行列M・変換前座標P=変換後座標P'
||||||||||||||
||||||||||||||
||||||||||||||
|┌|a|b|c|┐|┌|X|┐||┌|X'|┐| X'=aX+bY+c×1
|│|d|e|f|│|│|Y|│|=|│|Y'|│| Y'=dX+eY+f×1
|└|0|0|1|┘|└|1|┘||└|1|┘| 1=0×X+0×Y+1×1
----
・原点中心の拡大縮小
┌Sx 0 0┐┌X┐ ┌X'┐ X'=Sx×X+0×Y+0×1=Sx×X
│0 Sy 0││Y│=│Y'│ Y'=0×X+Sy×Y+0×1=Sy×Y
└0 0 1┘└1┘ └1 ┘ 1=0×X+0×Y+1×1
Sx=Syで等方性の拡大縮小
Sx<0,Sy<0で、Y軸反転,X軸反転
----
・原点中心の回転
┌cosΘ -sinΘ 0┐┌X┐ ┌X'┐ X'=cosΘ×X-sinΘ×Y+0×1=X×cosΘ-Y×sinΘ
│sinΘ cosΘ 0││Y│=│Y'│ Y'=sinΘ×X+cosΘ×Y+0×1=X×sinΘ+Y×cosΘ
└0 0 1┘└1┘ └1 ┘ 1=0×X+0×Y+1×1
Θ<0で逆回転
----
・Y軸平行のせん断
┌1 0 0┐┌X┐ ┌X'┐ X'=1×X+0×Y+0×1=X
│tanΘ 1 0││Y│=│Y'│ Y'=tanΘ×X+1×Y+0×1=X×tanΘ+Y
└0 0 1┘└1┘ └1 ┘ 1=0×X+0×Y+1×1
----
・X軸平行のせん断
┌1 tanΘ 0┐┌X┐ ┌X'┐ X'=1×X+tanΘ×Y+0×1=X+Y×tanΘ
│0 1 0││Y│=│Y'│ Y'=0×X+1×Y+0×1=Y
└0 0 1┘└1┘ └1 ┘ 1=0×X+0×Y+1×1
----
・原点からの平行移動
┌1 0 Tx┐┌X┐ ┌X'┐ X'=1×X+0×Y+Tx×1=X+Tx
│0 1 Ty││Y│=│Y'│ Y'=0×X+1×Y+Ty×1=Y+Ty
└0 0 1┘└1┘ └1 ┘ 1=0×X+0×Y+1×1
----
[[Direct2D]]
----
・画像変換
座標P(X,Y)を変換行列Mを用いて座標P'に変換
・アフィン変換
変換行列M・変換前座標P=変換後座標P'
||a|b|c||┌|X|┐||┌|X'|┐|
|│|d|e|f|│|│|Y|│|=|│|Y'|│|
||0|0|1||└|1|┘||└|1|┘|
X'=aX+bY+c×1
Y'=dX+eY+f×1
1=0×X+0×Y+1×1
----
・原点中心の拡大縮小
┌Sx 0 0┐┌X┐ ┌X'┐ X'=Sx×X+0×Y+0×1=Sx×X
│0 Sy 0││Y│=│Y'│ Y'=0×X+Sy×Y+0×1=Sy×Y
└0 0 1┘└1┘ └1 ┘ 1=0×X+0×Y+1×1
Sx=Syで等方性の拡大縮小
Sx<0,Sy<0で、Y軸反転,X軸反転
----
・原点中心の回転
┌cosΘ -sinΘ 0┐┌X┐ ┌X'┐ X'=cosΘ×X-sinΘ×Y+0×1=X×cosΘ-Y×sinΘ
│sinΘ cosΘ 0││Y│=│Y'│ Y'=sinΘ×X+cosΘ×Y+0×1=X×sinΘ+Y×cosΘ
└0 0 1┘└1┘ └1 ┘ 1=0×X+0×Y+1×1
Θ<0で逆回転
----
・Y軸平行のせん断
┌1 0 0┐┌X┐ ┌X'┐ X'=1×X+0×Y+0×1=X
│tanΘ 1 0││Y│=│Y'│ Y'=tanΘ×X+1×Y+0×1=X×tanΘ+Y
└0 0 1┘└1┘ └1 ┘ 1=0×X+0×Y+1×1
----
・X軸平行のせん断
┌1 tanΘ 0┐┌X┐ ┌X'┐ X'=1×X+tanΘ×Y+0×1=X+Y×tanΘ
│0 1 0││Y│=│Y'│ Y'=0×X+1×Y+0×1=Y
└0 0 1┘└1┘ └1 ┘ 1=0×X+0×Y+1×1
----
・原点からの平行移動
┌1 0 Tx┐┌X┐ ┌X'┐ X'=1×X+0×Y+Tx×1=X+Tx
│0 1 Ty││Y│=│Y'│ Y'=0×X+1×Y+Ty×1=Y+Ty
└0 0 1┘└1┘ └1 ┘ 1=0×X+0×Y+1×1
----
[[Direct2D]]
----