Central object in linear algebra; mapping vectors to vectors
線型代数 では 、 線型変換は 行列 で表すことができます 。 が への 線型変換で 、が要素を 持つ 列ベクトル である場合、 の 変換行列 と呼ばれる 行列 が 存在し 、 [1] は次のようになります。 は行と列 を持ちます が、 は から へ の変換です。 行ベクトル を含む変換行列の別の表現方法があり 、一部の著者はそれを好んでいます。 [2] [3] T {\displaystyle T} R n {\displaystyle \mathbb {R} ^{n}} R m {\displaystyle \mathbb {R} ^{m}} x {\displaystyle \mathbf {x} } n {\displaystyle n} m × n {\displaystyle m\times n} A {\displaystyle A} T {\displaystyle T} T ( x ) = A x {\displaystyle T(\mathbf {x} )=A\mathbf {x} } A {\displaystyle A} m {\displaystyle m} n {\displaystyle n} T {\displaystyle T} R n {\displaystyle \mathbb {R} ^{n}} R m {\displaystyle \mathbb {R} ^{m}}
用途 行列は、任意の 線形変換を 計算に適した一貫した形式で表示することを可能にします。 [1] これにより、変換を簡単に 合成する こともできます(行列を乗算することによって)。
行列で表現できるのは線形変換だけではありません。 n 次元ユークリッド空間 R n 上で非線形な変換の一部は、 n +1 次元空間 R n +1 上で線形変換として表現できます。これらには、 アフィン変換( 平行移動 など ) と 射影変換の 両方が含まれます 。このため、4×4 変換行列は、 繰り返し行列の乗算によってオブジェクトの平行移動、拡大縮小、回転を実行できるため、 3D コンピュータ グラフィックスで広く使用されています。これらの n +1 次元変換行列は、その用途に応じて、 アフィン変換行列 、 射影変換行列 、またはより一般的には 非線形変換行列 と呼ばれます。 n 次元行列に関して 、 n +1 次元行列は 拡張行列 として記述できます。
物理科学 において 、 能動的な変換とは、 系 の物理的な位置を実際に変化させる変換であり、 座標系 が存在しない場合でも意味を持ちます。 一方、 受動的な変換 とは、物理系の座標記述における変化( 基底の変化)です。能動的な変換と受動的な 変換 の区別 は重要です。一般的に、 数学者は 「変換」 という場合、 能動的な変換を指しますが、 物理学者は どちらを指す場合もあります。
言い換えれば、 受動 変換とは、2 つの異なる座標フレームから見た 同じ オブジェクトの記述を指します。
関数形式の線型変換がある場合、 標準基底 の各ベクトルを T で変換し、その結果を行列の列に代入することで、変換行列 A を簡単に求めることができます 。言い換えると、 T ( x ) {\displaystyle T(x)} A = [ T ( e 1 ) T ( e 2 ) ⋯ T ( e n ) ] {\displaystyle A={\begin{bmatrix}T(\mathbf {e} _{1})&T(\mathbf {e} _{2})&\cdots &T(\mathbf {e} _{n})\end{bmatrix}}}
例えば、関数は 線形変換です。上記の処理を適用すると( この場合、 n = 2と仮定)、次の式が得られます。 T ( x ) = 5 x {\displaystyle T(x)=5x} T ( x ) = 5 x = 5 I x = [ 5 0 0 5 ] x {\displaystyle T(\mathbf {x} )=5\mathbf {x} =5I\mathbf {x} ={\begin{bmatrix}5&0\\0&5\end{bmatrix}}\mathbf {x} }
ベクトルと演算子の行列表現は、選択した基底に依存します。基底を変えても 同様の 行列が得られます。ただし、成分を求める方法は変わりません。
詳しく言うと、ベクトルは 座標を持つ 基底ベクトルで 表すことができます 。 v {\displaystyle \mathbf {v} } E = [ e 1 e 2 ⋯ e n ] {\displaystyle E={\begin{bmatrix}\mathbf {e} _{1}&\mathbf {e} _{2}&\cdots &\mathbf {e} _{n}\end{bmatrix}}} [ v ] E = [ v 1 v 2 ⋯ v n ] T {\displaystyle [\mathbf {v} ]_{E}={\begin{bmatrix}v_{1}&v_{2}&\cdots &v_{n}\end{bmatrix}}^{\mathrm {T} }} v = v 1 e 1 + v 2 e 2 + ⋯ + v n e n = ∑ i v i e i = E [ v ] E {\displaystyle \mathbf {v} =v_{1}\mathbf {e} _{1}+v_{2}\mathbf {e} _{2}+\cdots +v_{n}\mathbf {e} _{n}=\sum _{i}v_{i}\mathbf {e} _{i}=E[\mathbf {v} ]_{E}}
ここで、与えられた基底 におけるの変換行列 A の結果を次のように表します。 v {\displaystyle \mathbf {v} } A ( v ) = A ( ∑ i v i e i ) = ∑ i v i A ( e i ) = [ A ( e 1 ) A ( e 2 ) ⋯ A ( e n ) ] [ v ] E = A ⋅ [ v ] E = [ e 1 e 2 ⋯ e n ] [ a 1 , 1 a 1 , 2 ⋯ a 1 , n a 2 , 1 a 2 , 2 ⋯ a 2 , n ⋮ ⋮ ⋱ ⋮ a n , 1 a n , 2 ⋯ a n , n ] [ v 1 v 2 ⋮ v n ] {\displaystyle {\begin{aligned}A(\mathbf {v} )&=A\left(\sum _{i}v_{i}\mathbf {e} _{i}\right)=\sum _{i}{v_{i}A(\mathbf {e} _{i})}\\&={\begin{bmatrix}A(\mathbf {e} _{1})&A(\mathbf {e} _{2})&\cdots &A(\mathbf {e} _{n})\end{bmatrix}}[\mathbf {v} ]_{E}=A\cdot [\mathbf {v} ]_{E}\\[3pt]&={\begin{bmatrix}\mathbf {e} _{1}&\mathbf {e} _{2}&\cdots &\mathbf {e} _{n}\end{bmatrix}}{\begin{bmatrix}a_{1,1}&a_{1,2}&\cdots &a_{1,n}\\a_{2,1}&a_{2,2}&\cdots &a_{2,n}\\\vdots &\vdots &\ddots &\vdots \\a_{n,1}&a_{n,2}&\cdots &a_{n,n}\\\end{bmatrix}}{\begin{bmatrix}v_{1}\\v_{2}\\\vdots \\v_{n}\end{bmatrix}}\end{aligned}}}
行列 A の要素は 、与えられた基底 Eに対して、 A をあらゆるに 適用し 、応答ベクトルを観察すること
によって決定される。 a i , j {\displaystyle a_{i,j}} e j = [ 0 0 ⋯ ( v j = 1 ) ⋯ 0 ] T {\displaystyle \mathbf {e} _{j}={\begin{bmatrix}0&0&\cdots &(v_{j}=1)&\cdots &0\end{bmatrix}}^{\mathrm {T} }} A e j = a 1 , j e 1 + a 2 , j e 2 + ⋯ + a n , j e n = ∑ i a i , j e i . {\displaystyle A\mathbf {e} _{j}=a_{1,j}\mathbf {e} _{1}+a_{2,j}\mathbf {e} _{2}+\cdots +a_{n,j}\mathbf {e} _{n}=\sum _{i}a_{i,j}\mathbf {e} _{i}.}
この式は行列 Aの j 列目の 必要な要素を定義する 。 [4] a i , j {\displaystyle a_{i,j}}
固有基底と対角行列 しかし、演算子 には特別な基底があり、その成分は 対角行列 を形成し、その結果、乗算の計算量は n に減少します。対角行列であるということは、を除く すべての係数が ゼロであり、上記の和には1つの項だけが残ることを意味します 。残った対角要素 は 固有値 と呼ばれ 、定義方程式内で で表され 、定義方程式は に減少します 。結果として得られる方程式は 固有値方程式 と呼ばれます。 [5] 固有ベクトルと固有値は、 特性多項式 を介してこの方程式から導出されます 。 a i , j {\displaystyle a_{i,j}} a i , i {\displaystyle a_{i,i}} ∑ a i , j e i {\textstyle \sum a_{i,j}\mathbf {e} _{i}} a i , i {\displaystyle a_{i,i}} λ i {\displaystyle \lambda _{i}} A e i = λ i e i {\displaystyle A\mathbf {e} _{i}=\lambda _{i}\mathbf {e} _{i}}
対角化を 使用すると 、 固有基数との間で 変換できる 場合が 多くあります。
2次元の例 原点を固定する最も一般的な 幾何学的変換は 線形変換であり、回転、拡大縮小、せん断、反射、正射影などが含まれます。アフィン変換が純粋な平行移動でない場合は、ある点を固定し、その点を原点として選択することで変換を線形化できます。2次元では、線形変換は2×2の変換行列を用いて表すことができます。
ストレッチ xy 平面における伸縮は 、特定の方向への全ての距離を定数倍して拡大する線形変換ですが、垂直方向の距離には影響しません。ここでは、x軸とy軸に沿った伸縮のみを考慮します。x軸に沿った伸縮は、 ある正の定数 kに対して、 x' = kx ; y' = y という形をとります。( k > 1 の場合、これは実際には「伸縮」です。k < 1 の場合 、 これ は技術的には「圧縮」ですが、ここでは依然として伸縮と呼びます。また、 k = 1 の場合、この変換は恒等変換、つまり何の影響も与えません。)
x軸に沿って 係数 kで引き伸ばされた行列は次のように表されます。 [ k 0 0 1 ] {\displaystyle {\begin{bmatrix}k&0\\0&1\end{bmatrix}}}
同様に、 y軸に沿った 係数 kによる伸縮は x' = x ; y' = ky の形をとるので、この変換に関連する行列は [ 1 0 0 k ] {\displaystyle {\begin{bmatrix}1&0\\0&k\end{bmatrix}}}
圧迫 上記の2つの伸縮を逆数で組み合わせると、変換行列は 圧縮写像 を表します。
つまり 、軸に平行な辺を持つ正方形は、正方形と同じ面積を持つ長方形に変換されます。伸縮と圧縮の逆数によって面積は変化しません。 [ k 0 0 1 / k ] . {\displaystyle {\begin{bmatrix}k&0\\0&1/k\end{bmatrix}}.}
回転 原点を中心に反時計回り (正方向)に角度θだけ 回転する 場合、 関数形は およびとなる 。これを行列形式で書くと次のようになる。 [6] x ′ = x cos θ − y sin θ {\displaystyle x'=x\cos \theta -y\sin \theta } y ′ = x sin θ + y cos θ {\displaystyle y'=x\sin \theta +y\cos \theta } [ x ′ y ′ ] = [ cos θ − sin θ sin θ cos θ ] [ x y ] {\displaystyle {\begin{bmatrix}x'\\y'\end{bmatrix}}={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}}
同様に、原点を中心に 時計回り (負の方向)に回転する場合、関数形式は次のようになり 、 行列形式は次のようになります。 x ′ = x cos θ + y sin θ {\displaystyle x'=x\cos \theta +y\sin \theta } y ′ = − x sin θ + y cos θ {\displaystyle y'=-x\sin \theta +y\cos \theta } [ x ′ y ′ ] = [ cos θ sin θ − sin θ cos θ ] [ x y ] {\displaystyle {\begin{bmatrix}x'\\y'\end{bmatrix}}={\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}}
これらの式では、 x 軸が右を向き、 y 軸が上を向いていることを前提としています。
剪断 シアー マッピング (視覚的には傾斜に似ています)の場合 、2 つの可能性があります。
x 軸 に平行なせん断は、 およびとなります 。これを行列形式で書くと、次のようになります。 x ′ = x + k y {\displaystyle x'=x+ky} y ′ = y {\displaystyle y'=y} [ x ′ y ′ ] = [ 1 k 0 1 ] [ x y ] {\displaystyle {\begin{bmatrix}x'\\y'\end{bmatrix}}={\begin{bmatrix}1&k\\0&1\end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}}
y 軸 に平行なせん断は およびを持ち 、これは行列形式を持ちます。 x ′ = x {\displaystyle x'=x} y ′ = y + k x {\displaystyle y'=y+kx} [ x ′ y ′ ] = [ 1 0 k 1 ] [ x y ] {\displaystyle {\begin{bmatrix}x'\\y'\end{bmatrix}}={\begin{bmatrix}1&0\\k&1\end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}}
反射 原点を通る直線の鏡映変換の場合、 直線の方向の ベクトル を とします。すると、変換行列は次のようになります。 l = ( l x , l y ) {\displaystyle \mathbf {l} =(l_{x},l_{y})} A = 1 ‖ l ‖ 2 [ l x 2 − l y 2 2 l x l y 2 l x l y l y 2 − l x 2 ] {\displaystyle \mathbf {A} ={\frac {1}{\lVert \mathbf {l} \rVert ^{2}}}{\begin{bmatrix}l_{x}^{2}-l_{y}^{2}&2l_{x}l_{y}\\2l_{x}l_{y}&l_{y}^{2}-l_{x}^{2}\end{bmatrix}}}
正射影 ベクトルを原点を通る直線に直交投影するには、 直線の方向の ベクトルを とします 。このとき、変換行列は次のようになります。 u = ( u x , u y ) {\displaystyle \mathbf {u} =(u_{x},u_{y})} A = 1 ‖ u ‖ 2 [ u x 2 u x u y u x u y u y 2 ] {\displaystyle \mathbf {A} ={\frac {1}{\lVert \mathbf {u} \rVert ^{2}}}{\begin{bmatrix}u_{x}^{2}&u_{x}u_{y}\\u_{x}u_{y}&u_{y}^{2}\end{bmatrix}}}
反射と同様に、原点を通らない線への直交投影は線形変換ではなくアフィン変換です。
平行投影 も線形変換であり、単純に行列で表すことができます。しかし、透視投影は線形変換ではないため、これを行列で表すには 同次座標を 使用することができます。
3次元の例
回転 単位ベクトル ( x 、 y 、 z ) で定義された任意の軸を中心に 角度 θ を回転させる行列 は [7]である。 [ x x ( 1 − cos θ ) + cos θ y x ( 1 − cos θ ) − z sin θ z x ( 1 − cos θ ) + y sin θ x y ( 1 − cos θ ) + z sin θ y y ( 1 − cos θ ) + cos θ z y ( 1 − cos θ ) − x sin θ x z ( 1 − cos θ ) − y sin θ y z ( 1 − cos θ ) + x sin θ z z ( 1 − cos θ ) + cos θ ] . {\displaystyle {\begin{bmatrix}xx(1-\cos \theta )+\cos \theta &yx(1-\cos \theta )-z\sin \theta &zx(1-\cos \theta )+y\sin \theta \\xy(1-\cos \theta )+z\sin \theta &yy(1-\cos \theta )+\cos \theta &zy(1-\cos \theta )-x\sin \theta \\xz(1-\cos \theta )-y\sin \theta &yz(1-\cos \theta )+x\sin \theta &zz(1-\cos \theta )+\cos \theta \end{bmatrix}}.}
反射 点を平面 (原点を通る平面)に鏡映するには、 を使います 。ここで は3×3の単位行列、は 平面のベクトル法線の 3次元 単位ベクトル です。 、 、 の L 2 ノルム が1の場合、変換行列は次のように表されます。 a x + b y + c z = 0 {\displaystyle ax+by+cz=0} A = I − 2 N N T {\displaystyle \mathbf {A} =\mathbf {I} -2\mathbf {NN} ^{\mathrm {T} }} I {\displaystyle \mathbf {I} } N {\displaystyle \mathbf {N} } a {\displaystyle a} b {\displaystyle b} c {\displaystyle c} A = [ 1 − 2 a 2 − 2 a b − 2 a c − 2 a b 1 − 2 b 2 − 2 b c − 2 a c − 2 b c 1 − 2 c 2 ] {\displaystyle \mathbf {A} ={\begin{bmatrix}1-2a^{2}&-2ab&-2ac\\-2ab&1-2b^{2}&-2bc\\-2ac&-2bc&1-2c^{2}\end{bmatrix}}}
これらは2次元および3次元における ハウスホルダー反射 の特殊なケースであることに注意してください。原点を通らない直線または平面に関する反射は線形変換ではなく、アフィン 変換 です。4×4アフィン変換行列として、次のように表すことができます(法線が単位ベクトルであると仮定)。 ここで 、平面上の 任意の点、またはそれと同値な点に対しては、となります 。 [ x ′ y ′ z ′ 1 ] = [ 1 − 2 a 2 − 2 a b − 2 a c − 2 a d − 2 a b 1 − 2 b 2 − 2 b c − 2 b d − 2 a c − 2 b c 1 − 2 c 2 − 2 c d 0 0 0 1 ] [ x y z 1 ] {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\begin{bmatrix}1-2a^{2}&-2ab&-2ac&-2ad\\-2ab&1-2b^{2}&-2bc&-2bd\\-2ac&-2bc&1-2c^{2}&-2cd\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}} d = − p ⋅ N {\displaystyle d=-\mathbf {p} \cdot \mathbf {N} } p {\displaystyle \mathbf {p} } a x + b y + c z + d = 0 {\displaystyle ax+by+cz+d=0}
ベクトルの4番目の成分が1ではなく0の場合、ベクトルの方向のみが反転され、大きさは変化しません。これは、原点を通る平行平面を鏡映したかのように見えます。これは、位置ベクトルと法線ベクトルの両方を同じ行列で変換できるため、便利な性質です。 詳細については、以下の 同次座標とアフィン変換を参照してください。
行列を使用して線形変換を表す主な理由の 1 つは、変換を簡単に 構成し たり反転したりできることです。
合成は行列の乗算 によって行われます 。 行ベクトルと列ベクトルは 、行が左側、列が右側にある行列によって操作されます。テキストは左から右に読むため、変換行列を合成する際には列ベクトルが優先されます。
A と B が 2 つの線形変換の行列である 場合、最初に A を 適用し、次に B を列ベクトルに適用すると、 次のようになります。 x {\displaystyle \mathbf {x} } B ( A x ) = ( B A ) x . {\displaystyle \mathbf {B} (\mathbf {A} \mathbf {x} )=(\mathbf {BA} )\mathbf {x} .}
言い換えれば、変換 A とそれに続く変換 B の組み合わせの行列は、個々の行列の積に過ぎません。
A が 可逆行列 である 場合、 A を 「元に戻す」変換を表す 行列 A −1が存在します。これは、 A との合成が 単位行列 となるため です。いくつかの実用的な応用では、反転は一般的な反転アルゴリズムを使用するか、逆演算(逆方向への回転など、幾何学的に解釈しやすいもの)を実行してから逆順に合成することで計算できます。反射行列は特別なケースで、 それ自体が逆行列である ため、別途計算する必要はありません。
単位正方形に様々な2次元アフィン変換行列を適用した場合の効果。反射行列はスケーリング行列の特殊なケースであることに注意してください。 2次元平面上のアフィン変換は、3次元でも実行できます。移動はxy平面に平行にせん断することで行われ、回転はz軸を中心に行われます。 アフィン変換を 行列で表すには 、 同次座標系 を使用することができます。これは、2次元ベクトル ( x , y ) を3次元ベクトル ( x , y , 1 ) として表すことを意味します。高次元の場合も同様です。このシステムを用いると、変換は行列の乗算で表すことができます。関数形は次の ようになります。 x ′ = x + t x ; y ′ = y + t y {\displaystyle x'=x+t_{x};y'=y+t_{y}} [ x ′ y ′ 1 ] = [ 1 0 t x 0 1 t y 0 0 1 ] [ x y 1 ] . {\displaystyle {\begin{bmatrix}x'\\y'\\1\end{bmatrix}}={\begin{bmatrix}1&0&t_{x}\\0&1&t_{y}\\0&0&1\end{bmatrix}}{\begin{bmatrix}x\\y\\1\end{bmatrix}}.}
通常の線形変換はすべてアフィン変換の集合に含まれており、アフィン変換の簡略化された形式として記述できます。したがって、任意の線形変換は、一般変換行列によっても表すことができます。後者は、対応する線形変換行列を1行1列拡張し、右下隅(右下隅は1に設定する必要があります)以外の余分なスペースを0で埋めることによって得られます。例えば、 上記の 反 時計回りの 回転行列は 次のようになります。 [ cos θ − sin θ 0 sin θ cos θ 0 0 0 1 ] {\displaystyle {\begin{bmatrix}\cos \theta &-\sin \theta &0\\\sin \theta &\cos \theta &0\\0&0&1\end{bmatrix}}}
同次座標を含む変換行列を使用すると、並進は線形になり、他のすべての種類の変換とシームレスに混在させることができます。これは、実平面が 実射影空間の w = 1平面にマッピングされるため、実 ユークリッド空間 における並進は実射影空間におけるせん断として表すことができるからです。並進は、 直交座標で記述される 2 次元または 3 次元ユークリッド空間では 非線形変換です (つまり、 可換性 やその他の特性を維持しながら他の変換と組み合わせることはできません)。しかし、 同次座標で記述される 3 次元または 4 次元射影空間では、単純な線形変換 (せん断 )に なります 。
2つ以上のアフィン変換を合成する ことで、より多くのアフィン変換が得られます。例えば、 ベクトル T' の移動、 反時計回り の角度θの 回転 R 、係数による スケーリング S 、ベクトル T の移動が与えられた場合、 T'RST の 結果 M は次のようになります。 [8] ( t x ′ , t y ′ ) , {\displaystyle (t'_{x},t'_{y}),} ( s x , s y ) {\displaystyle (s_{x},s_{y})} ( t x , t y ) , {\displaystyle (t_{x},t_{y}),} [ s x cos θ − s y sin θ t x s x cos θ − t y s y sin θ + t x ′ s x sin θ s y cos θ t x s x sin θ + t y s y cos θ + t y ′ 0 0 1 ] {\displaystyle {\begin{bmatrix}s_{x}\cos \theta &-s_{y}\sin \theta &t_{x}s_{x}\cos \theta -t_{y}s_{y}\sin \theta +t'_{x}\\s_{x}\sin \theta &s_{y}\cos \theta &t_{x}s_{x}\sin \theta +t_{y}s_{y}\cos \theta +t'_{y}\\0&0&1\end{bmatrix}}}
アフィン変換を用いる場合、座標ベクトルの同次成分(通常は w と呼ばれる)は変化しません。したがって、同次成分は常に1であると仮定して無視しても問題ありません。しかし、透視投影を用いる場合はそうではありません。
透視投影 単位正方形に 2D アフィン変換行列と透視変換行列を適用した場合の効果の比較。 3Dコンピュータグラフィックス において重要なもう1つの変換は、 透視投影 です 。平行投影は、点を平行線に沿って画像平面に投影するために使用されますが、透視投影は、投影中心と呼ばれる単一の点から発せられる線に沿って画像平面に点を投影します。つまり、物体は投影中心から遠いほど投影範囲が小さくなり、近いほど投影範囲が大きくなります( 逆関数 も参照)。
最も単純な透視投影では、原点を投影の中心とし、 の平面を 像面とします。この変換の関数形は です。これを 同次座標 で表すと、次の ように
なります 。 z = 1 {\displaystyle z=1} x ′ = x / z {\displaystyle x'=x/z} y ′ = y / z {\displaystyle y'=y/z} [ x c y c z c w c ] = [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 ] [ x y z 1 ] = [ x y z z ] {\displaystyle {\begin{bmatrix}x_{c}\\y_{c}\\z_{c}\\w_{c}\end{bmatrix}}={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&1&0\end{bmatrix}}{\begin{bmatrix}x\\y\\z\\1\end{bmatrix}}={\begin{bmatrix}x\\y\\z\\z\end{bmatrix}}}
行列の乗算 を 実行すると 、同次成分は の値に等しくなり 、他の3つの成分は変化しません。したがって、実平面に戻すには、 各成分を で割る 同次除算 、つまり 透視除算 を実行する必要があります。 w c {\displaystyle w_{c}} z {\displaystyle z} w c {\displaystyle w_{c}} [ x ′ y ′ z ′ 1 ] = 1 w c [ x c y c z c w c ] = [ x / z y / z 1 1 ] {\displaystyle {\begin{bmatrix}x'\\y'\\z'\\1\end{bmatrix}}={\frac {1}{w_{c}}}{\begin{bmatrix}x_{c}\\y_{c}\\z_{c}\\w_{c}\end{bmatrix}}={\begin{bmatrix}x/z\\y/z\\1\\1\end{bmatrix}}}
これを回転、拡大縮小、平行移動、シアーと組み合わせて画像平面と投影の中心を任意の場所に移動することで、より複雑な透視投影を作成できます。
参照
参考文献 ^ ab Gentle, James E. (2007). 「行列変換と因数分解」. 行列代数:統計における理論、計算、応用 . Springer. ISBN 9780387708737 。 ^ ラファエル・アルツィ (1965) 線型幾何学 ^ JWP Hirschfeld (1979) 有限体の射影幾何学 、 Clarendon Press ^ ニアリング、ジェームズ (2010). 「第7.3章 演算子の例」 (PDF) . 物理学のための数学ツール. ISBN 978-0486482125 . 2012年 1月1日 閲覧 。 ^ ニアリング、ジェームズ (2010). 「第7.9章 固有値と固有ベクトル」 (PDF) . Mathematical Tools for Physics. ISBN 978-0486482125 . 2012年 1月1日 閲覧 。 ^ 「講義ノート」 (PDF) . ocw.mit.edu . 2024年7月28日 閲覧 。 ^ Szymanski, John E. (1989). 『電子技術者のための基礎数学:モデルと応用』 Taylor & Francis. p. 154. ISBN 0278000681 。 ^ Cédric Jules (2015年2月25日). 「2D変換行列のベーキング」.
外部リンク マトリックスページ POV-Rayの実践例 参照ページ - 軸の回転 線形変換計算機 変換アプレット - 2D 変換から行列を生成し、その逆も行います。 2Dにおける回転時の座標変換 Excel Fun - スプレッドシートから3Dグラフィックを作成する