同次座標

有理ベジェ曲線 - 同次座標で定義された多項式曲線(青)と、その平面への投影 - 有理曲線(赤)

数学において、同次座標または射影座標はアウグスト・フェルディナント・メビウスが1827年の著書『重心計算』[1] [2] [3] で導入座標ありユークリッド幾何用いられる直交座標と同様に、射影幾何学で用いられる座標系である。同次座標の利点は、点の座標(無限遠点も含む)を有限座標で表せることである。同次座標を用いた式は、直交座標を用いた式よりも単純で対称性が高い場合が多い。同次座標は、コンピュータグラフィックスや3Dコンピュータビジョンなど、幅広い分野で利用されており、アフィン変換や、一般的には射影変換を行列で簡単に表すことができる。また、基本的な楕円曲線暗号アルゴリズムでも用いられる。[ 4 ]

ある点の同次座標に非ゼロのスカラーを乗じると、得られる座標は同じ点を表します。同次座標は無限遠点にも与えられるため、この拡張を可能にするために必要な座標の数は、対象とする射影空間の次元より1つ多くなります。例えば、射影直線上の点を指定するには2つの同次座標が必要であり、射影平面上の点を指定するには3つの同次座標が必要です。

導入

射影平面は、ユークリッド平面に点が追加されたものとして考えることができます。これらの点は無限遠点と呼ばれ、新しい直線である無限遠直線上にあると考えられます。各方向に対応する無限遠点(数値的には直線の傾きで与えられます)があり、これは非公式には、原点からその方向に移動する点の極限として定義されます。ユークリッド平面上の平行線は、それらの共通方向に対応する無限遠点で交差すると言われています。ユークリッド平面上の点が与えられ、任意の非ゼロの実数 に対して、3 つの座標系はその点の同次座標の集合と呼ばれます。この定義により、3 つの同次座標に共通の非ゼロの係数を掛けると、同じ点の新しい同次座標の集合が得られます。特に、 は点 のそのような同次座標系です。たとえば、直交点は同次座標ではまたはとして表すことができます。最初の2つの位置を3番目の位置で割ることで、元の直交座標が復元されます。したがって、直交座標とは異なり、1つの点を無限個の同次座標で表すことができます。 ×y{\displaystyle (x,y)}Z{\displaystyle Z}×ZyZZ{\displaystyle (xZ,yZ,Z)}×y1{\displaystyle (x,y,1)}(x,y){\displaystyle (x,y)}(1,2){\displaystyle (1,2)}(1,2,1){\displaystyle (1,2,1)}(2,4,2){\displaystyle (2,4,2)}

原点を通る直線の方程式は、と が両方 ではないところで書くことができます。媒介変数形式では、これは と書くことができます。 とすると、直線上の点の座標は と書くことができます。同次座標では、これは となります。極限では、 が無限大に近づくにつれて、言い換えれば、点が原点から離れるにつれて、は近づき、点の同次座標は となります。したがって、直線 の方向に対応する無限遠点の同次座標 を と定義します。ユークリッド平面上のどの直線も原点を通る直線に平行であり、平行な直線は無限遠に同じ点を持つため、ユークリッド平面上のどの直線上の無限遠点にも同次座標が与えられています。 (0,0){\displaystyle (0,0)}nx+my=0{\displaystyle nx+my=0}n{\displaystyle n}m{\displaystyle m}0{\displaystyle 0}x=mt,y=nt{\displaystyle x=mt,y=-nt}Z=1/t{\displaystyle Z=1/t}(m/Z,n/Z){\displaystyle (m/Z,-n/Z)}(m,n,Z){\displaystyle (m,-n,Z)}t{\displaystyle t}Z{\displaystyle Z}0{\displaystyle 0}(m,n,0){\displaystyle (m,-n,0)}(m,n,0){\displaystyle (m,-n,0)}nx+my=0{\displaystyle nx+my=0}

要約すると:

  • 射影平面上の任意の点は、その点の「同次座標」または「射影座標」と呼ばれる 3 つの によって表されます。ただし、、、はすべて ではありません。(X,Y,Z){\displaystyle (X,Y,Z)}X{\displaystyle X}Y{\displaystyle Y}Z{\displaystyle Z}0{\displaystyle 0}
  • 与えられた同次座標系によって表される点は、座標に共通因数を掛けても変化しません。
  • 逆に、同次座標の 2 セットは、すべての座標に同じ非ゼロ定数を乗算することによって 1 セットが他の 1 セットから取得される場合に限り、同じ点を表します。
  • 点が表されていない場合は、点はユークリッド平面上の点となります。Z{\displaystyle Z}0{\displaystyle 0}(X/Z,Y/Z){\displaystyle (X/Z,Y/Z)}
  • 表現される点は無限遠点です。Z{\displaystyle Z}0{\displaystyle 0}

三つ組は省略されており、点を表すものではありません。ユークリッド平面の原点は で表されます。[ 5 ](0,0,0){\displaystyle (0,0,0)}(0,0,1){\displaystyle (0,0,1)}

表記

同次座標には、直交座標と区別するために異なる表記法を用いる著者もいる。例えば の代わりに のように、コンマではなくコロンを用いることで、座標が比として扱われることを強調する。[ 6 ]のような角括弧は、複数の座標系が単一の点に関連付けられていることを強調する。[ 7 ]のように、コロンと角括弧を組み合わせて用いる著者もいる。[ 8 ](x:y:z){\displaystyle (x:y:z)}(x,y,z){\displaystyle (x,y,z)}[x,y,z]{\displaystyle [x,y,z]}[x:y:z]{\displaystyle [x:y:z]}

その他の次元

前節の議論は、平面以外の射影空間にも同様に当てはまる。したがって、射影直線上の点は、両方が零ではなく、座標のペアで表される場合がある。この場合、無限遠点は である。同様に、射影 -空間上の点は-組で表される。[ 9 ](x,y){\displaystyle (x,y)}(1,0){\displaystyle (1,0)}n{\displaystyle n}(n+1){\displaystyle (n+1)}

その他の射影空間

実数を用いると、古典的な実射影空間における点の同次座標が得られるが、任意のを用いることができ、特に複素射影空間では複素数を用いることができる。例えば、複素射影直線は2つの同次複素座標を用い、リーマン球面として知られている。有限体を含む他の体も用いることができる。

射影空間の同次座標は、分割環(歪体)の元を用いても作成できる。しかし、この場合、乗法が可換ではない可能性があることに注意する必要がある。[ 10 ]

一般Aに対して、A上の射影直線は、左側に作用する同次因子と右側に作用する 射影線型群によって定義できます。

代替定義

実射影平面の別の定義は、同値類を用いて与えることができます。 の非零元に対して、 を と定義することは、 となる非零元が存在することを意味します。この場合、 は同値関係となり、射影平面は の同値類 として定義できます。が同値類の元の1つである場合、これらは の同次座標であるとみなされます。 R3{\displaystyle \mathbb {R} ^{3}}(x1,y1,z1)(x2,y2,z2){\displaystyle (x_{1},y_{1},z_{1})\sim (x_{2},y_{2},z_{2})}λ{\displaystyle \lambda }(x1,y1,z1)=(λx2,λy2,λz2){\displaystyle (x_{1},y_{1},z_{1})=(\lambda x_{2},\lambda y_{2},\lambda z_{2})}{\displaystyle \sim }R3{0}.{\displaystyle \mathbb {R} ^{3}\setminus \left\{0\right\}.}(x,y,z){\displaystyle (x,y,z)}p{\displaystyle p}p{\displaystyle p}

この空間上の直線は、、、のすべてがゼロになるわけではない、 の形の方程式の解の集合として定義されます。条件の充足はの同値類のみに依存するため、方程式は射影平面上の点の集合を定義します。写像はユークリッド平面から射影平面への包含を定義し、像の補集合は となる点の集合です。方程式は射影平面上の直線の方程式であり(射影平面上の直線の定義を参照)、無限遠直線と呼ばれます。 ax+by+cz=0{\displaystyle ax+by+cz=0}a{\displaystyle a}b{\displaystyle b}c{\displaystyle c}ax+by+cz=0{\displaystyle ax+by+cz=0}(x,y,z),{\displaystyle (x,y,z),}(x,y)(x,y,1){\displaystyle (x,y)\mapsto (x,y,1)}z=0{\displaystyle z=0}z=0{\displaystyle z=0}

同値類 は、原点を通り、原点を取り除いた直線群です。原点は前述の議論において本質的には重要ではないため、射影平面の性質を変えることなく、原点を再び追加することができます。これにより定義が変化し、射影平面は 原点を通る直線の集合として定義され、直線の非零元の座標は その直線の同次座標とみなされます。これらの直線は、射影平面上の点として解釈されます。 p{\displaystyle p}R3{\displaystyle \mathbb {R} ^{3}}(x,y,z){\displaystyle (x,y,z)}

この議論は他の次元にも同様に当てはまる。したがって、n次元の射影空間は、n次元における原点を通る直線の集合として定義できる。[ 11 ]Rn+1{\displaystyle \mathbb {R} ^{n+1}}

均質性

同次座標は点によって一意に定まるわけではないため、例えば座標上で定義された関数は、 直交座標の場合のように点上で定義された関数を決定しません。しかし、曲線を記述するために用いられるような座標上で定義された条件は、関数が同次である 場合、点上の条件を決定します。具体的には、f(x,y,z){\displaystyle f(x,y,z)}f(x,y,z)=0{\displaystyle f(x,y,z)=0}k{\displaystyle k}

f(λx,λy,λz)=λkf(x,y,z).{\displaystyle f(\lambda x,\lambda y,\lambda z)=\lambda ^{k}f(x,y,z).}

座標の集合が と同じ点を表す場合、は の非ゼロ値に対して と書くことができます 。すると、 (x,y,z){\displaystyle (x,y,z)}(λx,λy,λz){\displaystyle (\lambda x,\lambda y,\lambda z)}λ{\displaystyle \lambda }

f(x,y,z)=0f(λx,λy,λz)=λkf(x,y,z)=0.{\displaystyle f(x,y,z)=0\iff f(\lambda x,\lambda y,\lambda z)=\lambda ^{k}f(x,y,z)=0.}

次数の多項式 、をに置き換え、を で乗じることによって同次多項式に変換できる。言い換えれば、 g(x,y){\displaystyle g(x,y)}k{\displaystyle k}x{\displaystyle x}x/z{\displaystyle x/z}y{\displaystyle y}y/z{\displaystyle y/z}zk{\displaystyle z^{k}}

f(x,y,z)=zkg(x/z,y/z).{\displaystyle f(x,y,z)=z^{k}g(x/z,y/z).}

結果として得られる関数は多項式なので、その定義域を となる3つの組に拡張することは理にかなっています。この処理は と設定することで逆順に行うことができます。 f{\displaystyle f}z=0{\displaystyle z=0}z=1{\displaystyle z=1}

g(x,y)=f(x,y,1).{\displaystyle g(x,y)=f(x,y,1).}

この方程式はの同次形式と考えることができ 、ユークリッド平面に限定した場合も同じ曲線を定義します。例えば、直線の方程式の同次形式は[ 12 ]です。f(x,y,z)=0{\displaystyle f(x,y,z)=0}g(x,y)=0{\displaystyle g(x,y)=0}ax+by+c=0{\displaystyle ax+by+c=0}ax+by+cz=0.{\displaystyle ax+by+cz=0.}

線座標と双対性

射影平面上の直線の方程式は、 と表すことができます。ここで、、 およびは定数です。各 3 つ組は直線を決定し、決定された直線は非ゼロのスカラーを乗じても変化せず、、およびの少なくとも 1 つは非ゼロでなければなりません。したがって、この 3 つ組は射影平面上の直線の同次座標、つまり点座標ではなく直線座標と見なすことができます。文字、および を変数とし 、、およびを定数とすると、方程式は平面上のすべての直線の空間にある直線の集合の方程式になります。幾何学的には、これは点を通る直線の集合を表し、直線座標における点の方程式として解釈できます。同様に、3 次元空間の平面には 4 つの同次座標の集合を与えることができ、高次元の場合も同様です。[ 13 ]sx+ty+uz=0{\displaystyle sx+ty+uz=0}s{\displaystyle s}t{\displaystyle t}u{\displaystyle u}(s,t,u){\displaystyle (s,t,u)}s{\displaystyle s}t{\displaystyle t}u{\displaystyle u}(s,t,u){\displaystyle (s,t,u)}sx+ty+uz=0{\displaystyle sx+ty+uz=0}s{\displaystyle s}t{\displaystyle t}u{\displaystyle u}x{\displaystyle x}y{\displaystyle y}z{\displaystyle z}(x,y,z){\displaystyle (x,y,z)}

同じ関係 は、直線の方程式としても点の方程式としても考えることができます。一般に、点と直線の同次座標の間には代数的にも論理的にも違いはありません。したがって、点を基本要素とする平面幾何学と直線を基本要素とする平面幾何学は、解釈を除いて同等です。これは、射影幾何学の双対性の概念、つまり、点と直線の役割は射影幾何学の定理で交換でき、結果も定理になるという原理につながります。同様に、射影 3 次元空間の点の理論は、射影 3 次元空間の平面の理論と双対であり、高次元でも同様です。[ 14 ]sx+ty+uz=0{\displaystyle sx+ty+uz=0}

プルッカー座標

射影3次元空間における直線への座標の割り当てはより複雑である。直線上にある2点の座標、または直線が交点となる2つの平面の座標、合わせて8つの座標が必要となるためである。ユリウス・プルッカーによる有用な手法では、直線上の2点と2点の同次座標から、行列式として6つの座標を作成する 。プルッカー埋め込みは、これを一般化して、次元の射影空間における任意の次元の要素の同次座標を作成したものである。[ 15 ] [ 16 ]xiyjxjyi(1i<j4){\displaystyle x_{i}y_{j}-x_{j}y_{i}(1\leq i<j\leq 4)}(x1,x2,x3,x4){\displaystyle (x_{1},x_{2},x_{3},x_{4})}(y1,y2,y3,y4){\displaystyle (y_{1},y_{2},y_{3},y_{4})}m{\displaystyle m}n{\displaystyle n}

円形の点

実射影平面または複素射影平面における円の方程式の同次形式は である 。この曲線と無限遠直線の交点は と設定することで求められる。これにより、複素数上で2つの解を持つ方程式が生成され 、複素射影平面上に同次座標と を持つ点が生じる。これらの点は無限遠における円点と呼ばれ、すべての円の共通交点とみなすことができる。これは、円代数曲線として高次の曲線に一般化できる。[ 17 ]x2+y2+2axz+2byz+cz2=0{\displaystyle x^{2}+y^{2}+2axz+2byz+cz^{2}=0}z=0{\displaystyle z=0}x2+y2=0{\displaystyle x^{2}+y^{2}=0}(1,i,0){\displaystyle (1,i,0)}(1,i,0){\displaystyle (1,-i,0)}

座標系の変更

直交座標系における軸の選択がある程度恣意的であるのと同様に、あらゆる可能な座標系の中から単一の同次座標系を選択することもある程度恣意的です。したがって、異なる座標系が互いにどのように関連しているかを理解することは有用です。

射影平面上の点の同次座標を とします。非零の行列式 を持つ固定行列は 、方程式によって 新しい座標 系を定義します。 にスカラーを乗じると、 に同じスカラーを乗じることになり、 が特異でないため、 、、がすべてゼロにならない限り、 、はすべてゼロにはなりません。したがって、は射影平面上の同じ点に対する新しい同次座標系です。 (x,y,z{\displaystyle (x,y,z}A=(abcdefghi),{\displaystyle A={\begin{pmatrix}a&b&c\\d&e&f\\g&h&i\end{pmatrix}},}(X,Y,Z){\displaystyle (X,Y,Z)}(XYZ)=A(xyz).{\displaystyle {\begin{pmatrix}X\\Y\\Z\end{pmatrix}}=A{\begin{pmatrix}x\\y\\z\end{pmatrix}}.}(x,y,z){\displaystyle (x,y,z)}(X,Y,Z){\displaystyle (X,Y,Z)}X{\displaystyle X}Y{\displaystyle Y}Z{\displaystyle Z}0{\displaystyle 0}x{\displaystyle x}y{\displaystyle y}z{\displaystyle z}A{\displaystyle A}(X,Y,Z){\displaystyle (X,Y,Z)}

重心座標

メビウスによる同次座標系の元の定式化では、点の位置は、固定された三角形の頂点に配置された3つの質点からなる系の質量中心(または重心)として規定されていました。三角形内の点は正の質量で表され、三角形の外側の点は負の質量を許容することで表されます。系内の質量にスカラーを乗じても質量中心は変化しないため、これは同次座標系の特別なケースです。

三線座標

、、を平面上の3直線とし、点 の座標、、をこれら3直線の交点を頂点とする三角形に対するの三線座標と呼ぶ。厳密に言えば、 、 、 の値は比例関係だけでなく厳密に決まるため、これらは同次ではない。しかし、これらの間には線形関係が あるため、 の倍数で 同じ点を表すようにすることで、これらの座標を同次化できる。より一般的には、、 、を定数、、までの距離の積として定義でき、同じ基準三角形を持つ異なる同次座標系が得られる。実際、どの直線も無限遠直線でない場合、これは平面上の点に対する最も一般的な同次座標系である。[ 18 ]l{\displaystyle l}m{\displaystyle m}n{\displaystyle n}X{\displaystyle X}Y{\displaystyle Y}Z{\displaystyle Z}p{\displaystyle p}p{\displaystyle p}p{\displaystyle p}X{\displaystyle X}Y{\displaystyle Y}Z{\displaystyle Z}(X,Y,Z){\displaystyle (X,Y,Z)}X{\displaystyle X}Y{\displaystyle Y}Z{\displaystyle Z}p{\displaystyle p}r{\displaystyle r}q{\displaystyle q}l{\displaystyle l}m{\displaystyle m}n{\displaystyle n}

コンピュータグラフィックスとコンピュータビジョンでの使用

同次座標はコンピュータグラフィックスで広く用いられている。これは、並進回転拡大縮小透視投影などの一般的なベクトル演算を、ベクトルに掛ける行列として表現できるためである。連鎖律により、このような演算の任意のシーケンスを単一の行列に掛け合わせることで、単純かつ効率的な処理が可能になる。対照的に、直交座標系では、並進と透視投影は行列の掛け算として表現できないが、他の演算は可能である。最新のOpenGLおよびDirect3Dグラフィックスカードは、同次座標を利用して、4要素レジスタを備えたベクトルプロセッサを使用して頂点シェーダを効率的に実装している。 [ 19 ] [ 20 ]

例えば、透視投影では、空間内の位置は、そこから投影中心と呼ばれる固定点までの直線に関連付けられます。次に、その平面と直線の交点を見つけることによって、その点は平面にマ​​ッピングされます。これにより、3次元の物体が目に見える様子が正確に表現されます。最も単純な状況では、投影中心は原点であり、点は平面 にマッピングされ、現時点では直交座標系で機能します。空間内の特定の点 に対して、直線と平面が交差する点は です。不要になった座標を削除すると、これは になります。同次座標では、点は で表され、平面上でそれがマッピングされる点は で表されるため、投影は行列形式で次のように表すことができます 。他の幾何学的変換を表す行列は、行列の乗算によってこれと、また互いに組み合わせることができます。結果として、空間の任意の透視投影は、単一の行列として表すことができます。[ 21 ] [ 22 ]z=1{\displaystyle z=1}(x,y,z){\displaystyle (x,y,z)}(x/z,y/z,1){\displaystyle (x/z,y/z,1)}z{\displaystyle z}(x/z,y/z){\displaystyle (x/z,y/z)}(x,y,z){\displaystyle (x,y,z)}(xw,yw,zw,w){\displaystyle (xw,yw,zw,w)}(xw,yw,zw){\displaystyle (xw,yw,zw)}(100001000010){\displaystyle {\begin{pmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\end{pmatrix}}}

注記

  1. ^ August Ferdinand Möbius: Der barycentrische Calcul、Verlag von Johann Ambrosius Barth、ライプツィヒ、1827。
  2. ^オコナー、ジョン・J.、ロバートソン、エドマンド・F.「アウグスト・フェルディナンド・メビウス」マクチューター数学史アーカイブセントアンドリュース大学
  3. ^スミス、デイヴィッド・ユージン (1906).近代数学史. J. ワイリー・アンド・サンズ. p.  53 .
  4. ^ Igoe, Kevin; McGrew, David; Salter, Margaret (2011年2月). 「基本的な楕円曲線暗号アルゴリズム」 .
  5. ^このセクションについては、 Jones 1912、pp. 120–122を
  6. ^ウッズ 1922
  7. ^ガーナー 1981
  8. ^ミランダ 1995
  9. ^ボシェ 1907、13~14ページ
  10. ^ガーナー 1981、32~33ページ
  11. ^このセクションについては、 Cox、Little、O'Shea 2007、pp. 360–362を
  12. ^このセクションについては、 Miranda 1995、p. 14およびJones 1912、p. 120を
  13. ^ Bôcher 1907、pp. 107–108(p. 108の脚注に従って平面に合わせて改変)
  14. ^ウッズ 1922、2、40ページ
  15. ^ウィルチンスキー 1906、50ページ
  16. ^ボシェ 1907、110ページ
  17. ^ジョーンズ 1912年、204ページ
  18. ^ジョーンズ 1912、452ページ以降
  19. ^ 「ビューポートとクリッピング(Direct3D 9)(Windows)」 msdn.microsoft.com 2018年4月10日閲覧
  20. ^シュライナー、デイブ;うーん、メイソン。ナイダー、ジャッキー。デイビス、トム。 『OpenGL プログラミング ガイド』、第 4 版、 ISBN 978-0-321-17348-52004年12月発行。38ページと付録F(697~702ページ)では、OpenGLがレンダリングパイプラインで同次座標系をどのように使用するかについて説明します。2ページには、OpenGLがグラフィックスハードウェアへのソフトウェアインターフェースであることが示されています。
  21. ^モーテンソン、マイケルE. (1999).コンピュータグラフィックスアプリケーションのための数学. インダストリアル・プレス社. p.  318. ISBN 0-8311-3111-X
  22. ^ McConnell, Jeffrey J. (2006). コンピュータグラフィックス:理論から実践へ』 Jones & Bartlett Learning. p.  120. ISBN 0-7637-2250-2

参考文献

さらに読む