設計(26) 《PASCAL定理》軟體設計
帕斯卡定理
。
及其對400多個特例的驗證
0. 這是VOPT軟體封面, 但出現僅僅一瞬間即自動消去
0.以上是封面消失後見到螢幕式菜單,其作用和頂部菜單條菜單一樣,但加了功能注釋,在注釋後加“....”的表示點擊後都有popup(下拉)菜單彈出。
0b 就是點擊螢幕上的 C:六邊形菜單後彈出的一個下拉式功能表。
1. 以上是概述, 介紹Pascal定理和本軟體(Pascal定理驗證軟體)的功能。定理的證明請參考Lehmer書第4章第60-70節, 或點擊菜單
定理|射影幾何綜合法證明,這是綜合法證明,解析法證明亦可點擊
定理|解析射影幾何法證明,或見本網頁最下面(圖14-2)
2. 以上介紹PASCAL定理所涉及的各種圓錐曲線,包括退化的與不退化的圓錐曲線在內共五種。五種曲線上均已選好6點,將用作六邊形的頂點。.【注】 在圓錐曲線上選點可以任意,不影響定理的有效性,我在後面也能讓讀者自選頂點,但自選頂點通常都使圖形品質變差(不對稱)。3-0. 以上畫面由點擊6邊形下拉式功能表第1項得到,介紹多邊形的一般概念,以及與PASCAL定理相關的六邊形或多邊形的一些例子,6圖7圖8。
【注】為了方便,下面把圖7圖8類似圖形也稱六點或六邊形,即把k-重點算作k個點,把k-重切線看成k條邊。.3-1. 以上詳細介紹神秘的PASCAL六邊形或多邊形以及它們的命名法(編碼法),如123456,123465,135246,等等
3-2. 以上是由6個數字1...6形成的720種排列(字典順序),每一種排列首尾相接就可形成一個PASCAL六邊形,但其中大量是等價的
3-3. 以上是60種不等價的PASCAL六邊形,它們都由1,2,3,4,5,6相同的六點組成,但排序不同:從123456直到154326。這裡值得注意,這60個六邊形並非由上720個排列中的最前面的60個排列所形成,必須通過1-1檢測才能得到它們,例如,720個排列中第36個為134652,第18個排列為125643,它們只是順時針與逆時針之間的差別,作為迴路實際是等價的,故二者之中只能選擇一個。
3-4a. 以上是把上面60個圖的前30個進行放大顯示。
【注意】手繪多邊形通常是以它們頂點的名稱來命名,如以A,B,C三點為頂點的三邊形就叫ABC三邊形(或ABC三角形)。但點的讀出必須依次進行,至於哪一個為首,以及順時針還是逆時針,都可隨便。這種約定使每個N邊多邊形有2N種叫法。例如三邊形ABC有2x3=6種讀法,你可叫它ABC,也可叫它CAB, BCA, ...等;上面圖中的每個6邊形有2x6=12種叫法,如第一個圖:123456,可以叫123456,但也可叫234561,
345612, 456123, 561234, 612345,或將6點逆時針地讀出來,即稱作543216, 432165, 321654, 216543, 165432。這12個順序的叫法都有權代表圖1-123456這個六邊形。具有相同頂點的多邊形所謂不同,就是它們的頂點的排列次序不同,2-123465與圖1-123456不同,這二者的差別不是順逆次序不同或起始點不同。
3-4b. 以上是把上面60個圖的後30個進行放大顯示
3-5. 以上考察6個字的193種不同的分劃方式(等價類別),並從中找出可以形成PASCAL六邊形的8個類,包括退化六邊形在內。
3-6.以上是PASCAL六邊形六個點的分布的8個不等價類別的圖形表示3-7.以上是考察區分PASCAL六邊形所需的各種參數(舉例說明)
3-8.以上討論了PASCAL多邊形與完全多邊形的關係4.以上是內接在橢圓的60個PASCAL六邊形,點擊其中任意一個,就可進入統一的驗證程式(如後面圖VP1所示),對該圖進行PASCAL定理的驗證。5.以上是內接在雙曲線的60個PASCAL六邊形.點擊其中任意一個,就可進入統一的驗證程式,對它進行PASCAL定理的驗證
6.以上是內接在拋物線的60個PASCAL六邊形.點擊其中任意一個,就可進入統一的驗證程式,對它進行PASCAL定理的驗證
7.以上是6點分布在2條相交直線上的60個PASCAL六邊形。點擊其中任意一個,就可進入統一的驗證程式,對它進行PASCAL定理的驗證
8.以上是6點分布在2條平行直線上的60個PASCAL六邊形。點擊其中任意一個,就可進入統一的驗證程式,對它進行PASCAL定理的驗證
9-1.以上是全部12種不同的五邊形,不含重合點9-2.以上介紹五邊形的產生,對五邊形應用PASCAL定理需要把其中一點看成2重點,總共湊成6點。2重點中的兩個點相連,就是該點的切線
9-3.以上介紹12種五邊形內接在5種圓錐曲線形成的60種PASCAL六邊形。點擊其中任意一個,就可對它進行PASCAL定理的驗證
10-1.以上說明不同四邊形只有3種,但加入不同的重點後可形成9種PASCAL六邊形,再應用於5種圓錐曲線,共有45種不同特例。
.
10.2. 45種不同四邊形。到此我們已得到5*60個六邊形,60個五邊形,45個四邊形,總共已有405個Pascal定理適用的多邊形。
11. 最後考察三邊形,三邊形只有1種,但6點重合方式有3種,並可應用於5種曲線類型,所以共有15種Pascal定理適用的多邊形,不再細說。
這樣,我們將各種多邊形加起來一共已有了420個(但三邊形15個僅畫內接於橢圓和拋物線上的6個,所以畫出的實際為411個),它們可以帶或不帶重點,若將k-重點看成k個點,切線看做邊,它們都變成六邊形:退化和不退化的Pascal六邊形,從而可以對其進行Pascal定理的驗證。
下面轉來考察如何對上面所列的400多種多邊形(包括六邊、五邊、四邊、三邊)統一進行PASCAL定理的驗證。
VP1.以上為PASCAL定理統一驗證程式的畫面。它能對上面所列的手繪多邊形進行驗證,
驗證過程可以按菜單從左至右次序一步一步地步進式進行,也可以全自動地一步完成。
【注】 本表單(Form2)是點選前面圖4~11中某多邊形後自動彈出的,無法獨立調用。
。
VP2.以上是對(即圖4第13六邊形)作PACAL定理驗證的結果,3組對邊交點L,M,N在一直線上。其中點M為23與56兩個平行邊之交點在無窮遠,實際無法畫出來,因這兩邊與LN也平行,即此無窮遠點也LN的交點,如左上方說明。
【注】只要交點M在LN延長線上,在無窮遠是允許的,因為這是射影空間的定理。而且還應注意,在無窮遠的交點可以是1個也可以是2個或3個。也就是說,有限點不是3個,而只有2個、1個或0個的情況都允許出現。。VP3. 以上為對圖4中編號為136425的六邊形的驗證結果,顯示3組對邊交點L,M,N也在一直線上。VP4.以上對圖4編號為134625的六邊形作PASCAL定理驗證,L,M,N在一直線上,但N為ML方向的無窮遠點
。VP5.以上為對圖4中編號為123456的六邊形的PASCAL定理驗證,L,M,N在一直線上,但三點都在無窮遠。
VP6.以上是對圖5中雙曲線上123564六邊形作PASCAL定理驗證,L,M,N在一直線上
。
VP7.以上是對雙曲線上123465六邊形的PASCAL定理驗證。L,M,N在一直線上,
其中M(23-56交點)是LN方向的無窮遠點,無法畫出來
。。VP8.以上是對拋物上125634六邊形的PASCAL定理驗證。L,M,N在一直線上,
M(23-56交點)是LN方向的無窮遠點。VP9.以上是對相交直線上125463六邊形的PASCAL定理驗證。L,M,N在一直線上。VP10.以上是對平行線上125436六點構成的六邊形的PASCAL定理的驗證。L,M,N在一直線上。.VP11a.以上對圖9.3中五邊形12534作Pascal定理分步驗證.已求出L,M,N(N在螢幕外)但未連線。
因其中1點和6點重合在一起構成一個2-重點,故1點與6點的連線是該2-重點的切線。
。。
VP11b.以上對的五邊形12534作Pascal定理全自動驗證.求出對邊交點L,M,N後並又作了連線其中12與45的交點L在(-1282,2941),雖然不是無窮遠點,但離開螢幕已經很遠很遠。
互動形式的驗證不再舉例。下面介紹Pascal定理的自動批量驗證。12-4.0. 以上是Pascal 定理自動示範程式-1(封面)。類似程式共有3個,分別對內接於橢圓、雙曲線、拋物線的60個六邊形進行自動1-1驗證
12-4.1.以上是進入Pascal定理自動示範程式(一)後所見的一個畫面,紅線為PASCAL線
12-4.2.以上是進入Pascal定理自動示範程式(一)所見的另一個畫面,紅線為PASCAL線
12-4.3. 以上是進入Pascal定理自動示範程式(一)所見的又一個畫面,類似地一共有60個畫面
12-4.4. 以上是用 Pascal 定理自動示範程式(一)將內接於橢圓的所有60個六邊形的Pascal 線疊加在一起顯示
12-5.1. 以上是進入Pascal定理自動示範程式(二)所見的一個畫面,類似地可對60個內接於雙曲線的六邊形進行自動驗證
12-5.2. 以上是用 Pascal 定理自動示範程式(二)將雙曲線上的六邊形的60條Pascal 線疊加在一起顯示
12-6.1. 以上是用 Pascal 定理自動示範程式(三)將拋物線上60個六邊形的Pascal 線疊加在一起顯示
以下進一步討論和60條PASCAL線有關的點、線和定理。
13-7. 另一獨立程式。是點擊右邊60 Pascal Ln按鈕所得。它也畫出了內接於園內基本六邊形的60條Pascal線。此圖叫PascalHexagrammum
Mysticum (Pascal六角迷魂圖),可從內接於任意圓錐線的任意6點產生。與此圖相關有很多重要概念,包括:Steiner點, Pluker線, Kirkman點, Cayley線, Salmon點。這些點與線的關係可參看
(以形若因外框限制被縮小,不清晰,請用滑鼠點擊以形,可以放大為1:1的原始大小來清晰顯示).本圖右半邊,從上到下,由6點出發,依次引出15條邊(旁邊和下面所注紅黑數字
6,
5,2代表:
6個點,每點和其餘
5點相連,
6*
5=30邊,但要
2點形成1邊,邊數被重複計算,所以6*5後要除
2,得到15,才是邊的數目。其餘意義相同),
45個對邊交點(edge meet), 60條Pascal線, 然後分支出20個Steiner點 和 15條Pluker線, 或者. 60個Kirkman點, 20條Cayley線, 15個Salmon點。圖的左半邊的線和點 是右半邊的點或線的對偶. 例如左邊60個Brianchon點是右邊60條Pascal線的對偶。要弄清這些點線的
概念和相互關係不容易,還有許多定理要瞭解。可參看網站http://www.paideiaschool.org/teacherpages/steve_sigur/resources/pascal2/index.html
下面來考察Steiner定理和15個Steiner點,從60條Pascal線到15個Steiner點,中間要經過15個edge和45個edgemeet兩步。
13.8a.以上是譯者為考察上述點線關係開發的軟體。這裡介紹Steiner定理及其驗證。Steiner定理說:60條Pascal線分20組、每三條交於一Steiner點。底下一行的20個按鈕代表要找的Steiner點。點擊其中任意按鈕在左表中就會查到三個二位元編碼,
根據這三個編碼可從頂部表中找出三個六邊形, 然後在右邊三圖分別畫出這些六邊形及對應的Pascal線, 最後在中間的大圖中將三個六邊形和三條線疊加在一起, 並證明三線交於一點, 此即Steiner點。60條Pascal線如何劃分20組請看下一頁的說明, 定理證明請看http://www.cut-the-knot.org/Curriculum/Geometry/PascalLines.shtml#Explanation
13.8b.以上是Steiner定理用到的20個三數組的劃分方法(詳細步驟說明),每一組對應於三條Pascal線並相交於一個Steiner點.
13c. 一個專用於Steiner定理驗證的簡單軟體。用法及圖形的意義見圖上部中間一欄的說明。
其餘點線不再討論。下面轉來討論二次曲線作圖問題,包括利用或不利用Pascal定理在內。13-0. 以上是圓錐曲線作圖法的分類,以及一些具體的作圖問題例子,下面將具體介紹兩個。
.
13-9.以上是用左上、右下2點互動製作標準型圓錐曲線的程式。其中2條直線(平行或交叉)是代表退化的圓錐曲線
13-10.PASCAL定理重要應用就是作圖。以上是接應用PASCAL定理任選五點直接製作的兩種圓錐曲線(見Lehmer書上74節)。這些曲線不夠光滑,需要改進,一種改進法就是間接作圖,即根據5點座標用Gauss消元法求出圓錐曲線方程,然後就可以像前面畫標準圓錐曲線那樣,逐點畫出非常精細的曲線。中除了曲線上的 1-5 五點之外,還有兩個標有字母 L 的點,它們分別在所作橢圓和雙曲線曲線之下,是作圖需要的輔助點,詳細不再進一步解釋。
下面我們轉入Pascal定理證明的討論。14-2. PASCAL定理證明方法很多,除了書上的射影幾何證明方法外,還可以用初等幾何法或解析法證明。初等幾何證明法網上可以搜到很多,但證明過程都很繁瑣,我們這裡不再介紹。上面圖中給出的是解析法證明,可以看出,過程很簡單,但理解也不容易。另外只是就圓來證明的,一般二次曲線的證明還應利用圓和二次曲線可以射影對應的事實。
【注1】本證明參照網頁http://www.cut-the-knot.org/Curriculum/Geometry/PascalLines.shtml#Explanation翻譯得到,,插圖為譯者所加。
【注2】射影幾何證明方法Lehmer 的書上就是,我們這裡不再重複,但其實也應補充說明2點:任何二次曲線的證明
可以射影對應和任何二次曲線上對任何Pascal六邊形的Pascal定理的證明也
可以射影對應的兩事個實,這樣才會使讀者看了以後感到踏實。前一證明可以參考Lehmer
書的中譯本,後一證明可以參考Cremona的書。
.