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 的动作.