List of interactive geometry software
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.
History
The earliest IGS was the Geometric Supposer, which was developed in the early 1980s.[1] 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.[2] 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 license and platform.
Software | Cost (USD) | Licence | Platforms |
---|---|---|---|
Cabri Geometry | ? | Proprietary | Windows, macOS |
C.a.R. | Free | GPL | Windows, Linux, macOS |
CaRMetal | Free | GPL | Windows, Linux, macOS |
Cinderella 1.4 | Free | Proprietary | Windows, Linux, Mac OS X (Java) |
Cinderella 2.0 | Free | Proprietary | Windows, Linux, Mac OS X (Java) |
DrGeo | Free | GPL | Windows, Linux, Mac OS X |
GeoGebra | Free/Paid | GeoGebra License[3] | Windows, Linux, Mac OS X |
Geom | Free | ? | Windows, MacOS, Linux |
The Geometer's Sketchpad | 70.02 US$ | Proprietary | Windows, Mac OS X (Java) |
Geometry Expert (GEX) | ? | ? | Windows, Linux, Mac OS X |
GEUP | ? | Proprietary | Windows |
Kig | Free | GPL | Linux |
KSEG | Free | GPL | Windows, Linux, Mac OS X |
WIRIS | ? | Proprietary | Linux, Windows, Mac OS X (Java) |
3D Software
Software | Cost (USD) | Licence | Platforms |
---|---|---|---|
Archimedes Geo3D | Shareware | Proprietary | Windows/Mac OS X/Linux |
GeoGebra (from version 5.0 Beta) | Free/Paid | GeoGebra License[3] | Windows, Linux, Mac OS X, Android, iOS, Windows RT |
GEUP 3D | ? | Proprietary | Windows |
Yenka 3D Shapes | Free for non-commercial use | Proprietary | Windows |
WIRIS | ? | Proprietary | Windows, Linux, Mac OS X |
General features
The following table provides a more detailed comparison :
Software | Calculations | Macros | Loci | Animations | Scripting | Assignments | LaTeX export | Web export | Multilingual | Proofs | Extra |
---|---|---|---|---|---|---|---|---|---|---|---|
Cabri II Plus | Yes | Yes | Yes | Yes | Yes | Yes (with plug-in) | No | Yes | Yes | Yes (on relations) | Available on TI Calculator |
Calques 3D | Yes | Yes | Yes | Yes | No | No | No | No | Yes (FRA ENG DEU ESP PTG) | Yes (on relations) | Experimental connection with some CAS |
CaR | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | ? |
CaRMetal | Yes (recursive) | Yes | Yes | Yes (multiple) | Yes (JavaScript) | Yes | Yes | Yes | Yes | Yes (probabilistic) | Amodality, folder system, the Monkey |
Cinderella | Yes | Yes | Yes | Yes | Yes | Yes | Yes (PDF) | Yes | Yes | Probabilistic | Several geometries, Physics simulations |
Ganja.js | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | 2D and 3D, projective and conformal, Geometric Algebra. |
GCLC | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Readable proofs, support for 3D |
GeoGebra | Yes | Yes | Yes | Yes | Yes (JavaScript) | No | Yes (PSTricks & PGF/TikZ) | Yes | Yes (55 languages) | Yes | CAS, HTML5 Export (from version 4.2) 3D & Automatic Proof (from version 5.0) |
Geometria | Yes | No | Yes | Yes | No | Yes | No | Yes | Yes | No | Two-role (teacher, student) model |
Geometrix | Yes | No | Yes | Yes | No | Yes | No | No | Yes | Yes | Interactive proof, diagram checking, teacher/student models, labels with dynamic placeholders |
Geometry Expressions | Yes | No | Yes | Yes | No | No | Yes | Yes (Interactive HTML5/JS Apps) | Yes | No | Symbolic calculations, which can be copied as input for CAS, TeX, and source code in 21 formats/languages. Functions. Arcs on any function or curve. Website for exported HTML5 Canvas and JavaScript Interactive Apps (Euclid's Muse). |
GeoNext | Yes | No | No | Yes | ? | ? | No | ? | Yes | No | Available as a web app |
Géoplan-Géospace | Yes | Yes | Yes | Yes | Yes | No | No | Yes (activeX) | Yes | Yes | Sequences, 2D & 3D, human readable file format |
GeoProof | Yes | No | No | No | No | No | Yes | No | No | Yes | Automatic formal proofs |
GEUP | Yes | Yes | Yes | Yes | Yes | No | ? | No | Yes | No | CAD functionality through CADGEUP |
iGeom | Yes | Yes | Yes | No | Yes | Yes | No | Yes | Yes | Probabilist | Recurrent scripts |
Kig | Yes | Yes | Yes | No | Yes (Python) | No | Yes (PSTricks) | No | Yes | No | Labels with dynamic placeholders |
Live Geometry | Yes | Yes | Yes | Yes | No | No | No | No | No | No | Includes player. |
Sarit2d | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Available on web |
Sketchpad | Yes | Yes | Yes | Yes | Yes | No | ? | Yes (limited) | Yes | No | Functions & function plots, symbolic differentiation, mathematical notation |
Tabula | Yes | Yes | Yes | Yes | No | No | No | No | No | No | Folding, cutting, taping, marker, and working instrument models. |
Tabulae | Yes | Yes | Yes | No | No | No | No | Yes | Yes | No | Collaborative sessions over the internet. |
Cabri 3D | Yes | No | No | Yes | No | No | No | Yes (limited) | Yes | No | ? |
Archimedes Geo3D | Yes | Yes | Yes | Yes | No | No | No | No | No (Eng De Fr) | No | Intersection of Loci |
GEUP 3D | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | No | CAD functionality through CADGEUP |
Netpad | Yes | Yes | Yes | Yes | No | No | No | Yes | No | Yes | Base on Web |
Software | Calculations | Macros | Loci | Animations | Scripting | Assignments | LaTeX export | Web export | Multilingual | Proofs | Extra |
Macros
Features related to macro constructions: (TODO)
Software | Allows recursity | Allows saving |
---|---|---|
Cabri II Plus | Yes | Yes |
Calques 3D | No | Yes |
GCLC | No | No |
GeoGebra | Yes | Yes |
Géoplan-Géospace | Yes | Yes |
GEUP | Yes | Yes |
iGeom | Yes | Yes |
Kig | ? | Yes |
KSEG | Yes | Yes |
Sketchpad (GSP) | Yes (via Iteration) | Yes |
Loci
Loci features related to IGS: (TODO)
Software | Take a point of a locus | Intersection of two loci |
---|---|---|
Cabri II Plus | Yes | Yes |
Calques 3D | No | No |
CaR | Yes | Yes |
GeoGebra | Yes | No |
Géoplan-Géospace | Yes | No |
GEUP | Yes | Yes |
iGeom | Yes | No |
Kig | Yes | No |
Sketchpad (GSP) | Yes | No |
NetPad | Yes | Yes |
Proof
We detail here the proof related features. (TODO)
Software | Interactive Proofs | Automatic Proofs | Probabilist Proofs |
---|---|---|---|
Cabri II Plus | Feedback for | No | Yes in Cabri I |
Cinderella | No | Using external CAS | Yes |
GCLC | No | Yes | No |
GeoGebra | Yes | Yes | No |
Geometrix | Yes | Yes | No |
Géoplan-Géospace | No | No | Yes |
GeoProof | Yes | Yes | No |
iGeom | No | No | Yes |
Jeometry | No | Yes | No |
NetPad | Yes | Yes | ? |
Measurements and calculation
Measurement and calculation features related to IGS: (TODO)
Software | Arbitrary Precision | Arithmetic expressions | Trigonometric functions | If | Object existence test |
---|---|---|---|---|---|
Cabri | Yes | Yes | Yes | Yes | No |
Calques 3D | No | Yes | Yes | No | No |
C.a.R. | No | Yes | Yes | Yes | Yes |
GCLC | No | Yes | Yes | Yes | Yes |
GeoGebra | No | Yes | Yes | Yes | Yes (JavaScript) |
Geometria | No | Yes | Yes | No | No |
Géoplan-Géospace | No | Yes | Yes | Yes (µ function) | No |
GeoProof | Yes | Yes | Yes | Yes | No |
Geometrix | No | Yes | Yes | Yes | No |
iGeom | No | Yes | Yes | No | No |
NetPad | Yes | Yes | Yes | Yes | No |
Graphics export formats
Software | PNG | BMP | TIFF | GIF | SWF | SVG | EMF | Fig | Postscript | LaTeX/Eukleides | LaTeX/Pstricks | LaTeX/PGF/TikZ | Asymptote | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Calques 3D | No | No | No | No | No | No | No | Yes | No | No | No | No | No | No |
C.a.R. | Yes | No | ? | ? | ? | Yes | No | Yes | Yes | No | No | Yes | ? | ? |
Cinderella | Yes | Yes | ? | ? | ? | ? | ? | ? | No | Yes | ? | ? | ? | ? |
GCLC | No | Yes | No | No | No | Yes | No | No | Yes | No | No | Yes | Yes | No |
GeoGebra | Yes | No | No | Yes (animated) | No | Yes | Yes | No | Yes | Yes | No | Yes | Yes | Yes |
Geometry Expressions | Yes | Yes | Yes | Yes (animated) | No | No | Yes | No | Yes | No | ? | ? | ? | ? |
GeoProof | Yes | No | ? | ? | ? | Yes | No | No | No | No | Yes | No | ? | ? |
Kig | Yes | Yes | ? | ? | ? | Yes | No | Yes | Yes | Yes | No | Yes | ? | ? |
KmPlot | Yes | Yes | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | ? | ? |
KSEG | Yes | Yes | ? | ? | ? | No | No | ? | No | No | No | ? | ? | |
Geometrix | No | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | No | ? | ? |
iGeom | No | No | No | Yes | No | No | No | No | Yes | No | No | No | ? | ? |
Object attributes
Software | Color | Filled/Not filled | Width | Transparency | Shown/Hidden | Layer | Shape of points | Type of line |
---|---|---|---|---|---|---|---|---|
Cabri | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
Calques 3D | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes |
C.a.R. | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
GCLC | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes |
GeoGebra | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Geometria | Yes | Yes | No | Yes | Yes | Yes | No | Yes |
Geometry Expressions | Yes | Yes | Yes | Yes | Yes | Yes | No (but size) | Yes |
Géoplan-Géospace | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
Kig | Yes | Yes | Yes | No | Yes | No | Yes | Yes |
GeoProof | Yes | No | Yes | No | Yes | Yes | Yes | Yes |
Geometrix | Yes | Yes | Yes | No | Yes | No | Yes | Yes |
GEUP | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
iGeom | Yes | Yes | Yes | No | Yes | No | No | Yes |
Sketchpad | Yes | Yes | Yes | Yes | Yes | ? | Yes | Yes |
NetPad | Yes | Yes | Yes | Yes | Yes | Yes | No (but size) | Yes |
2D programs
Cabri
Cabri Cabri was developed by the French school of mathematics education in Grenoble (Laborde, 1993)
CaRMetal
CaRMetal is a free GPL software written in Java. Derived from C.a.R., it provides a different user interface.
Cinderella
Cinderella, written in Java, is very different from The Geometer's Sketchpad. The later 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.
Dr Genius
Dr Genius was an attempt to merge Dr. Geo and the Genius calculator.
Dr. Geo
Dr. Geo is a GPL interactive software intended for younger students (7-15). The later version, Dr. Geo II,[4] is a complete rewrite of Dr. Geo, for the Squeak/Smalltalk environment.
GCLC
GCLC[5] 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 the abstract description. There are several output formats, including LaTeX, LaTeX/PStricks, LaTeX/Tikz, SVG and 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 a graphical interface that provides a range of additional functionalities. GCLC is open source software (licence CC BY-ND).
GeoGebra
GeoGebra is software that combines geometry, algebra and calculus for mathematics education in schools and universities. It is available free of charge for non-commercial users.[6]
- License: open source under GPL license (free of charge)
- Languages: 55
- Geometry: points, lines, all conic sections, vectors, parametric curves, locus lines
- Algebra: direct input of inequalities, implicit polynomials, linear and quadratic equations; calculations with numbers, points and vectors
- Calculus: direct input of functions (including piecewise-defined); intersections and roots of functions; symbolic derivatives and integrals (built-in CAS); sliders as parameters
- Parametric Graphs: Yes
- Implicit Polynomials: Yes
- Web Export: all constructions exportable as web pages as a Java applet
- Macros: usable both as tools with the mouse and as commands in the input field
- Animation: Yes
- Spreadsheet: Yes, the cells can contain any GeoGebra object (numbers, points, functions etc.)
- Dynamic text: Yes (including LaTeX)
- Platforms: Mac OS, Unix/Linux, Windows (any platform that supports Java 1.5 or later)
- Continuity: uses a heuristic 'near-to-approach' to avoid jumping objects
GeoKone.NET
GeoKone.NET[7] is an interactive recursive natural geometry (or "sacred geometry") generator that runs in a web browser. GeoKone allows the user to create geometric figures using naturalistic rules of recursive copying, such as the Golden ratio.
Geolog
Geolog[8] is a logic programming language for finitary geometric logic.
Geometry Expressions
Geometry Expressions[9] Does symbolic geometry. It uses real symbolic inputs and returns real and symbolic outputs. It emphasises use with a Computer Algebra System (CAS), as well as exporting and sharing via interactive HTML5, Lua, and OS X dashboard widget apps.
The Geometer's Sketchpad
The Geometer's Sketchpad (GSP)
- Deterministic
- Languages: English, Spanish, Danish, Russian, Korean, Thai, Traditional and Simplified Chinese, French, Lithuanian (current version); others (older versions)
- Macros: Yes ("custom tools" and "scripts")
- Java-applet: Yes
- Animation: Yes
- Locus: Yes, including point on locus
- Assignments: No
- Measurement/Calculations: Yes
- Platform: Windows, Mac OS, TI-92+, works under Wine
- Proofs: No
The Geometric Supposer
The Geometric Supposer[10]
Geonext
Geonext was developed by the University of Bayreuth until 2007 and is completely implemented in Java. Its final version was 1.74.
GEUP
GEUP is a more calculus-oriented analog of The Geometer's Sketchpad.
- Deterministic
- Languages: English, French, German, Italian, Portuguese, Spanish
- Macros: Yes
- Java-applet: No
- Animation: Yes
- Locus: Yes, including point on locus
- Assignments: No
- Measurement/Calculations: Yes
- Platform: Windows
- Proofs: No
GRACE
GRACE (The Graphical Ruler And Compass Editor) is an analog of The Geometer's Sketchpad (GSP), written in Java.
Jeometry
Jeometry is a dynamic geometry applet.
Kig
Kig is a free (GPL) analog of The Geometer's Sketchpad (GSP) for KDE, but more calculus-oriented. It is a part of the KDE Edutainment Project.
KmPlot
KmPlot is a mathematical function plotter released under the free GPL license. 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. Features include:
- powerful mathematical parser
- precise metric printing
- different plot types (functions, parametric, polar)
- highly configurable visual settings (plot line, axes, grid)
- export to bitmap format (BMP and PNG) and to Scalable Vector Graphics (SVG)
- save/load complete session in readable XML format
- trace mode: cross-hair following plot, coordinates shown in the status bar
- zooming support
- ability to draw the 1st and 2nd derivative and the integral of a plot function
- support user-defined constants and parameter values
- various tools for plot functions: find minimum/maximum point, get y-value and draw the area between the function and the y-axis
KSEG
KSEG is a free (GPL) analog of The Geometer's Sketchpad (GSP) with some unique features. This software can handle heavy, complex constructions in Euclidean geometry.
- Deterministic
- Languages: Dutch, English, French, Chinese, German, Hungarian, Italian, Japanese, Norwegian Bokmål, Portuguese, Russian, Spanish, Turkish, Welsh
- Macros: Yes. Editable and with support for recursion
- Java-applet: No
- Animation: No
- Locus: Yes, but no direct way to place a point on a locus.
- Assignments: No
- Measurement/Calculations: Yes (the calculator is a bit strange)
- Platform: Unix/Linux, Windows, Mac OS (any platform that supports Qt)
- Proofs: No
- Extra: Editable
Live Geometry
Live Geometry is a free CodePlex project that lets you create interactive ruler and compass constructions and experiment with them. It is written in Silverlight 4 and C# 4.0 (Visual Studio 2010). The core engine is a flexible and extensible framework that allows easy addition of new figure types and features. The project has two front-ends: WPF and Silverlight, which both share the common DynamicGeometry library.
TracenPoche
TracenPoche is a completely Adobe Flash program. It is available in English, Spanish, and French.
3D programs
Cabri 3D
Archimedes Geo3D
Euler 3D
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
GeoGebra, includes a 3D mode since version 5.0
Geomview
GEUP 3D
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.[12]
References
- Schwartz; Yerushalmy and Wilson (1993). The Geometric Supposer: What is it a Case of?. Hillsdale, NJ: Lawrence Erlbaum Associates.
- Battista, M.T. (2007). "The Development of Geometric and Spatial Thinking". In Lester, Jr., F.K. (ed.). Second Handbook of Research on Mathematics Teaching and Learning. Charlotte, NC: Information Age and the National Council of Teachers of Mathematics. pp. 843–903.
- "GeoGebra License". Retrieved 2022-01-11.
- "DrGeo - OLPC".
- "Mathematical Tool GCLC - Geometry Constructions -> LaTeX Converter".
- "License".
- "Home". GeoKone.NET.
- "Geolog and Skolem Machines". Archived from the original on 2008-04-09. Retrieved 2008-03-01.
- "Geometry Expressions".
- "CET - Mathematics". Archived from the original on 2001-04-20.
- "Archived copy". Archived from the original on 2006-04-21. Retrieved 2006-04-21.
{{cite web}}
: CS1 maint: archived copy as title (link) - Kortenkamp, Ulrich (1999): Foundations of Dynamic Geometry, Dissertation, ETH Zurich 1999. Available online at http://kortenkamps.net/papers/1999/diss.pdf