変換行列

線型代数では線型変換は行列で表すことができますが への線型変換で、が要素を持つ列ベクトルである場合、変換行列と呼ばれる行列 が存在し[1]は次のようになります。は行と列を持ちますが、は からの変換です。行ベクトルを含む変換行列の別の表現方法があり、一部の著者はそれを好んでいます。[2] [3]

用途

行列は、任意の線形変換を計算に適した一貫した形式で表示することを可能にします。[1] これにより、変換を簡単に合成することもできます(行列を乗算することによって)。

行列で表現できるのは線形変換だけではありません。 n 次元ユークリッド空間 R n上で非線形な変換の一部は、n +1 次元空間R n +1上で線形変換として表現できます。これらには、アフィン変換(平行移動など) と射影変換の両方が含まれます。このため、4×4 変換行列は、繰り返し行列の乗算によってオブジェクトの平行移動、拡大縮小、回転を実行できるため、3D コンピュータ グラフィックスで広く使用されています。これらのn +1 次元変換行列は、その用途に応じて、アフィン変換行列射影変換行列、またはより一般的には非線形変換行列と呼ばれます。 n次元行列に関してn +1 次元行列は拡張行列として記述できます。

物理科学において能動的な変換とは、の物理的な位置を実際に変化させる変換であり、座標系が存在しない場合でも意味を持ちます。一方、受動的な変換とは、物理系の座標記述における変化(基底の変化)です。能動的な変換と受動的な変換の区別は重要です。一般的に、数学者は「変換」という場合、能動的な変換を指しますが、物理学者はどちらを指す場合もあります。

言い換えれば、受動変換とは、2 つの異なる座標フレームから見た同じオブジェクトの記述を指します。

変換行列を求める

関数形式の線型変換がある場合、標準基底の各ベクトルをTで変換し、その結果を行列の列に代入することで、変換行列Aを簡単に求めることができます。言い換えると、

例えば、関数は線形変換です。上記の処理を適用すると(この場合、 n = 2と仮定)、次の式が得られます。

ベクトルと演算子の行列表現は、選択した基底に依存します。基底を変えても同様の行列が得られます。ただし、成分を求める方法は変わりません。

詳しく言うと、ベクトルは座標を持つ基底ベクトルで表すことができます

ここで、与えられた基底におけるの変換行列Aの結果を次のように表します。

行列Aの要素は、与えられた基底Eに対して、 Aをあらゆるに適用し、応答ベクトルを観察すること によって決定される。

この式は行列Aのj列目の必要な要素を定義する[4]

固有基底と対角行列

しかし、演算子 には特別な基底があり、その成分は対角行列を形成し、その結果、乗算の計算量はnに減少します。対角行列であるということは、を除くすべての係数がゼロであり、上記の和には1つの項だけが残ることを意味します。残った対角要素 は固有値と呼ばれ、定義方程式内で で表され、定義方程式は に減少します。結果として得られる方程式は固有値方程式と呼ばれます。[5]固有ベクトルと固有値は、特性多項式を介してこの方程式から導出されます

対角化を使用すると固有基数との間で変換できる場合が多くあります。

2次元の例

原点を固定する最も一般的な幾何学的変換は線形変換であり、回転、拡大縮小、せん断、反射、正射影などが含まれます。アフィン変換が純粋な平行移動でない場合は、ある点を固定し、その点を原点として選択することで変換を線形化できます。2次元では、線形変換は2×2の変換行列を用いて表すことができます。

ストレッチ

xy平面における伸縮は、特定の方向への全ての距離を定数倍して拡大する線形変換ですが、垂直方向の距離には影響しません。ここでは、x軸とy軸に沿った伸縮のみを考慮します。x軸に沿った伸縮は、ある正の定数kに対して、 x' = kx ; y' = yという形をとります。(k > 1の場合、これは実際には「伸縮」です。k < 1 の場合これは技術的には「圧縮」ですが、ここでは依然として伸縮と呼びます。また、k = 1の場合、この変換は恒等変換、つまり何の影響も与えません。)

x軸に沿って係数kで引き伸ばされた行列は次のように表されます。

同様に、 y軸に沿った係数kによる伸縮はx' = x ; y' = kyの形をとるので、この変換に関連する行列は

圧迫

上記の2つの伸縮を逆数で組み合わせると、変換行列は圧縮写像を表します。 つまり、軸に平行な辺を持つ正方形は、正方形と同じ面積を持つ長方形に変換されます。伸縮と圧縮の逆数によって面積は変化しません。

回転

原点を中心に反時計回り(正方向)に角度θだけ回転する場合、関数形はおよびとなる。これを行列形式で書くと次のようになる。[6]

同様に、原点を中心に時計回り(負の方向)に回転する場合、関数形式は次のようになり行列形式は次のようになります。

これらの式では、x軸が右を向き、y軸が上を向いていることを前提としています。

剪断

シアー マッピング(視覚的には傾斜に似ています)の場合、2 つの可能性があります。

xに平行なせん断は、およびとなります。これを行列形式で書くと、次のようになります。

yに平行なせん断はおよびを持ち、これは行列形式を持ちます。

反射

原点を通る直線の鏡映変換の場合、直線の方向のベクトルを とします。すると、変換行列は次のようになります。

正射影

ベクトルを原点を通る直線に直交投影するには、直線の方向のベクトルを とします。このとき、変換行列は次のようになります。

反射と同様に、原点を通らない線への直交投影は線形変換ではなくアフィン変換です。

平行投影も線形変換であり、単純に行列で表すことができます。しかし、透視投影は線形変換ではないため、これを行列で表すには同次座標を使用することができます。

3次元の例

回転

単位ベクトルxyzで定義された任意の軸を中心に角度θを回転させる行列[7]である。

反射

点を平面(原点を通る平面)に鏡映するには、 を使います。ここでは3×3の単位行列、は平面のベクトル法線の3次元単位ベクトルです。 、L 2ノルムが1の場合、変換行列は次のように表されます。

これらは2次元および3次元におけるハウスホルダー反射の特殊なケースであることに注意してください。原点を通らない直線または平面に関する反射は線形変換ではなく、アフィン変換です。4×4アフィン変換行列として、次のように表すことができます(法線が単位ベクトルであると仮定)。ここで、平面上の任意の点、またはそれと同値な点に対しては、となります

ベクトルの4番目の成分が1ではなく0の場合、ベクトルの方向のみが反転され、大きさは変化しません。これは、原点を通る平行平面を鏡映したかのように見えます。これは、位置ベクトルと法線ベクトルの両方を同じ行列で変換できるため、便利な性質です。詳細については、以下の同次座標とアフィン変換を参照してください。

変換の合成と反転

行列を使用して線形変換を表す主な理由の 1 つは、変換を簡単に構成したり反転したりできることです。

合成は行列の乗算によって行われます行ベクトルと列ベクトルは、行が左側、列が右側にある行列によって操作されます。テキストは左から右に読むため、変換行列を合成する際には列ベクトルが優先されます。

AB が2 つの線形変換の行列である場合、最初にA を適用し、次にBを列ベクトルに適用すると、次のようになります。

言い換えれば、変換Aとそれに続く変換Bの組み合わせの行列は、個々の行列の積に過ぎません。

A が可逆行列である場合、A を「元に戻す」変換を表す行列A −1が存在します。これは、 Aとの合成が単位行列となるためです。いくつかの実用的な応用では、反転は一般的な反転アルゴリズムを使用するか、逆演算(逆方向への回転など、幾何学的に解釈しやすいもの)を実行してから逆順に合成することで計算できます。反射行列は特別なケースで、それ自体が逆行列であるため、別途計算する必要はありません。

その他の種類の変換

アフィン変換

単位正方形に様々な2次元アフィン変換行列を適用した場合の効果。反射行列はスケーリング行列の特殊なケースであることに注意してください。
2次元平面上のアフィン変換は、3次元でも実行できます。移動はxy平面に平行にせん断することで行われ、回転はz軸を中心に行われます。

アフィン変換を行列で表すには同次座標系を使用することができます。これは、2次元ベクトル ( x , y ) を3次元ベクトル ( x , y , 1 ) として表すことを意味します。高次元の場合も同様です。このシステムを用いると、変換は行列の乗算で表すことができます。関数形は次のようになります。

通常の線形変換はすべてアフィン変換の集合に含まれており、アフィン変換の簡略化された形式として記述できます。したがって、任意の線形変換は、一般変換行列によっても表すことができます。後者は、対応する線形変換行列を1行1列拡張し、右下隅(右下隅は1に設定する必要があります)以外の余分なスペースを0で埋めることによって得られます。例えば、上記の時計回りの 回転行列は次のようになります。

同次座標を含む変換行列を使用すると、並進は線形になり、他のすべての種類の変換とシームレスに混在させることができます。これは、実平面が実射影空間のw = 1平面にマッピングされるため、実ユークリッド空間における並進は実射影空間におけるせん断として表すことができるからです。並進は、直交座標で記述される 2 次元または 3 次元ユークリッド空間では非線形変換です (つまり、可換性やその他の特性を維持しながら他の変換と組み合わせることはできません)。しかし、同次座標で記述される 3 次元または 4 次元射影空間では、単純な線形変換 (せん断)になります

2つ以上のアフィン変換を合成することで、より多くのアフィン変換が得られます。例えば、ベクトルT'の移動、反時計回りの角度θの回転R 、係数によるスケーリングS 、ベクトルTの移動が与えられた場合、 T'RST結果Mは次のようになります。[8]

アフィン変換を用いる場合、座標ベクトルの同次成分(通常はwと呼ばれる)は変化しません。したがって、同次成分は常に1であると仮定して無視しても問題ありません。しかし、透視投影を用いる場合はそうではありません。

透視投影

単位正方形に 2D アフィン変換行列と透視変換行列を適用した場合の効果の比較。

3Dコンピュータグラフィックスにおいて重要なもう1つの変換は、透視投影です。平行投影は、点を平行線に沿って画像平面に投影するために使用されますが、透視投影は、投影中心と呼ばれる単一の点から発せられる線に沿って画像平面に点を投影します。つまり、物体は投影中心から遠いほど投影範囲が小さくなり、近いほど投影範囲が大きくなります(逆関数も参照)。

最も単純な透視投影では、原点を投影の中心とし、 の平面を像面とします。この変換の関数形は です。これを同次座標で表すと、次のように なります

行列の乗算 を実行すると、同次成分はの値に等しくなり、他の3つの成分は変化しません。したがって、実平面に戻すには、各成分を で割る同次除算、つまり透視除算を実行する必要があります。

これを回転、拡大縮小、平行移動、シアーと組み合わせて画像平面と投影の中心を任意の場所に移動することで、より複雑な透視投影を作成できます。

参照

参考文献

  1. ^ ab Gentle, James E. (2007). 「行列変換と因数分解」.行列代数:統計における理論、計算、応用. Springer. ISBN 9780387708737
  2. ^ ラファエル・アルツィ(1965)線型幾何学
  3. ^ JWP Hirschfeld (1979)有限体の射影幾何学 Clarendon Press
  4. ^ ニアリング、ジェームズ (2010). 「第7.3章 演算子の例」(PDF) . 物理学のための数学ツール. ISBN 978-0486482125. 2012年1月1日閲覧
  5. ^ ニアリング、ジェームズ (2010). 「第7.9章 固有値と固有ベクトル」(PDF) . Mathematical Tools for Physics. ISBN 978-0486482125. 2012年1月1日閲覧
  6. ^ 「講義ノート」(PDF) . ocw.mit.edu . 2024年7月28日閲覧
  7. ^ Szymanski, John E. (1989). 『電子技術者のための基礎数学:モデルと応用』 Taylor & Francis. p. 154. ISBN 0278000681
  8. ^ Cédric Jules (2015年2月25日). 「2D変換行列のベーキング」.
  • マトリックスページPOV-Rayの実践例
  • 参照ページ - 軸の回転
  • 線形変換計算機
  • 変換アプレット - 2D 変換から行列を生成し、その逆も行います。
  • 2Dにおける回転時の座標変換
  • Excel Fun - スプレッドシートから3Dグラフィックを作成する
Retrieved from "https://en.wikipedia.org/w/index.php?title=Transformation_matrix&oldid=1300757933"