Interactive geometry software (IGS) or dynamic geometry environments (DGEs) are computer programs which allow one to create and then manipulate geometric constructions, primarily in plane geometry. In most IGS, one starts construction by putting a few points and using them to define new objects such as lines, circles or other points. After some construction is done, one can move the points one started with and see how the construction changes.
Contents
- History
- Comparison
- License and platform
- General features
- Macros
- Loci
- Proof
- Measurements and calculation
- CaR
- CaRMetal
- Cabri II Plus
- Cinderella
- Euklid DynaGeo
- Eukleides
- Dr Genius
- Dr Geo
- Gambol
- GCLC
- GeoGebra
- GeoKoneNET
- Geolog
- Geometry Expressions
- The Geometers Sketchpad
- Geometrix
- Geonext
- The Geometric Supposer
- GeoProof
- GEUP
- GRACE
- iGeom
- Jeometry
- Isard
- Kig
- Kgeo
- KmPlot
- KSEG
- Non Euclid
- OpenEuclide
- Sphaerica
- Live Geometry
- TracenPoche
- Tabula
- Tabulae
- Wingeom
- Archimedes Geo3D
- Cabri 3D
- Euler 3D
- GeoGebra 5
- Geometria
- Geomview
- GEUP 3D
- PyGeo
- JavaView
- SingSurf
- Sterizium
- Vectory
- Continuity versus determinism
- References
History
The earliest IGS was the Geometric Supposer, which was developed in the early 1980s. This was soon followed by Cabri in 1986 and The Geometer's Sketchpad.
Comparison
There are three main types of computer environments for studying school geometry: supposers, dynamic geometry environments (DGEs) and Logo-based programs. Most are DGEs: software that allows the user to manipulate ("drag") the geometric object into different shapes or positions. The main example of a supposer is the Geometric Supposer, which does not have draggable objects, but allows students to study pre-defined shapes. Nearly all of the following programs are DGEs. For a related, comparative physical example of these algorithms, see Lenart Sphere.
License and platform
The following table provides a first comparison of the different software according to their licence and platform.
General features
The following table provides a more detailed comparison :
Macros
Features related to macro constructions: (TODO)
Loci
Loci features related to IGS: (TODO)
Proof
We detail here the proof related features. (TODO)
Measurements and calculation
Measurement and calculation features related to IGS: (TODO)
C.a.R.
C.a.R. is a free GPL analog of GSP, written in Java.
CaRMetal
CaRMetal is a free GPL software written in Java. It is derived from C.a.R.and provides another user interface.
Cabri II Plus
Cabri II Plus is an extended analog of GSP and actually the ancestor of all DGSs.
Cinderella
Cinderella is very different from GSP, written in Java.
The new version Cinderella.2 also includes a physics simulation engine and a scripting language. Also, it now supports macros, line segments, calculations, arbitrary functions, plots, etc. Full documentation is available online.
Euklid DynaGeo
Euklid DynaGeo [1] is a shareware analog of GSP for windows.
Eukleides
Eukleides [2], part of GPL, is a geometry drawing language.
Dr Genius
Dr Genius was an attempt to merge Dr. Geo and the Genius calculator.
Dr. Geo
Dr. Geo [3] is a GPL interactive software especially valuable for younger students (7-15). Now Dr. Geo II, a complete rewrite of Dr. Geo for the Squeak/Smalltalk environment, is available.
Gambol
Gambol [4] is a Euclidean, construction-based, drawing system.
GCLC
GCLC is a dynamic geometry tool for visualizing and teaching geometry, and for producing mathematical illustrations. In GCLC figures are described rather than drawn. This approach stresses the fact that geometrical constructions are abstract, formal procedures and not figures. A concrete figure can be generated on the basis of abstract description. There are several output formats, including LaTeX, LaTeX/PStricks, LaTeX/Tikz, SVG, PostScript. There is a built-in geometry theorem prover (based on the area method). GCLC is available for Windows and Linux. WinGCLC is a Windows version of GCLC with graphical interface and provides a range of additional functionalities.
GeoGebra
GeoGebra is software that joins geometry, algebra and calculus for mathematics education in schools and universities. It is available free of charge for non-commercial users.
GeoKone.NET
GeoKone.NET is an Interactive Recursive Natural Geometry (or Sacred Geometry) Generator that runs in your browser. GeoKone allows you the user to create Geometry Based on the same rules of recursive copying that can be found in Nature, like the Golden Ratio.
Geolog
Geolog is a logic programming language for finitary geometric logic.
Geometry Expressions
Geometry Expressions Does symbolic geometry. It uses real symbolic inputs and returns real and symbolic outputs. An emphasis is placed on use with CAS, as well as export and sharing via interactive HTML5, Lua, and OSX dashboard widget apps.
The Geometer's Sketchpad
The Geometer's Sketchpad (GSP)
Geometrix
Geometrix [5] is a free interactive geometry software, written in Prolog and Free Pascal (Lazarus).
Geonext
Geonext [6] is a free (GPL) analog of GSP written in Java and offers a view calculus features (parametric curves, functions) as well.
The Geometric Supposer
The Geometric Supposer
GeoProof
GeoProof is a free GPL dynamic geometry software, written in OCaml.
GEUP
GEUP is a bit more calculus-oriented analog of GSP.
GRACE
GRACE(The Graphical Ruler And Compass Editor) is an analog of GSP, written in Java.
iGeom
iGeom [7] is freeware interactive geometry software hosted on the Internet for learning and teaching geometry (analog of GSP and Cabri), written in Java.
Jeometry
Jeometry is a dynamic geometry applet.
Isard
Isard is an interactive geometry software originally written in Smalltalk. The latest version only works under VisualWorks 7.
Kig
Kig is a free (GPL) analog of GSP for KDE, but a bit more to calculus-oriented, and part of KDE Edutainment Project.
Kgeo
Kgeo [8] is a free (GPL) analog of GSP for KDE, but a bit more too calculus-oriented, and its interface is similar to Kig.
Development has stopped, and the project was replaced and improved by Kig.
KmPlot
KmPlot [9] is a mathematical function plotter released under the free (GPL). Includes a powerful parser and precision printing in correct scale. Simultaneously plot multiple functions and combine function terms to build new functions. Supports functions with parameters and functions in polar coordinates. Several grid modes are available.
KSEG
KSEG is a free (GPL) analog of GSP which has a few features unique to it. This software can handle heavy, complicated constructions in Euclidean geometry.
Non-Euclid
Non-Euclid is a very basic Java-IGS used only for hyperbolic geometry in the Poincaré disk and the upper half-plane models.
OpenEuclide
OpenEuclide is a GPL 2D geometry software.
Sphaerica
Sphaerica is an open source geometry software for spherical geometry. It supports orthographic, stereographic and gnomonic projections and various tools for constructions on the sphere.
Live Geometry
Live Geometry [10] is a free codeplex project that lets you create interactive ruler and compass constructions and experiment with them. It is written with Silverlight 4 and C# 4.0 (Visual Studio 2010). The core engine is a flexible and extensible framework that allows you to easily add new figure types and features. The project has two front-ends: WPF and Silverlight; they both share the common DynamicGeometry library.
TracenPoche
TracenPoche [11] is a completely Adobe Flash program. It is available in English, Spanish, and French.
Tabula
Tabula is a commercial dynamic geometry program created by Numeracy Works. Tabula supports hands-on learning and can be used to construct, cut, tape, fold, measure, and transform geometric figures. Built using Silverlight, it is both Mac OS and Windows compatible.
Tabulae
Tabulae [12] is a dynamic geometry software written in Java. It is under development from the Federal University of Rio de Janeiro. It is available in Brazilian and Portuguese.
Wingeom
Wingeom is a program for high-precision geometric constructions in both two and three dimensions.
Archimedes Geo3D
Cabri 3D
Cabri 3D v2
Euler 3D
Euler (software)
Euler 3D is a program that allows you to create and manipulate your own polyhedrons. It has a number of facilities: transformations, animations, creating duals, import/export VRML, etc.
Free registration required.
GeoGebra 5
Since version 5.0 (and beta release 4.9) GeoGebra comprises a full 3D mode as well and plane section of it can also be viewed and manipulated in the traditional 2D interface.
Geometria
Geometria is free (MIT License) cross-platform software based on a two-role (teacher, student) model. The teacher creates a problem, provides it with an answer and saves the problem in a file. The student opens the file and solves the problem. The student's actions are recorded. The teacher plays back the solution and grades it. The figures are limited to convex polyhedra, which can be measured, drawn upon, transformed, cut and joined.
Geomview
Geomview
GEUP 3D
GEUP 3D
PyGeo
PyGeo
JavaView
JavaView
JavaView is a 3D geometry viewer and a mathematical visualization software. You can explore miscellaneous 3D models with it.
SingSurf
SingSurf
Based on JavaView, this program can calculate and draw singular algebraic curves and surfaces.
Sterizium
Sterizium is freeware stereometry viewer application for the development of spatial thinking.
Vectory
Vectory is a freeware specifically developed for school students. This program visualizes primitive geometry, like points, lines, planes and spheres. Further features like intersections, distance calculation and parametrizing the inputs are available.
Continuity versus determinism
All these programs can be divided into two category: deterministic and continuous. GeoGebra can be deterministic or continuous (one can change it in preferences).
All constructions in the deterministic programs (GSP, Cabri, Kseg and most of others) are completely determined by the given points but the result of some constructions can jump or behave unexpectedly when a given point is moved.
On the contrary, some constructions in continuous programs (so far only Cinderella and GeoGebra), depend on the number of hidden parameters and in such a way that moving a given point produces a continuous motion of the construction, as a result, if the point is moved back to the original position the result of construction might be different.
Here is a test to check whether a particular program is continuous:
Construct the orthocenter of triangle and three midpoints (say A', B' C' ) between vertices and orthocenter.
Construct a circumcircle of A'B'C' .
This is the nine-point circle, it intersects each side of the original triangle at two points: the base of altitude and midpoint. Construct an intersection of one side with the circle at midpoint now move opposite vertex of the original triangle, if the constructed point does not move when base of altitude moves through it that probably means that your program is continuous.
Although it is possible to make a deterministic program which behaves continuously in this and similar simple examples, in general it can be proved that no program can be continuous and deterministic at the same time.