GNU Dr. Geo, be a Geometer!


A program to design and manipulate interactive geometric sketches. It helps kids to explore geometry.

Dr. Geo demo

Dr. Geo in a few words.

Dr. Geo aims to be an open, easy to study, modify and extend interactive geometry software. It is distributed with its source code. You can modify its own source code while using it. Ten years old kids use Dr. Geo to explore Euclidean geometric sketches; agile kids extend and program it with its embedded dynamic Smalltalk language and user interface.

Just like other interactive geometry software such as Cabri, Cinderella, Geogebra, Carmetal, with Dr. Geo the user creates a geometric sketch and manipulates it according to its constraints. What sets Dr.Geo apart from the other geometry software is the possibility of studying and even modifying/extending its source code while s/he is using it to create a figure.

In 2000, Dr. Geo was awarded by the AFUL[1], then in 2008 it was awarded again by the ESUG[2]. The curious can read A brief history of GNU Dr. Geo.

What can be done with Dr. Geo?

In primary education, you explore the geometric properties of triangles, parallelograms, squares, rhombus. Advanced users can also design interactive activities to guide the learners, it is achieved with a combined use of interactive sketch and programmed scripts to monitor the learner action. Such examples are distributed with Dr. Geo, and it was the result of pedagogical inquiries.

In secondary education (junior high), learners explore the quadrilateral and triangle properties. Geometric transformations are on the stage too to explore and to study them interactively. Dr. Geo comes with a complete transformation tool set: central and axial symmetries, translation, scale and rotation are ready to use on point, straight line and curve.

Senior high school teachers may even better appreciate the value of Dr. Geo, finding it useful even beyond pure mathematical subjects and into topics such as mechanics. Moreover, Dr. Geo programming is of good help to understand how numerical methods such as Newton-Raphson algorithm (for finding the zero of a function) behave in different situations, to create recursive constructions such as the Fibonacci spiral, based on the Fibonacci numbers or sequence and cobweb diagram, etc.

Downloading Dr. Geo

The latest Dr. Geo release is found at its releases page (former releases).

Source code

The Dr. Geo source code is at github.com/hilaire/drgeo.

To build the executable from the source, checkout the README. You will have to install the Cuis-Smalltalk programming system (licensed under the MIT license)

But do not forget, the Dr. Geo source code can also be edited from the integrated source code browser while running the program.

Documentation

How to contact the Dr. Geo team

Social network
Follow us on Mastodon.
Mailing list
There is a mailing list for all kinds of discussions related to Dr. Geo.

Getting involved

Development of Dr. Geo, and GNU in general, is a volunteer effort, and you can contribute. For information, please read How to help GNU. If you'd like to get involved, it's a good idea to join the discussion forum.

Use the software!
Learn and use Dr. Geo in school with students! You may encounter bugs or you may have ideas for new features. Several were developed at user requests.
Documentation
We have pretty complete user guides in French and English. Its source is the Texinfo format—as requested for any GNU software. Help is welcome for proofreading, formatting contents or contributing chapters.
Documentation source repository
Translation
Dr. Geo user interface needs to be localised to as many languages as possible. To participate in this effort, visit its translation page. Translation is done online from your web browser. You only need a Launchpad account.
Development
For development sources, issue trackers, and other information, please see the Dr. Geo project page.

Licensing

Maintainer. The author of Dr. Geo is Hilaire Fernandes <hilaire AT gnu.org>; he's still maintaining it.

Dr. Geo is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.