GeoGebra
GeoGebra是一款動態數學(幾何)軟件,於2001年由Markus Hohenwarter[2]在奧地利薩爾茨堡大學製作。其名稱是Geometry(幾何)和Algebra(代數)的混成詞。[a]
開發者 | Markus Hohenwarter |
---|---|
目前版本 | 6.0.535.0(2019年4月21日 | )
原始碼庫 | |
作業系統 | 跨平台 |
平台 | Java、HTML5 |
類型 | 動態幾何軟件 |
許可協定 | 免費軟件 部分原始碼:GPL 語言檔案:CC BY-NC-SA[1] |
網站 | www |
簡介
GeoGebra是一款動態幾何代數軟件[b],主要功能包含CAS計算機、科學計算機、3D計算機、計算與繪圖。其特點為能建立幾何對象,並保持它們之間的關係,可以用來快速的實驗數學上的想法、觀察圖形變化或者製作簡單的動畫,製作教學演示材料。它提供安裝版本和在線版本,在線版本註冊帳號即可在線儲存筆記。
簡史
GeoGebra 軟件由 Markus Hohenwarter 在 2002 年於奧地利薩爾茨堡大學提出其碩士論文作品時設計的。這個軟件旨在結合動態幾何軟件和符號計算系統的優點。GeoGebra 的創建者認為這些工具對數學教育非常有價值,但他也注意到對於一般教師來說,由於符號計算程式的語法較為嚴格,學習起來比較困難,因此他們傾向於避免使用它。相反地,他發現教師們更喜歡動態幾何軟件,因為其用戶介面的設計使得程式更容易使。[3]
GeoGebra 軟件很快就在全球範圍內獲得了流行,並且有許多志願者加入這個項目,開發新功能、互動式教學材料,並將軟件及其檔案翻譯成許多種語言,透過專為此設的討論區與新用戶合作。現在,包括教師、研究人員、軟件開發者、學生及其他對此主題感興趣的人士在內的社群,透過各地的地方性 GeoGebra 學院彼此連結,並通過國際 GeoGebra 學院進行協調。
功能
- 2D 圖形視圖:在此視圖中,可以使用點、直線、線段、多邊形、圓錐曲線等進行幾何構造。還可以進行諸如物體間的交叉、平移、旋轉等操作。此外,還可以繪製函數、以隱式形式表達的曲線、通過不等式定義的平面區域等。
- 3D 圖形視圖: 除了之前提到的 2D 圖形視圖中的對象外,還可以表示平面、球體、錐體、多面體和兩變數的函數。
- 電子表格: 提供一個包含多行多列的工作表,在其中可以輸入和處理數字數據。它還提供了數據統計處理的工具。
- 數據繪製功能: 此視圖包含多種概率分佈函數的表示,並允許在特定區間內計算這些函數的概率。它還提供了一個計數機,用於執行統計測試。
- CAS計算機:直接繪製圓錐曲線,對函數求導數,積分,對多項式函數求極值和拐點等。
用戶也可以加入翻譯或是開發志工協助開發推展,自己編譯和修改原始碼。它有自己的程式語法GeoGebraScript[c],也可以用Python(此Python功能已於2014年停用)和JavaScript進一步擴展。
參考資料
- ^ Restrictive license of translations and documentation. help.geogebra.org. [2019-04-05]. (原始內容存檔於2019-10-16).
- ^ Markus Hohenwarter - Resources - GeoGebra. geogebra.org. [2019-05-01]. (原始內容存檔於2020-09-03).
- ^ Conferencia Dynamic Mathematics for Everyone (subtitulada) Markus Hohenwarter, [2024-05-02], (原始內容存檔於2024-05-02) (中文(中國大陸))在阿根廷舉行的會議,創作者在會上談論了該項目的起源
註解
- ^ 1994——2002年他雙主修「應用資訊科學」與「數學與心理學」兩個學位,GeoGebra實際上為他的碩士論文。2006——2008年他在佛羅里達州立大學執行一項研究計劃對GeoGebra進行維護。
- ^ Hohenwarter從一開始就沒有稱它為動態幾何軟件。他2004當時的一個德文演講標題是「GeoGebra - ein Softwaresystem fur dynamische Geometrie und Algebra」(「GeoGebra – 一個動態幾何與代數的軟件系統」),但之後他好幾場的演講標題都是「Dynamische Mathematik mit GeoGebra」(動態數學以GeoGebra)。可見他已經慢慢瞭解到,GeoGebra的發展已經超出他當初的預設,已慢慢發展為一個全面的「動態數學軟件」了。
- ^ GeoGebraScript 並沒有 for loop 的指令, 必須透過 Repeat[ <Number>, <Scripting Command>, <Scripting Command>, ... ], 或 Seq[ ]等指令或是用spreadsheet試算表達到重複迭代的效果, 另一方法是用 JavaScript 來執行 for 的動作.