行列と線形写像に関する覚書。
ベクトルと行列を考える。
x = (x1...xn)T, y = (y1...yn)T T:転置
n×m行列A A = [a11...a1m] ............... [an1...anm] m×n行列AT AT = [a11...an1] ............... [a1m...anm]
下記の条件を満たす写像を線形写像と呼ぶ。
f(x+y) = f(x) + f(y) f(ax) = af(x) まとめて f(ax+by) = af(x) + bf(y)
n×m行列は上記の線形性を満たす。よってn次元空間からm次元空間への線形写像である。
逆に全ての線形写像は行列を用いて表すことができる。
y = Ax A = [a11...a1m] ............... [an1...anm] x = (x1...xn)T, y = (y1...yn)T T:転置
2×2行列Aは2次元から2次元への線形写像。
A = [a11 a12] x=(x1 x2)T y=(y1 y2)T [a21 a22] (y1) = [a11 a12](x1) (y2) = [a21 a22](x2)
m=nである行列を正方行列とよぶ。
正方行列Aに対して行列式detAが定義できる。
2×2の行列式 A = [a11 a12] [a21 a22] detA = a11a22 - a21a12
detA≠0を満たす行列Aを正則行列とよぶ。
正則行列は逆行列A-1を持つ。
Aの逆行列A-1は以下を満たす行列。
A-1はAA-1= I Iは単位行列
Aが正則行列でない場合、
もとの次元 > 移り先の次元
となり移り先がつぶれる。そのため逆行列は存在しない。
n×n行列Aを構成する列ベクトル(a11…,an1)T,…,(a1n,…,ann)Tはもとの空間の基底(1,…,0)T,…,(0,…,1)Tの移り先。detA≠0であれば(a11…,an1)T,…,(a1n,…,ann)Tは移り先の基底になる。
detAはもとの空間の基底(1,…,0)T,…,(0,…,1)Tにより作られる面積・体積に対する(a11…,an1)T,…,(a1n,…,ann)Tにより作られる面積・体積の拡大率。
正則行列(線形写像)は同じ平面や空間への線形性を満たした点の移動と考えることができる(線形変換とよぶ)。拡大・縮小, 回転, せん断はグラフィックに用いられる代表的な線形変換であり幾何変換と呼ぶ。
線形変換の特徴
グラフィックでよく使われる線形変換について2次元の場合を例にまとめる。
2次元の線形変換の一般的な表記
(x') = [s t](x) (y') = [u v](y)
拡大・縮小(X軸にa倍,Y軸にb倍)
(x') = [a 0](x) (y') = [0 b](y)
回転
(x') = [cosθ -sinθ](x) (y') = [sinθ cosθ](y)
X軸にたいする鏡面
(x') = [1 0](x) (y') = [0 -1](y)
せん断
(x') = [1 b](x) (y) = [0 1](y) x' = x + by y' = y
図形をを歪ませることができる。
平行移動は線形変換ではない(線形性を満たさない)。
A=[s t] [u v] b=(l,m)T x = (x1, x2)T, x' = (x'1, x'2)T f(x) = Ax + b f(x+x') = A(x+x') + b = Ax + Ax' + b f(x) = Ax + b, f(x') = Ax' + b f(x)+f(x') = A(x) + A(x') +2b f(x+x') ≠ f(x)+f(x')
アフィン変換は線形変換(行列を用いた変換)と並行移動を合わせたもの。
2次元空間の図形は2×2行列で拡大,回転,鏡面,せん断の各処理(線形変換)を行うことができる。
しかし2×2行列では平行移動は行えない。同次座標(x, y, 1)を考え、平行移動も含めた変換をアフィン変換と呼ぶ。
[x'] [ a b e ][x] [y']=[ c d f ][y] [1] [ 0 0 1 ][1]
[x'] [ cosθ -sinθ 0 ][x] [y']=[ sinθ cosθ 0 ][y] [1] [ 0 0 1 ][1]
x’ y’を求める式は
x'=xcosθ-ysinθ y'=ysinθ+ycosθ
x,yをX軸に拡大率a, Y軸に拡大率b。
[x'] [ a 0 0 ][x] [y']=[ 0 b 0 ][y] [1] [ 0 0 1 ][1]
上記の行列からx’ y’を求める式は
x' = ax y' = by
X軸にx0, Y軸にy0移動。
[x'] [ 1 0 x0 ][x] [y’]=[ 0 1 y0 ][y] [1] [ 0 0 1 ][1]
上記の行列からx’ y’を求める式は
x' = x + x0 y’ = y + y0
行列の積は合成写像と考える。
A = [a11 a12] B = [b11 b12] [a21 a22] [b21 a22] AB = [a11b11 + a12b21 a11b12 + a12b22] [a21b11 + a22b21 a21b12 + a21b22]
ABを合成写像と考える
y = ABx xTBTAT = yT
2次元(x,y)の同次座標(x,y,1)を考えると平行移動の後回転を行うといった一連の操作は合成写像と考えることができる。
A = [1 0 m] B = [cosθ -sinθ 0] [0 1 n] [sinθ cosθ 0] [0 0 1] [0 0 1]
(x,y)をθ回転したから平行移動にm,n移動した(x’,y’)は
(x',y') T= AB(x,y)T
同次座標にすることで原点も含めた平行移動を考えることができる。
No comments yet.
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。