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.

The following table provides a first comparison of the different software according to their licence and platform.

2D Software

Software Cost (USD) Licence Platforms
Apollonius 3.99 US$Proprietary iPhone/iPod Touch Baghera ? ? Windows/? Cabri Geometry ? Proprietary Windows, Mac OS X Cabri-Euclide ? ? Windows/? C.a.R. Free GPL Windows, Linux, Mac OS X CaRMetal Free GPL Windows, GNU Linux, Mac OS X Cinderella 1.4 Free Proprietary Windows, Linux, Mac OS X (Java) Cinderella 2.0 69 US$ Proprietary Windows, Linux, Mac OS X (Java)
Defi ? ? ?
DrGeo Free GPL Windows, Linux, Mac OS X
Euklid DynaGeo Shareware Proprietary Windows
Euklides Shareware Proprietary Windows
Eukleides Free GPL Windows, Linux, Mac OS X
Gambol ? ? Windows, Linux, Mac OS X
GCLC Free Proprietary Windows, Linux
GeoGebra Free Proprietary Windows, Linux, Mac OS X
Geolog ? ? Windows/?
The Geometer's Sketchpad ? Proprietary Windows, Mac OS X (Java)
Geometric Supposer ? ? ?
Geometrix Free Proprietary Linux, Windows
Geometry Expert (GEX) ? ? Windows, Linux, Mac OS X
Geometry Explorer Free ? Windows, Linux, Mac OS X
Geometry Expressions $99 USD Proprietary Windows, Linux, Mac Geometry Tutor ? ? Windows/? GeoNext Free GPL Windows, Linux, Mac OS X Géoplan Free CeCILL Windows GeoProof Free GPL Windows, Linux, Mac OS X GeoView Free GPL Windows, Linux, Mac OS X GEUP ? Proprietary Windows GRACE ? ? Windows, Linux, Mac OS X iGeom Free Proprietary Linux, Windows, Mac OS X Isard ? ? Windows Jeometry ? ? Windows, Linux, Mac OS X JSXGraph Free GNU LGPL Windows, Linux, Mac OS X Kig Free GPL Linux Kgeo Free GPL Linux KmPlot Free GPL Linux, Mac OS X KSEG Free GPL Windows, Linux, Mac OS X Live Geometry Free Free Windows, Mac OS X (Silverlight & WPF) MathKit ? Proprietary Linux, Windows, Mac OS X (Java) Mentoniezh ? ? ? OpenEuclide Free GPL Windows, Linux Tabula 19.95 US$ Proprietary Windows, Mac OS X (Silverlight)
Tabulae Free Proprietary Linux, Windows, Mac OS X (Java)
WinGeom ? ? Windows
WIRIS ? Proprietary Linux, Windows, Mac OS X (Java)

3D Software

Software Cost (USD) Licence Platforms
Archimedes Geo3D Shareware Proprietary Windows/Mac OS X/Linux
Cabri 3D Shareware Proprietary Windows/Mac OS X
GeoGebra (from version 5.0 Beta) Free GPL Windows, Linux, Mac OS X, Android, iOS, Windows RT
Geometria Free MIT Windows, Linux, Mac OS X
GeomSpace Free GPL Windows, Linux, OpenSolaris, BSD
GeomView Free GNU LGPL Unix
Géospace Free CeCILL Windows
GEUP 3D Shareware Proprietary Windows
Sterizium Free for non-commercial use Proprietary Windows
Yenka 3D Shapes Free for non-commercial use Proprietary Windows
WIRIS ? Proprietary Windows, Linux, Mac OS X

Any-dimensional Software

Software Cost (USD) License Platforms Brief Info
SpaceFuncs Free BSD Windows, Linux,
Mac OS X (Python)
Uses FuncDesigner for parametrization and automatic differentiation,
OpenOpt for solving systems of geometric equations and numerical optimization

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
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
GCLC Yes Yes Yes Yes Yes Yes Yes No No Yes Readable proofs, support for 3D
GeoGebra Yes Yes Yes Yes Yes (JavaScript) Yes (JavaScript) Yes (PSTricks & PGF/TikZ) Yes Yes (55 languages) No 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 ? No ? No Yes No ?
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.
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 No No No No Yes No ?
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
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
CaR Yes Yes
GeoGebra Yes No
Géoplan-Géospace Yes No
GEUP Yes Yes
iGeom Yes No
Kig Yes No

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
Geometrix Yes Yes No
Géoplan-Géospace No No Yes
GeoProof Yes Yes No
iGeom No No Yes
Jeometry No Yes No

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
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 (µ fonction) No
GeoProof Yes Yes Yes Yes No
Geometrix No Yes Yes Yes No
iGeom No Yes Yes No No

Graphics Export Formats

Software PNG BMP TIFF GIF SWF SVG EMF Fig Postscript Pdf LaTeX/Eukleides LaTeX/Pstricks LaTeX/PGF/TikZ Asymptote
C.a.R. Yes No ? ? ? Yes No Yes Yes No No Yes ? ?
Cinderella Yes Yes ? ? ? ? ? ? No Yes ? ? ? ?
GCLC No Yes ? ? ? Yes No No Yes No No Yes ? ?
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 ? ? ? $\alpha$ 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
C.a.R. Yes Yes Yes Yes Yes Yes Yes Yes
GCLC Yes Yes Yes No Yes No 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
iGeom Yes Yes Yes No Yes No No Yes
Sketchpad Yes Yes Yes Yes Yes ? Yes Yes

2D programs

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,[3] 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[4] 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 free software that joins geometry, algebra and calculus for mathematics education in schools and universities.

• License: open source under GNU General Public 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; JavaScript interface for interactive exercises
• 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 (anything which supports Java 1.5 or later)
• Continuity: uses a heuristic 'near-to-approach' to avoid jumping objects

Geolog

Geolog[5] is a logic programming language for finitary geometric logic.

Geometry Expressions

Geometry Expressions [6] 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.

• 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

Geometrix

Geometrix [5] is a free interactive geometry software, written in Prolog and Free Pascal (Lazarus).

• Geometrix can directly guide the student in his demonstration of any property of the figure. It calculates all the proofs while the student is constructing the figure. Three types of reasoning are allowed (and can be intermixed): deduction, induction, abduction. Geometrix, which generates a large number of different solutions, offers the student, when he has finished his demonstration, a canonical form of the demonstration and displays some suggestions on possible alternatives.
• Allows a teacher to propose to a student a specific geometry construction exercise and then the software will check the student's diagram for accuracy.
• Allows the teacher to program specific suggestions in written form, orally, and visually via diagrams and short animations of all sort that the teacher can store and have appear at the appropriate times.
• Can automatically generate proof exercises.
• Allows students to do proofs and gives automatic feedback at every step along the way.
• Automatic coding of the figure. Can produce conjectures.
• Dynamic labels.
• Animations.
• Loci.
• Proofs.
• Assignments.
• Measurement/Calculations.
• Diagram-checking.
• No-cost software

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[7]

GeoProof

GeoProof[8] is a free GPL dynamic geometry software, written in OCaml.

GEUP

GEUP is a bit more calculus-oriented analog of GSP.

• Deterministic
• Languages: English, French, German, Italian, Portuguese, Spanish.
• Macros: Yes
• Java-applet: No
• Animation: Yes
• Locus: Yes / point on locus
• Assignments: No
• Measurement/Calculations: Yes
• Platform: Windows
• Proofs: No

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[9] 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.

• 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 scalable vector graphics (SVG)
• 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 minium/maximum point, get y-value and draw the area between the function and the y-axis

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.

• Deterministic
• Languages: Dutch, English, French, Chinese, German, Hungarian, Italian, Japanese, Norwegian Bokmal, Portuguese, Russian, Spanish, Turkish, Welsh.
• Macros: Yes. Editable and with support for recursion
• Java-applet: No
• Animation: No
• Locus: Yes, No direct way to put point on locus.
• Assignments: No
• Measurement/Calculations: Yes (calculator is bit strange)
• Platform: Unix/Linux, Windows, Mac OS (anything which supports Qt)
• Proofs: No
• Extra: Editable

Non-Euclid

Non-Euclid[10] is a very basic Java-IGS used only for hyperbolic geometry in the Poincaré disk and the upper half-plane models.

OpenEuclide

OpenEuclide[11] is a GPL 2D geometry software.

Sphaerica

Sphaerica[12] 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[13] is a program for high-precision geometric constructions in both two and three dimensions.

3D programs

Archimedes Geo3D

Cabri 3D v2

Euler 3D

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.

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

GEUP 3D

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.

• Kinect sensor support.

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.

Any-dimensional programs

SpaceFuncs

SpaceFuncs is a cross-platform (Linux, Windows, Mac etc.) completely free (license: BSD) Python language module for 2D, 3D, N-dimensional space calculations with abilities of:

• parametrized modeling (using FuncDesigner)
• performing numerical optimization and solving geometrical systems of equations (possibly parametrized) by OpenOpt, using FuncDesigner automatic differentiation, that yields more precise (and very often faster) results than finite-differences derivatives approximation
• some graphic output using Matplotlib (any other Python graphic visualization library from the variety can be easily connected).

Continuity vs. 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.[14]

References

1. ^ Schwartz; Yerushalmy and Wilson (1993). The Geometric Supposer: What is it a Case of?. Hillsdale, NJ: Lawrence Erlbaum Associates.
2. ^ Battista, M.T. (2007). "The Development of Geometric and Spatial Thinking". In Lester, Jr., F.K. Second Handbook of Research on Mathematics Teaching and Learning. Charlotte, NC: Information Age and the National Council of Teachers of Mathematics. pp. 843–903.
3. ^ http://wiki.laptop.org/go/DrGeo
4. ^ http://www.matf.bg.ac.rs/~janicic/gclc/
5. ^ http://www.csupomona.edu/~jrfisher/www/geolog/
6. ^ http://geometryexpressions.com
7. ^ http://www.cet.ac.il/math-international/software5.htm
8. ^ http://home.gna.org/geoproof/
9. ^ http://www.jeannot.org/~js/isard/
10. ^ http://www.cs.unm.edu/~joel/NonEuclid/NonEuclid.html
11. ^ http://coulon.publi.free.fr/openeuclide/
12. ^ http://sourceforge.net/projects/sphaerica/
13. ^ http://math.exeter.edu/rparris/wingeom.html
14. ^ Kortenkamp, Ulrich (1999): Foundations of Dynamic Geometry, Dissertation, ETH Zurich 1999. Available online at http://kortenkamps.net/papers/1999/diss.pdf