1 射影変換の定義と不変量
この記事では、まず平行な直線の族ごとに一点を加えて平面を拡張します。拡張しておかないと、一点からの射影で像が定まらない点が現れ、変換が平面全体の写像になりません。
定義 1.1 (無限遠点と無限遠直線). 平面上で互いに平行な直線の全体を、一つの 方向 (direction) という。方向ごとに新しい点を一つ加え、その方向に属するすべての直線がその点を共有すると約束する。この新しい点を、その方向の 無限遠点 (point at infinity) という。
無限遠点の全体を 無限遠直線 (line at infinity) といい、これも一本の直線として扱う。もとの平面の点を 有限点 (finite point)、もとの平面の直線に自分の方向の無限遠点を加えたものを 有限直線 (finite line) と呼び、有限点と無限遠点を合わせた全体を 拡張平面 (extended plane) という。
定義 1.2 (一点からの射影と射影変換). 空間内の相異なる二平面π,π′と、そのどちらの上にもない点Sをとる。πの拡張平面の点Xに対して、次のようにπ′の拡張平面の点X′を定める。
- Xが有限点であるとき、直線SXがπ′と交わるならばその交点をX′とし、交わらないならば直線SXの方向の無限遠点をX′とする。
- Xが方向dの無限遠点であるとき、Sを通り方向dをもつ直線がπ′と交わるならばその交点をX′とし、交わらないならば方向dの無限遠点をX′とする。
この対応X↦X′を、Sを中心とするπからπ′への一点からの射影 (central projection) という。
平面πから出発し、いくつかの平面を経由してπへ戻る、一点からの射影の有限回の合成として得られる、πの拡張平面から自分自身への写像を 射影変換 (projective transformation) という。
定理 1.3. 射影変換は拡張平面から自分自身への全単射であり、逆写像も射影変換である。射影変換は次を保つ。
- 直線を直線へ移す。点が直線上にあることと、その像が像の直線上にあることは同値である。
- 同一直線上の相異なる四点の複比を保つ。
とくに、二直線が平行であるという条件は、二直線の交点が無限遠点であるという入射の条件として書き直され、平行かどうかによる場合分けは、射影変換で配置を移すときに消える。
下の図は、直線上の四点が射影変換によって移る様子を示したものです。射影変換の強さを動かすことができます。
図で確かめることができるのは、有限個の位置について複比の値が一致することだけです。図を動かして値が一致して見えることは、すべての配置について複比が保たれることの証明ではありません。
主定理で述べられる三つのこと、すなわち射影変換が拡張平面の全単射であって逆変換も射影変換であること、直線と入射関係を保つこと、複比を保つことは、以下の節で順に証明します。複比については、四点がすべて有限点である場合を先に扱い、無限遠点を含む場合を同次座標による節で扱います。
2 拡張平面では二直線がつねに一点で交わる
無限遠点を加えると、平面の点と直線の関係が場合分けなしに述べられるようになります。
定理 2.1. 拡張平面において、相異なる二点を通る直線はただ一本あり、相異なる二直線の共有点はただ一点である。
証明. はじめに、相異なる二点X,Yを通る直線を数える。
X,Yがともに有限点であるとき、もとの平面で二点を通る直線がただ一本あり、それに自分の方向の無限遠点を加えた有限直線が二点を通る。無限遠直線は有限点を含まないので、条件を満たすのはこの一本だけである。
Xが有限点で、Yが方向dの無限遠点であるとき、Xを通り方向dをもつ直線がただ一本あり、これはYを含む。他の有限直線は方向がdと異なるのでYを含まず、無限遠直線はXを含まない。
X,Yがともに無限遠点であるとき、有限直線は無限遠点を一つしか含まないので、二点をともに含むのは無限遠直線だけである。
次に、相異なる二直線ℓ1,ℓ2の共有点を数える。
ℓ1,ℓ2がともに有限直線であるとき、平行でなければもとの平面でただ一点を共有し、方向が異なるので無限遠点は共有しない。平行であればもとの平面では共有点をもたず、方向が同じなので無限遠点をただ一つ共有する。
ℓ1が有限直線でℓ2が無限遠直線であるとき、共有点はℓ1の方向の無限遠点ただ一つである。以上より、いずれの場合も共有点はただ一点である。▨
定理 2.2. 拡張平面の相異なる二本の有限直線について、次の二つは同値である。
- もとの平面で二直線は平行である。
- 拡張平面での二直線の共有点は無限遠点である。
平行であるとき、共有点は二直線に共通する方向の無限遠点である。
証明.定理 2.1の証明の後半で、二本の有限直線が平行である場合の共有点が共通の方向の無限遠点であること、平行でない場合の共有点がもとの平面の点であることを示した。もとの平面の点は有限点なので、二つの条件は同値である。▨
この定理によって、「二直線は交わるか、平行である」という二つの場合が、「二直線はただ一点で交わり、その交点は有限点であるか無限遠点である」という一つの言い方にまとまります。
3 射影変換は直線と入射関係を保つ
以下の証明では、空間における平面と直線の位置関係について、次の二つの事実を用います。一つは、一点とその点を通らない直線によってただ一つの平面が定まることであり、もう一つは、相異なる二平面が交わらないか、または一本の直線で交わることです。本単元では空間図形そのものを扱わないので、この二つは証明せずに認めて用います。本単元の中に委ね先はありません。
定理 3.1. 一点からの射影は、拡張平面の直線を拡張平面の直線へ移し、点が直線上にあることを保つ。したがって射影変換も、直線を直線へ移し、点が直線上にあることを保つ。
証明.Sを中心とするπからπ′への一点からの射影をとる。πの拡張平面の直線mを一つとる。
第1の場合(mが有限直線であるとき)。Sはπ上にないのでm上にもない。したがってSとmはただ一つの平面σを定める。Sはπ′上にないので、σとπ′は一致しない。
σとπ′が一本の直線m′で交わるとする。m上の有限点Xに対して、直線SXはσに含まれるので、π′との交点があればそれはσとπ′の共有点、すなわちm′上の点である。交点がない場合、像は直線SXの方向の無限遠点である。この方向はσに平行であり、π′とも交わらないのでπ′にも平行である。σとπ′の交線はm′なので、両方に平行な方向はm′の方向だけであり、像はm′の無限遠点である。mの無限遠点についても、Sを通りその方向をもつ直線がσに含まれるので、同じ議論が通る。よってmの像はm′に含まれる。
逆にm′上の点Y′をとる。Y′が有限点なら直線SY′を、Y′が無限遠点ならSを通りその方向をもつ直線をとると、この直線はσに含まれる。Sはπ上にないのでσ=πであり、σとπの交線はmである。したがって、この直線がπと交わるならば交点はm上にあり、交わらないならばその方向はmの方向であって、mの無限遠点の像がY′である。いずれの場合もY′はmの点の像である。したがってmの像はちょうどm′である。
σとπ′が交わらないとする。このときm上のどの点についても、Sを通る対応する直線はσに含まれ、π′と交わらない。したがって像はすべて無限遠点であり、mの像はπ′の無限遠直線に含まれる。σに平行な方向のうちπ′に平行なものの全体がちょうどπ′の無限遠直線を与えるので、mの像は無限遠直線そのものである。
第2の場合(mがπの無限遠直線であるとき)。mの点はπに平行な方向であり、その像は、Sを通りその方向をもつ直線とπ′との交点である。Sを通りπに平行な直線の全体は、Sを通りπに平行な一つの平面τを作る。τとπ′が一本の直線で交わればその直線が像であり、交わらなければ像はπ′の無限遠直線である。第1の場合と同じ議論により、いずれのときも像は一本の直線である。
入射関係。いま示したとおり、直線mの像は直線m′であり、対応はmからm′の上への一対一の対応である。したがってXがm上にあることと、X′がm′上にあることは同値である。
射影変換は一点からの射影の有限回の合成なので、各段でこの性質が成り立ち、合成でも成り立つ。▨
証明.Sを中心とするπからπ′への一点からの射影をφ、Sを中心とするπ′からπへの一点からの射影をψとする。πの点Xとその像X′=φ(X)は、Sを通る同一の直線の上にあるか、またはSを通る同一の方向に対応する。ψは同じ直線または同じ方向をたどってπへ戻るので、ψ(X′)=Xである。同じ理由でφ(ψ(Y′))=Y′がπ′のすべての点について成り立つ。したがってφは全単射であり、逆写像はψである。
射影変換T=φk∘⋯∘φ1に対して、ψ1∘⋯∘ψkが逆写像を与える。この写像も一点からの射影の有限回の合成であり、πから出発してπへ戻るので、射影変換である。▨
4 射影変換は複比を保つ
複比の不変性は、一点からの射影を一本の直線へ制限すると、直線から直線への一点からの射影になることから従います。この段階で、複比の記事で証明した主定理をそのまま使うことができます。
定理 4.1.Tを射影変換とし、同一直線上の相異なる四点A,B,C,Dをとる。四点と、変換の各段での像がいずれも有限点であるならば
(T(A),T(B);T(C),T(D))=(A,B;C,D)が成り立つ。
証明. 射影変換は一点からの射影の合成なので、一点からの射影について示せばよい。Sを中心とするπからπ′への一点からの射影をとり、四点を含むπの有限直線をm、その像をm′とする。定理 3.1の証明のとおり、m′はSとmが定める平面σとπ′との交線である。
m=m′である場合、mはπとπ′の両方に含まれる。このときm上の点Xについて、直線SXとπ′の交点はX自身なので、四点は動かず、複比も変わらない。
m=m′である場合、mとm′はどちらも平面σに含まれる相異なる二直線であり、Sはσに含まれ、π上にもπ′上にもないのでm上にもm′上にもない。m上の点Xの像は、直線SXとm′の交点である。これは平面σの中でSを中心としてmの点をm′へ写す、一点からの射影にほかならない。四点とその像がいずれも有限点であるという仮定のもとで、§A5.14 定理 1.2により複比は変わらない。▨
四点または像のいずれかが無限遠点である場合も複比は保たれます。この場合を扱うには、無限遠点を含む四点の複比を定める必要があるので、後半の同次座標による扱いへ回します。
5 平行な二直線の有限共点化
射影変換で平行という条件が消える様子を、具体的に確かめます。
定理 5.1. 平面π上の平行な相異なる二直線ℓ1,ℓ2に対して、ℓ1の像とℓ2の像が有限点で交わるような、πの射影変換が存在する。
証明.ℓ1,ℓ2に共通する方向をd、共通の無限遠点をDとする。π上にない点S1をとり、S1を通り方向dをもつ直線をnとする。nはπに平行であるので、πと交わらない。
n上にS1と異なる有限点Vをとり、Vを通りS1を通らない平面π′をとる。Vはπ上にないので、π′とπは相異なる。S1はどちらの平面上にもないので、S1を中心とするπからπ′への一点からの射影が定まる。この射影は、方向dの無限遠点Dをnとπ′の交点Vへ移す。
π上でπ′上にない有限点Wをとる。二平面は相異なるので、そのような点が存在する。直線VW上でV,Wと異なる点S2をとる。V∈/π、W∈/π′であるので、直線VWとπの交点はW、π′との交点はVだけである。したがってS2はどちらの平面上にもない。S2を中心とするπ′からπへの一点からの射影は、Vを有限点Wへ移す。
二回の射影の合成をTとすると、Tはπの射影変換であり、T(D)=Wである。定理 3.1より、T(ℓ1),T(ℓ2)はWを通る直線である。定理 3.2よりTは全単射である。二つの像直線が一致すると、逆写像による像も一致し、ℓ1=ℓ2となって仮定に反する。したがって二つの像直線は相異なり、定理 2.1より有限点Wだけで交わる。▨
6 別の見方:同次座標と3次の行列
点に三つの数の組を割り当てる同次座標を用いると、射影変換を行列によって表すことができます。直線と入射関係については幾何的な証明を既に与えました。無限遠点を含む四点の複比の保存は、以下の同次座標と行列による証明で扱います。
定義 6.1 (実射影平面と同次座標).R3の0でないベクトルを、0でない実数倍の違いだけ同一視して得られる集合
P2(R)={[X:Y:Z]∣(X,Y,Z)=(0,0,0), [X:Y:Z]=[λX:λY:λZ] (λ=0)}を 実射影平面 (real projective plane) といい、[X:Y:Z]を 同次座標 (homogeneous coordinates) という。
空間に原点Oを平面π上にないようにとり、πがZ=1となるように座標を入れる。πの有限点(x,y)に[x:y:1]を、方向(u,v)の無限遠点に[u:v:0]を対応させると、πの拡張平面とP2(R)は一対一に対応する。
この対応で、点の同次座標は、原点Oから見たその点の方向を表します。Z=0の同次座標[X:Y:Z]は[X/Z:Y/Z:1]と書き直すことができるので有限点に対応し、Z=0のものはπに平行な方向に対応するので無限遠点に対応します。原点Oを通らない平面はどれも同じ方法でP2(R)と対応するので、以下では平面を取り替えても同次座標をそのまま使います。
定義 6.2 (射影直線).(a,b,c)=(0,0,0)に対して
La,b,c={[X:Y:Z]∣aX+bY+cZ=0}を 射影直線 (projective line) という。係数を0でない実数倍しても同じ集合である。
有限直線ax+by+c=0に対応するのはLa,b,cです。実際、有限点[x:y:1]がこの集合に属することとax+by+c=0は同値であり、この直線の方向(b,−a)の無限遠点[b:−a:0]についてはab+b(−a)+c⋅0=0が成り立ちます。無限遠直線に対応するのはL0,0,1です。逆に、どの射影直線もこのどちらかの形なので、拡張平面の直線と射影直線は一対一に対応します。
代表ベクトルを取り替えても、成分ベクトルが0でない実数倍になるだけなので、対応する実射影直線上の点は変わりません。基底を取り替えると、四点の成分ベクトルには共通の可逆な実2次行列が作用します。したがって§A5.14 定理 9.4により、複比の値は基底の選び方によりません。
有限直線上に原点と向きを定め、長さの単位を選びます。原点をZ=1として表した代表ベクトルをe1、選んだ向きへ単位の長さだけ進む変位をZ=0として表した方向ベクトルをe0とすると、座標tの有限点の代表ベクトルはte0+e1であり、無限遠点の代表ベクトルはe0です。したがって、有限点は[t:1]、無限遠点は[1:0]に対応します。四点がすべて有限点であるとき、成分ベクトルを(a,1)、(b,1)、(c,1)、(d,1)とすると、[a,c]=a−cなどから
(A,B;C,D)=(a−d)(b−c)(a−c)(b−d)=(c−b)(d−a)(c−a)(d−b)
となり、§A5.14 定義 1.1と同じ値になります。四点のうちに無限遠点があっても、この定義はそのまま使うことができます。
7 一点からの射影の行列表示
定理 7.1. 原点Oを通らない空間の平面は、0でないベクトルmによって{v∣m⋅v=1}と表される。相異なる二平面π,π′に対応するベクトルをm,m′とし、π上にもπ′上にもない点Sの位置ベクトルをsとする。
n=m′−m,c=1−m′⋅sとおくと、Sを中心とするπからπ′への一点からの射影は、同次座標では
[v]⟼[Av],Av=cv+(n⋅v)sと表される。Aは可逆である。
証明. まずc=0である。c=0はm′⋅s=1、すなわちSがπ′上にあることを意味するからである。同様にc+n⋅s=1−m⋅s=0である。
可逆性。Bv=c1(v−c+n⋅s(n⋅v)s)とおく。α=(n⋅v)/(c+n⋅s)と書くとBv=(v−αs)/cであり、
n⋅Bv=c1(n⋅v−α(n⋅s))=c1⋅c+n⋅s(n⋅v)c=αとなるので、A(Bv)=c⋅(v−αs)/c+αs=vである。よってAは可逆で、逆行列はBである。
有限点の像。pをπの有限点の位置ベクトルとするとm⋅p=1である。直線SPの点はs+t(p−s)と書くことができる。これがπ′上にある条件はtm′⋅(p−s)=cである。
m′⋅(p−s)=0のとき、t=c/{m′⋅(p−s)}であり、像の位置ベクトルをm′⋅(p−s)倍すると
(m′⋅p−m′⋅s)s+c(p−s)=cp+(m′⋅p−1)s=cp+(n⋅p)sとなる。最後の等号ではm⋅p=1を使った。同次座標は0でない実数倍を同一視するので、像の同次座標は[Ap]である。
m′⋅(p−s)=0のとき、直線SPはπ′と交わらず、像は方向p−sの無限遠点、すなわち[p−s]である。このときn⋅p=m′⋅p−1=m′⋅s−1=−cなのでAp=c(p−s)であり、やはり像の同次座標は[Ap]である。
無限遠点の像。pをπに平行な0でないベクトルとするとm⋅p=0であり、n⋅p=m′⋅pである。Sを通り方向pをもつ直線の点はs+tpであり、π′上にある条件はtm′⋅p=cである。m′⋅p=0のとき、像の位置ベクトルをm′⋅p倍すると(m′⋅p)s+cp=Apとなる。m′⋅p=0のとき、像は方向pの無限遠点であり、Ap=cpなので同じ点を表す。▨
8 射影変換と可逆な3次行列
証明. 1 から 2。定理 7.1により、一点からの射影は可逆な行列が定める写像で表される。合成は行列の積が定める写像であり、可逆な行列の積は可逆である。
2 から 1。まず、可逆な行列は基本行列の積として書くことができる。これは行列の基本変形の性質であり、本記事では証明せずに用いる。この事実は§D3 線形代数 Iで扱う。次に、3次の基本行列は、単位行列をEとして、いずれもcE+wtnの形、すなわち
v⟼cv+(n⋅v)wの形をしている。実際、第i行と第j行を入れ替える行列はw=ej−ei、n=ei−ej、c=1として得られ、第i行をλ倍する行列はw=(λ−1)ei、n=ei、c=1として得られ、第j行のκ倍を第i行へ加える行列はw=κei、n=ej、c=1として得られる。
そこで、Nv=cv+(n⋅v)wが可逆であるとして、Nが定める写像が二回の一点からの射影の合成として得られることを示す。c=0ならばNvはつねにwの実数倍になって可逆でないので、c=0である。またc+n⋅w=0とすると、w=0のときはc=0となって矛盾するのでw=0であり、Nw=(c+n⋅w)w=0となってNが可逆であることに反する。よってc+n⋅w=0である。
πをmに対応する平面とする。原点Oはどの平面{m′′⋅v=1}の上にもないので、Oを中心とするπから別の平面π′への一点からの射影を考えることができる。この射影では、点とその像が原点から見て同じ方向にあるので、同次座標は変わらない。すなわち、この射影が定める行列は単位行列である。
次に、π′をm′=m−tn(t=0)に対応する平面とし、s=λw/tを位置ベクトルとする点Sを中心として、π′からπへ射影する。定理 7.1を、始めの平面がπ′、行き先の平面がπである場合に用いると、この射影が定める写像は
v⟼c2v+{(m−m′)⋅v}s=c2v+λ(n⋅v)w,c2=1−m⋅sである。これがλNと一致することはc2=λcと同値であり、c2=1−λ(m⋅w)/tだから、条件はλ(ct+m⋅w)=tと書き直される。
そこでtを、t=0、ct+m⋅w=0、m−tn=0を満たすように選ぶ。除かれるtの値は有限個なので、このようなtが存在する。λ=t/(ct+m⋅w)とおくとλ=0であり、c2=λcが成り立つ。
Sがπ上にもπ′上にもないことを確かめる。m⋅s=1−c2=1−λcであり、λ=0、c=0なのでm⋅s=1である。またn⋅s=λ(n⋅w)/tだから
m′⋅s=m⋅s−t(n⋅s)=1−λc−λ(n⋅w)=1−λ(c+n⋅w)であり、c+n⋅w=0なのでm′⋅s=1である。π=π′もtn=0から従う。
以上により、πからπ′へ原点を中心として射影し、次にπ′からπへSを中心として射影する合成が、Nが定める写像に一致する。可逆な行列Mを基本行列の積M=E1E2⋯Erと書き、各Eiについてこの二回の射影を用意して順に合成すれば、Mが定める写像が射影変換であることが得られる。▨
この定理によって、行列を書き下すことで射影変換を作ることができるようになります。回転や平行移動を表す可逆な行列も、この定理により射影変換を定めます。
9 複比の不変性の行列による証明
定理 9.1. 可逆な実3次行列Mが定める射影変換が、同一直線上の相異なる四点A,B,C,DをそれぞれA′,B′,C′,D′へ移すとき
(A′,B′;C′,D′)=(A,B;C,D)が成り立つ。四点または像のうちに無限遠点があっても成り立つ。
証明. 四点を含む直線に対応する2次元部分空間をUとし、その基底をe0,e1とする。Mは可逆なので、M(U)も2次元部分空間であり、Me0,Me1はその基底である。像の四点はM(U)に対応する射影直線上にあり、Mの可逆性より相異なる。
四点のうちの点Pの代表ベクトルをp=uPe0+vPe1とすると、像の代表ベクトルはMp=uP(Me0)+vP(Me1)である。したがって、もとの直線と像の直線でそれぞれの基底を使うと、対応する実射影直線上の四点は同じである。四つの行列式も変換の前後で同じ値になるので、平面の直線上の複比の定義により、変換の前後で複比は等しい。像の直線で別の基底を選んでも、§A5.14 定理 9.4により複比は変わらない。有限点と無限遠点のいずれについても、同じ代表ベクトルの対応が成り立つので、この証明が適用される。▨
定理 9.2.s=0とし、
Ms=10001s001とする。Msは可逆なので射影変換を定める。アフィン座標で直線x=a(a∈R)の像は直線x+asy=aであり、aの値が異なるこれらの像は、いずれも有限点
Qs=(0,1/s)を通る。もとの直線の族に共通する無限遠点[0:1:0]の像がQsである。
証明.Msは下三角行列であって対角成分がすべて1なので、行列式は1であり可逆である。よって定理 8.1により射影変換を定める。
直線x=aに対応する射影直線はX−aZ=0である。像の点を(X′,Y′,Z′)=Ms(X,Y,Z)と書くとX′=X、Y′=Y、Z′=sY+Zなので、Z=Z′−sY′を代入して
X′+asY′−aZ′=0を得る。Z′=0のアフィン座標で割ると、像の直線はx+asy=aである。ここへQs=(0,1/s)を代入すると0+as(1/s)=aとなるので、aの値によらずQsを通る。
もとの直線の族に共通する無限遠点は[0:1:0]であり、Ms[0:1:0]=[0:1:s]=[0:1/s:1]なので、その像はQsである。▨
下の図は、この変換で二本の平行な直線が有限の点で交わる二直線へ移る様子を示したものです。
この図は、一つの行列についての実演です。図で二直線が同じ点を通って見えることは、すべてのsについて共点になることの証明ではありません。根拠は上の証明です。
10 射影変換による証明の逆移送
入射関係と複比だけで述べられた主張は、射影変換で移した配置で証明し、逆変換によってもとの配置へ戻すことができます。
定理 10.1. ある配置についての主張が、「指定した点が指定した直線上にある」「指定した二直線が指定した点で交わる」および「指定した四点の複比が指定した値である」という事実の組み合わせだけで書かれているとする。射影変換で移した配置でその主張が成り立つならば、もとの配置でも成り立つ。
証明.Tを配置を移した射影変換とする。定理 1.3より、逆変換T−1も射影変換であり、直線と入射関係、および同一直線上の相異なる四点の複比を保つ。全単射であるので、指定した相異なる点と直線も逆変換によって相異なる点と直線へ戻る。移した配置の点が指定した像直線上にあるならば、逆変換によって元の点が元の直線上にあることが従う。指定した二つの像直線の共有点も、逆変換によって元の二直線の共有点になる。四点の複比が指定した値であるならば、複比の保存により元の四点の複比も同じ値である。したがって、移した配置で成り立つ事実の組み合わせは、もとの配置でも成り立つ。▨
この運び方を使うときは、移した先で何が保たれるかを最初に確かめてください。長さ、角の大きさ、二直線が平行であることは、一般の射影変換では保たれないので、これらを含む結論をもとの配置へ戻すことはできません。円が円へ移ることも一般には成り立ちません。