Goal: GeoGebra 除了可以輕鬆的讓我們以即時動態反饋圖形的方式模擬探索幾何的問題, 或是幫我們驗證答案, 也可以進行數論、微積分、矩陣等等各方面的探索, 在問題尺度不大又需要即時以圖像視覺呈現探索過程的情況下, GeoGebra 其實優於以寫程式的方式進行探索.
“Talk is cheap. Show me the code.”
― Linus Torvalds
老子第41章
上德若谷
大白若辱
大方無隅
大器晚成
大音希聲
大象無形
道隱無名
拳打千遍, 身法自然
“There’s no shortage of remarkable ideas, what’s missing is the will to execute them.” – Seth Godin
「很棒的點子永遠不會匱乏,然而缺少的是執行點子的意志力。」—賽斯.高汀
本系列文章:
-
GeoGebra 與數學探索 1 GeoGebra 入門到進階之整體介紹 1 link
-
GeoGebra 與數學探索 2 GeoGebra 在幾何的探索與動態演示介紹 1 link
-
GeoGebra 與數學探索 3 GeoGebra 在微積分的探索與動態演示 link
-
GeoGebra 與數學探索 4 GeoGebra 在線性代數(矩陣)的探索與動態演示 link
-
GeoGebra 與數學探索 5 GeoGebra 中使用試算表spreadsheet 產生批量動畫演示 link
-
GeoGebra 與數學探索 6 GeoGebra 中使用GGBScript指令 link
-
GeoGebra 與數學探索 7 GeoGebra 中使用JavaScript link
文章目录
- Abstract:
- GeoGebra 在幾何的探索與動態演示
- 以 GeoGebra還原 網路上講解消失的方塊魔術拼圖之原理: 帕利高畢氏切割
- 以 GeoGebra 探索 廣義畢氏定理
- 以 GeoGebra 探索幾何分割
- 以 GeoGebra 探索碎形
- 以 GeoGebra 探索擺線
- Ex: 畫出以下六角形形成的螺線
- 用 GeoGebra 做簡單的驗證:
- GeoGebra 在微積分的探索與動態演示
- GeoGebra 製作的數值積分梯形法
- GeoGebra 製作 Varberg 微積分原文教科書的題目圖
- GeoGebra 製作兩變數函數求極值說明圖
- GeoGebra 在線性代數(矩陣)的探索與動態演示
- GeoGebra 中使用試算表spreadsheet 產生批量動畫演示
- GeoGebra 中使用 GGBScript 指令
- GeoGebra 中使用 JavaScript
- JavaScript 使用方法
- 想有完整的微積分, 最佳化, 矩陣, 解微分方程等函數指令功能, 還是要搭配較完整的程式語言, 例如 Python+Scipy+SymPy,
- Refrences:
Abstract:
將針對初學者介紹免費的自由軟體 Geogebra 入門. GeoGebra 除了可以輕鬆的讓我們以即時動態反饋圖形的方式模擬探索幾何的問題, 或是幫我們驗證答案, 也可以進行數論、微積分、矩陣等等各方面的探索, 在問題尺度不大又需要即時以圖像視覺呈現探索過程的情況下, GeoGebra 其實優於以寫程式的方式進行探索.
一般會認為寫程式水準較高, 用滑鼠拖拉是較初階的水準, 其實如果使用者是中小學生或是教師, 或是大學新鮮人針對微積分的範圍, 直接以滑鼠拖拉進行即時反饋圖形的方式探索驗證, 會讓使用者較專注在問題的分析上, 而不是耗費在程式碼的除錯上.
對於想要進一步深入使用GeoGebra的人, GeoGebra 也允許使用者以函數式程式設計的風格使用GeoGebra內建的指令 GGBScript, 也可以使用 JavaaScript 寫程式, 所以在GeoGebra 上寫程式探索, 即時動態反饋圖形會呈現此軟體更大的威力.
對於一個不太複雜的數學圖形, 動畫,
GeoGebra 會更適合快速產生數學圖形, 動畫, 快速加上各類註解調整顏色等, 或做一個不太複雜的數學實驗, 可以用滑鼠拖拉設計, 同樣的效果, 用 Python 等程式語言會反而花很多時間,
對於很忙碌的老師想要快速做出一個數學圖形用在數學考卷或是講義上, 用程式語言會緩不濟急, 有割雞用牛刀的味道, 此時用Geogebra會較明智.
- GeoGebra 一般可以不需要用到程式語言, 可以完全用滑鼠拖拉設計, 類似 GSP,
- 但是 GeoGebra 也有自己的指令, 叫 GGBScript, 分為微積分類、幾何類、代數類等等, 只有簡單型的 If 指令, 重複性的動作並沒有 for 迴圈的指令, 需要用 Repeat 指令 (Repeat( <Number>, <Scripting Command>, <Scripting Command>, … )), 是函數式程式語言的特色, 但是比 for 還是較不彈性, 所以 GeoGebra 自己的語法 GGBScript 並不能算是一個完整的程式語言.
- 要使用完整的程式語言, GeoGebra 也可以執行 JavaScript 程式語言 (操控網頁的語言), 如果要使用較彈性的 for 迴圈, 可以
選擇使用 JavaScript.
GeoGebra 在幾何的探索與動態演示
例如以 GeoGebra 探索重心,垂心, Gergonne point 等等.
例如以 GeoGebra 探索擺線, 追逐線(=等角螺線=對數螺線), 碎形, 幾何分割等等.
以 GeoGebra還原 網路上講解消失的方塊魔術拼圖之原理: 帕利高畢氏切割
https://youtu.be/iFuR97YcSLM
link
網路上賣的一個拼圖,
同樣的框, 一開始四塊拼滿,
四塊拿開再裝入,
竟然多出一個小方塊的空間!?
以下我們用 GeoGebra 動態實驗 帕利高畢氏定理幾何切割之移動, 讓你豁然開朗!!!
https://www.geogebra.org/m/hkunapvx link
以 GeoGebra 探索 廣義畢氏定理
以 GeoGebra 探索幾何分割
何宗洋 拼圖(六芒星的三種切割)_29-4_33-2_29-6.jpg
以 GeoGebra 探索碎形
用 GeoGebra 的試算表繪製 Koch 雪花曲線
實作速成步驟 (參考自 GeoGebra官網分享作品 m43311 orchiming, 我梳理了10多個小時)
打開 GeoGebra 的試算表
先產生兩點A,B,
在試算表A第一個 row, A1輸入: {A, B}
在A2(試算表A第二個row) 輸入:
Join(Sequence({A1(i),
A1(i) + 1 / 3* (A1(i + 1) - A1(i)),
A1(i) + 1 / 2 *(A1(i + 1) - A1(i)) +
Rotate((A1(i + 1) - A1(i))* 1 / 3 *sqrt(3) / 2, 1.5708),
A1(i + 1) - 1 / 3 *(A1(i + 1) - A1(i)),
A1(i + 1)},
i, 1, Length(A1) - 1))
接著
往下拖拉出 A3, A4,A5,,,
接著, 最好選擇在旁邊欄位, 例如在B5欄位輸入:
Sequence[ Segment[ Element[A5,i], Element[A5,i+1] ],
i,1,Length[A5]-1]
以 GeoGebra 探索擺線
以上ˋ圖片及三角形輪廓或蛇形輪廓之內擺線 可以參考
https://www.pinterest.com/pin/169307267228761622/ link
我們可以用 GeoGebra 模擬這個繪製的動作
長短擺線
園內擺線
Ex: 畫出以下六角形形成的螺線
用 GeoGebra 做簡單的驗證:
Ref: 朱華傳 付雲皓, 美國數學邀請賽試題解答, ch7, 科學出版, 2013.
Problem9: 1960三位美國數學家證明存在 n,
使得
13
3
5
+
11
0
5
+
8
4
5
+
2
7
5
=
n
5
133^5+110^5+84^5+27^5=n^5
1335+1105+845+275=n5,
推翻了Euler的一個猜想,
求此n
Sol:
用 GeoGebra
GeoGebra 在微積分的探索與動態演示
GeoGebra 在中學數理科到大一微積分相當夠用
GeoGebra 製作的數值積分梯形法
GeoGebra 可以直接以滑鼠拖拉畫圖, 以滑桿功能展示即時動態變化, 也有不少微積分的指令, 例如以下我用 GeoGebra 製作的數值積分梯形法的動態展示, 加上文字說明, 按鈕等, 同樣的效果, 如果僅是靜態圖, 用 Python+Matplotlib 的 pyplot畫, 恐怕要花上兩三倍的時間.
GeoGebra 製作 Varberg 微積分原文教科書的題目圖
例如以下是我用 GeoGebra 製作的 微積分考卷的圖, 要呈現 Varberg微積分那本原文教科書的某題之圖, 加上自己的設計, 用 GeoGebra 製作 3D 函數圖也很輕鬆:
GeoGebra 製作兩變數函數求極值說明圖
以下是用 GeoGebra 製作的 兩變數函數
f
(
x
,
y
)
=
4
+
x
y
−
x
2
−
y
2
f(x,y)=4+xy-x^2-y^2
f(x,y)=4+xy−x2−y2 侷限在單位圓上求極值, 的說明圖:
同樣的效果, 如果僅是靜態圖, 用 pyplot, 恐怕要手忙腳亂一陣子, 3D 可能還要動用到MayaView等, 如果是動畫, 還得查一下 Tkinter 的指令等.
GeoGebra 在線性代數(矩陣)的探索與動態演示
GeoGebra 中使用試算表spreadsheet 產生批量動畫演示
GeoGebra 中使用 GGBScript 指令
GeoGebra 中使用 JavaScript
要使用完整的程式語言, GeoGebra 也可以執行 JavaScript 程式語言 (操控網頁的語言), 如果要使用較彈性的 for 迴圈, 可以 選擇使用 JavaScrupt.
JavaScript 使用方法
先點選隨便一個物件(物件就是 GGB裡所有的東東例如, 畫出的一個圓, 一個按鈕等), 按右鍵打開物件 的屬性\程式, 選擇程式種類為 JavaScript, 輸入程式碼, 按確定, 對話窗關掉, 就可以執行
例如以下是在屬性\程式 欄位輸入 試除法檢測因數 的JavaScript程式碼
想有完整的微積分, 最佳化, 矩陣, 解微分方程等函數指令功能, 還是要搭配較完整的程式語言, 例如 Python+Scipy+SymPy,
另一方面, 如果完全用 GeoGebra 算微積分, 因為 GeGebra 主力是動態幾何, 會覺得指令不夠, 要想有完整的微積分, 最佳化, 矩陣, 解微分方程等函數, 還是要搭配依賴較完整的程式語言, 例如 Python+Scipy+SymPy, 或 Matlab, Maple, Mathematica , 或 R, Maxima 等.
所以我自己的建議是可以兩方搭配一起用, 當然如果是 GeGebra搭配 Python+Scipy+SymPy,學習的時間, 以我本人的經驗, 教師以課餘瑣碎的時間邊教邊摸索自學, 約需2~3年的時間(GeoGebra只需2,3個月), 但是, 作者觀察本校師範院校教出的學生, 尤其是我自己教過的同學進入各中小學教書, 如果不肯把握時間加緊自學, 過了10年, 發現這個學生還是不會駕馭軟體協助自己教學與研究, 只能羨慕自己的同事, 輕易嫻熟的操控軟體做出精美的數學教材, 電腦這樣的東西, 花時間敲指令下去就有收穫, 如果用看的用想的, 永遠只能羨慕別人.
Refrences:
-
賴鵬仁, 數學文書處理 1 link
-
賴鵬仁, 用免費的電腦資源協助數學的教學,學習與探索_復華中學教師營_中山大學應數系高中數學人才班_2021, https://blog.csdn.net/m0_47985483/article/details/113790840 link
-
GeoGebra 官網: https://www.geogebra.org/ link
-
GeoGebra 官網入門教學手冊中文: 介紹GeoGebra
https://web.fg.tp.edu.tw/~math/blog/wp-content/uploads/2011/04/103-GeoGebra-%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8A%E8%88%87%E6%95%99%E5%AD%B8%E6%B4%BB%E5%8B%95.pdf link -
geogebra与matlab,浅谈Geogebra在大学数学教学中的应用 link