Scratch & Math: 無理的道理(三)

古希臘人嘗試用直尺和圓規作圖來尋找平面幾何問題的答案,他們逐漸掌握了幾何的規則,建構出非凡的幾何世界,直到遇見了著名的古希臘三大難題:化圓為方、三等分角和倍立方。 這一章讓我們認識到尺規作圖的基本方法,然後在Scratch裡利用尺規作圖的方法求解平方根。

數學關鍵字: 尺規作圖、平方根。

Scratch程式:https://scratch.mit.edu/projects/160837374/

尺規作圖求平方根

隨著人類文明經驗的累積,量測的工具逐漸進步。用一根長度固定的繩子可以量測直線距離,這樣繩子就是一把尺。固定繩子的一端旋轉可以畫出一個圓,這樣繩子就是一個圓規。

致力於幾何研究的古希臘人更進一步地把直尺和圓規擴充為一種抽象的概念以求解複雜的幾何問題,諸如要怎麼將一條直線等分為n等分,或是畫出一條直線的垂直線。這種被稱為尺規作圖的方法,想像有一把可以延伸至無窮長度但是沒有刻度的直尺,同時給定任意距離的兩點也都可以用一把想像的圓規畫成一個圓。在尺規作圖裡有五項基本的作圖方法:

1. 對已知兩點畫出一條線。

2. 對已知兩點畫出一個圓,以一點當圓心,並且讓圓通過另一點。

3. 若已知兩條非平行的線,畫出其交點。

4. 已知一個圓和一條線相交,畫出其交點。

5. 若已知兩圓相交,畫出其交點。

古希臘人的尺規作圖要做的是最基礎的幾何問題論證,他們定義這把想像中的圓規是沒有辦法「記憶」長度的,也就是說圓規依兩點的距離為半徑畫了一個圓,一拿開這個平面,之前畫的半徑不會被圓規記起來,沒辦法直接畫出另一個相同半徑的圓。要解決這個問題,他們證明了可以用尺規作圖的方法讓圓規複製出相同半徑的圓。

下圖顯示了如何利用尺規作圖畫出一線段的垂直線。在線段上以A、B兩點為圓心,取大於線段AB距離一半的長度當半徑畫兩個圓。兩個圓的交點連線就是線段AB的垂直線,同時這條交點連線也會通過A、B兩點的中點。

有了這些對尺規作圖的基本認識,接下來我們可以開始用尺規作圖畫出任意一個正整數n的平方根值。

  1. 首先畫出一條線段AB,找到C點將線段AB劃分成長度比例為1:n的兩個線段。

2. 以線段AB為直徑畫圓。

3. 由C點畫出垂直線和圓相交於D點,線段CD長度標示為x。長度x即為長度n的平方根值。

簡單的三個步驟就可以畫出長度x,滿足 x= √n。但是為什麼在這樣的圖形裡有 x= √n 的關係呢?我們將圖形加上兩條線段AD和BD,如此一來圖形可以看做有兩個三角形,△ACD和△DCB。

接下來的證明我們會用到兩個三角形的基本特性,

1. 三角形的三個內角和為180⁰。

2. 兩個三角形中,若兩個內角對應相等,則此兩個三角形相似。則兩個三角形的對應邊長成比例。

三角形的三個內角和為180⁰,左邊的三角形△ACD中,∠ACD為直角90⁰。

∠ADC+∠CAD +∠ACD =180⁰ → ∠ADC+∠CAD +90⁰ =180⁰ →

∠ADC+∠CAD =90⁰ → ∠CAD =90⁰-∠ADC

大三角形△ACD中,∠ADB為直角90⁰,

∠ADB=∠ADC+∠CDB=90⁰ → ∠CDB=90⁰-∠ADC

綜合上面兩個式子,我們可以得到一個新的關係式,

∠CAD=∠CDB

這說明了左邊的三角形△ACD和右邊的三角形△DCB有一個內角相等,同時兩個三角形各有另一個直角相等。因此左邊的三角形△ACD和右邊的三角形△DCB有兩內角相等為相似三角形,對應邊長成比例。

利用基本的幾何特性,我們證明了三角形邊長x為n的平方根。

動手做4–3 尺規作圖法求平方根

[程式設計需求規格]

利用上述尺規作圖的方法畫出,

1. 兩個比例為1:n的線段。

2. 以直徑(1+n)畫一個半圖。

3. 在兩線段交點做垂直線延伸直到碰觸半圓。

4. 量測垂直線長度x,x就是n平方根的值。

[程式設計角色和舞台]

在這個程式裡有四個黑點造型的角色,舞台維持空白即可。

[程式設計解決方案]

黑點是最主要的角色,負責流程控制和長度計算。其他三個角色用來設置參考點和畫出連線。

依照程式設計需求規格一步步地畫出尺規作圖的圖形,

[程式檢視]

在這個程式裡依尺規作圖的方法畫出直線和半圓後,最重要的部分在於作出一條垂直線並量測距離。在scratch裡我們並沒有依照正式的尺規作圖法畫這條垂直線,而是在利用二維卡氏座標的特性在縱軸上移動角色黑點。

當角色黑點在縱軸往上移動的時候,我們要決定什麼時候讓角色黑點停止移動。下圖中藍色線條表示出角色黑點在不同位置到圓心的距離,可以發現角色黑點在向上移動的過程中,到圓心的距離也漸漸增加。當角色黑點到圓心的距離等於圓的半徑時,角色黑點就剛好碰觸到半圓。

動手作4–1中我們有做過二維卡氏座標上任二點的距離計算,套用距離公式可以設定角色黑點停止移動的條件。

角色黑點座標:(x座標,y座標)

圓心座標:(0,-50)

角色黑點到圓心距離平方=(x-0)2 +(y-(-50))2 = x2 + (y+50)2

轉換成scratch的程式為下面的判斷式。值得注意的是移動y座標的間隔越小,最後計算的平方根值會越精準。

我們將變數n顯示在舞台上讓使用者可以直接調整,量測垂直線長度就是n的平方值。列舉前五個計算值,在移動y座標設為0.001時,精確度可以達到小數點後四位左右。

延伸閱讀:

Scratch & Math: 天花板上的蜘蛛(一) Scratch & Math: 天花板上的蜘蛛(二)

Scratch & Math: 直線裡的宇宙觀(一) Scratch & Math: 直線裡的宇宙觀(二)

Scratch & Math: 不能說的祕密(一) Scratch & Math: 不能說的祕密(二)

Scratch & Math: 無理的道理(一) Scratch & Math: 無理的道理(二) Scratch & Math: 無理的道理(三)