Google ClassroomGoogleクラスルーム
GeoGebraGeoGebra Classroom

同次座標でデザルグの定理

このページはマス旅の一部です。 射影幾何では、ユークリッド幾何、アフィン幾何で証明が複雑になるものがカンタンに証明できる定理があります。 今回はデザルグの定理について探ってみよう。

1.デザルグの定理

<記号のお約束> これから、表現の簡略化のために次のようにzenは、約束します。 2直線AとBの交点Cを、「点C=A*B」と書く。 3直線A,B,Cが1点で交わるか平行であることを「A+B+C=0」と書く。 3直線A,B,Cが1点で交わるとき,交点Pは「点P=A*B*C」と書く。 3点A,B,Cが平面Eにあることを「面E=(A,B,C)」と書く。 4点A,B,C,Dが共通面Eにあるとき、「面E=(A,B,C,D)」と書く。 何点でも、同様に共通面にある点群を「平面=点のタプル」と書く。 3点A,B,Cが1直線上にあることを「A+B+C=0」と書く。 3点A,B,Cが共通線Lにあることを「線L=(A,B,C)」と書く。 <デザルグの定理> (3D版) 面E1=(A,B,C)、面E2=(A',B',C')で、 3交点(点D=BC*B'C'、点E=CA*C'A'、点F=AB*A'B')があるとき、AA'+BB'+CC'=0 (略解) 面a=(B,C,B',C'),面b=(C,A,C',A'),面c=(A,B,A',B')の3面a,b,cは2つずつの交線が3本ある。 この3本が1点で交わるか平行だから、AA'+BB'+CC'=0。 (2D版)   面E1=(A,B,C、A',B',C') 3交点(点D=BC*B'C'、点E=CA*C'A'、点F=AB*A'B')があり、しかも、D+E+F=0(共線)なら AA'+BB'+CC'=0 (略解) 3次元空間で解決する。 線L=(D,E,F)とする。 線Lを通る平面E2に3点A",B",C"が、B"+C"+D=0,C"+A"+E=0,A"+B"+F=0となるようにとる。 三角形ABCと三角形A"B"C"の間で、2平面型からAA"+BB"+CC"=0。 交点があれば点P=AA"*BB"*CC"とする。 三角形A'B'C'と三角形A"B"C"の間で、2平面型からA'A"+B'B"+C'C"=0。 交点があれば点P'=A'A"*B'B"*C'C"とする。 交点PとP'があるときは、直線PP'がE1と交わるときは、交点をP"とすると、点P"=AA'*BB'*CC'だから、AA'+BB'+CC'=0。 他の場合も同様にして、AA'+BB'+CC'=0を証明できるでしょう。 (2D版の逆) 面E1=(A,B,C、A',B',C') AA'+BB'+CC'=0ならば、点D=BC*B'C'、点E=CA*C'A'、点F=AB*A'B'とすると、D+E+F=0。 (略解) 三角形ECC'、三角形EBB'に着目すると、(2D型)と同値になる。 以上3パターンをすべて、デザルグの定理といいます。 結構、場合わけとか証明が大変ですね。 課題:2D版と3D版のデザルグの定理をgeogebraで作図して、実感しよう。 タイトル「2D版のデザルグの定理」 関数グラフを選びます。 A=(0,5) B=(1.5,1.33) C=(3,10) A'=(10,5) B'=(6,3) C'=(8,7) Polygon(A,B,C) Polygon(A',B',C') #polygon(3点)つまり三角形を作ると、辺の名前が表示された3辺が増えます。 #これらの連動オブジェクトはラベルなしにしましょう。 bc:Line(B,C) #青 bcd:Line(B',C')   #青 D=Intersect(bc,bcd) #青 ca:Line(C,A) #赤 cad:Line(C',A') #赤 E=Intersect(ca,cad)#赤 ab:Line(A,B) #緑 abd:Line(A',B') #緑 F=Intersect(ab,abd) #緑 aad:Line(A,A') #オレンジ bbd:Line(B,B') #オレンジ ccd:Line(C,C') #オレンジ def:Line(E,F) #点線の紫 P=Intersect(aad,ccd) #aad,bbd,ccdの交点(射影の視点) タイトル「3D版のデザルグの定理」 立体図形を選びます。 A=(-5,0,5) B=(-1,1,-2) C=(-3,2,3) A'=(5,0,5) B'=(1,1,-2) C'=(3,2,3) Polygon(A,B,C) Polygon(A',B',C') #polygon(3点)つまり三角形を作ると、辺の名前が表示された3辺が増えます。 #これらの連動オブジェクトはラベルなしにしましょう。 bc:Line(B,C) #青 bcd:Line(B',C')   #青 D=Intersect(bc,bcd) #青 ca:Line(C,A) #赤 cad:Line(C',A') #赤 E=Intersect(ca,cad)#赤 ab:Line(A,B) #緑 abd:Line(A',B') #緑 F=Intersect(ab,abd) #緑 aad:Line(A,A') #オレンジ bbd:Line(B,B') #オレンジ ccd:Line(C,C') #オレンジ def:Line(E,F) #点線の紫(表示にすると、fと重なることを確認する) E1=Plane(A,B,C) E2=Plake(A',B',C') f=Intersect(E1,E2) #青で濃くする

2D版のデザルグの定理

3D版のデザルグの定理

2.同次座標で証明する

同次座標の性質から、数式で証明ができるはずです。 <2点の和差は直線上の点> 直線の方程式はユークリッド幾何では定点+t方向ベクトルで表すことができました。 2点A=[a,b,c],B=[p,q,r]があるとき、 ABを通る直線はA+t(B-A)=(1-t)A+tBのように点ベクトルの1次結合で表すことができる。 点ベクトル自体が連比だから和や差だけで、直線上の点を表す。 つまり「A-B」、「A+B」は直線AB上の「点」になる。 <直線と直線の加減=0が線束> 射影幾何では、直線の方程式は法線ベクトルNと点のベクトルXの内積NX=0で表すことができました。 L1=ax+by+czと、L2=px+qy+qzとするとき、 L1=0、L2=0は直線を表すことは、前回わかりました。 L1+λL2はL1とL2をともにゼロにするベクトルX=[x,y,z]で=0になります。 L1+λL2をXの成分で整理すると、これ自体が内積の式になりますね。 ということはL1+λL2=0は直線を表します。しかも、λを動かすことで、法線ベクトル(傾き)は 変化します。つまり、直線群、線束だと言えます。 同次座標自体が、固定値ではなくて、連比なので和や差でも=0とすると線束を表しますね。 <デザルグの定理> では、デザルグの定理の証明に取り掛かりましょう。 2Dの逆版を3Dにして一般化したバージョンです。 (前提) 面E1=(A,B,C)、面E2=(A',B',C') 点P=(AA',BB',CC')があり、3交点(点D=BC*B'C'、点E=CA*C'A'、点F=AB*A'B')があれば、 (結論)D+E+F=0(共線) <2点和差による証明> (前提) 点P=(AA',BB',CC') 点ベクトルでは、AーA’=B-B'=CーC'=Pとなる。 式変形すると、 直線上の点=直線上の点となる点は2直線の交点だから、 B-C=B'ーC'=D、C-A=C’-A'=E、AーB=A'ーB'=F。 (結論) ここで、辺々たし算すると、(B-C)+(C-A)+(A-B)=D+E+Fとなるね。 左辺=0だから、D+E+F=0(共線) <線束による証明> (前提) 直線AA',BB',CC',BC,B'C',CA,C'A'の名前自体を内積として利用する。 Pを通る線束AA'+BB'+CC'=0がある。 Dを通る線束BC+B'C'=0、Eを通る線束CA+C'A'=0、Fを通る線束AB+A'B'=0がある。 (結論) 直線AA'は、Aを通る線束とA’を通る線束の一致から、CAーAB=-(C'A'ーA'B') 直線BB'は、Bを通る線束とB’を通る線束の一致から、AB-BC=-(A'B'ーB'C') 直線CC'は、Cを通る線束とC’を通る線束の一致から、BC-CA=‐(B'C'ーC'A') Pを通る線束AA'+BB'+CC'=0から、 (CAーAB)+(AB-BC)+(BC-CA)+(C'A'ーA'B')+(A'B'ーB'C')+(B'C'ーC'A')=0 (CA+C'A')+(AB+A'B')+(BC+B'C')=0 Dを通る線束+Eを通る線束+Fを通る線束=0 D+E+F=0(共線)