①座標P(X,Y)を、回転行列Rの乗算と移動行列Tの加算を用いて、座標P'(X',Y')に変換
┌ |
S・cosΘ |
-S・sinΘ |
┐ |
┌ |
X |
┐ |
+ |
┌ |
Tx |
┐ |
= |
┌ |
X' |
┐ |
└ |
S・sinΘ |
S・cosΘ |
┘ |
└ |
Y |
┘ |
|
└ |
Ty |
┘ |
|
└ |
Y' |
┘ |
X'=S(X・cosΘ-Y・sinΘ)+Tx
Y'=S(X・sinΘ+Y・cosΘ)+Ty
変換行列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' |
┐ |
│ |
0 |
Sy |
0 |
│ |
│ |
Y |
│ |
= |
│ |
Y' |
│ |
└ |
0 |
0 |
1 |
┘ |
└ |
1 |
┘ |
|
└ |
1 |
┘ |
X'=Sx×X+0×Y+0×1=Sx×X
Y'=0×X+Sy×Y+0×1=Sy×Y
1=0×X+0×Y+1×1
Sx=Syで等方性の拡大縮小
Sx<0,Sy<0で、Y軸反転,X軸反転
* |
** |
** |
** |
* |
* |
** |
* |
* |
* |
** |
* |
┌ |
cosΘ |
-sinΘ |
0 |
┐ |
┌ |
X |
┐ |
|
┌ |
X' |
┐ |
│ |
sinΘ |
cosΘ |
0 |
│ |
│ |
Y |
│ |
= |
│ |
Y' |
│ |
└ |
0 |
0 |
1 |
┘ |
└ |
1 |
┘ |
|
└ |
1 |
┘ |
X'=cosΘ×X-sinΘ×Y+0×1=X×cosΘ-Y×sinΘ
Y'=sinΘ×X+cosΘ×Y+0×1=X×sinΘ+Y×cosΘ
1=0×X+0×Y+1×1
Θ<0で逆回転
* |
** |
** |
** |
* |
* |
** |
* |
* |
* |
** |
* |
┌ |
1 |
0 |
0 |
┐ |
┌ |
X |
┐ |
|
┌ |
X' |
┐ |
│ |
tanΘ |
1 |
0 |
│ |
│ |
Y |
│ |
= |
│ |
Y' |
│ |
└ |
0 |
0 |
1 |
┘ |
└ |
1 |
┘ |
|
└ |
1 |
┘ |
X'=1×X+0×Y+0×1=X
Y'=tanΘ×X+1×Y+0×1=X×tanΘ+Y
1=0×X+0×Y+1×1
* |
** |
** |
** |
* |
* |
** |
* |
* |
* |
** |
* |
┌ |
1 |
tanΘ |
0 |
┐ |
┌ |
X |
┐ |
|
┌ |
X' |
┐ |
│ |
0 |
1 |
0 |
│ |
│ |
Y |
│ |
= |
│ |
Y' |
│ |
└ |
0 |
0 |
1 |
┘ |
└ |
1 |
┘ |
|
└ |
1 |
┘ |
X'=1×X+tanΘ×Y+0×1=X+Y×tanΘ
Y'=0×X+1×Y+0×1=Y
1=0×X+0×Y+1×1
* |
** |
** |
** |
* |
* |
** |
* |
* |
* |
** |
* |
┌ |
1 |
0 |
Tx |
┐ |
┌ |
X |
┐ |
|
┌ |
X' |
┐ |
│ |
0 |
1 |
Ty |
│ |
│ |
Y |
│ |
= |
│ |
Y' |
│ |
└ |
0 |
0 |
1 |
┘ |
└ |
1 |
┘ |
|
└ |
1 |
┘ |
X'=1×X+0×Y+Tx×1=X+Tx
Y'=0×X+1×Y+Ty×1=Y+Ty
1=0×X+0×Y+1×1
アフィン変換では、せん断(長方形→平行四辺形)は変形可能だが、長方形→台形への変形できない。
台形へ変形するには、射影変換が必要。
図形の各座標Pに対して、変換行列Mを用いて座標P'を求める方法では、変換後の図形の座標P'が虫食い状態となる。
実際には、変換後の座標P'に対して変換行列の逆行列M'を用いて、もとの座標Pを参照した方が良い。
参照する座標Pがない場合は、近傍の座標から補間を行って埋める。
M・P |
= |
P' |
M'・M・P |
= |
M'・P' |
P |
= |
M'・P' |
M'=Mの逆行列
最終更新:2012年07月07日 19:29