GeoGebra Discovery is an experimental version of GeoGebra. It contains some bleeding edge features of GeoGebra that are under heavy development and therefore not intended for every day use yet, so they are not included in the official GeoGebra version. Also, in some cases, there is no consensus on whether to include certain elements in GeoGebra or to leave them out (for example, because they are too specific for a particular audience).
We maintain a feature list. Some features are considered unstable, but many of them are mature and ready to try by anyone, and technically close to be able to being integrated into GeoGebra shortly. It is planned that each feature, after made stable, will be added to the official version of GeoGebra as well, but the GeoGebra Team may decide to leave some features out for technical, practical or didactical reasons. Anyway, we are doing our best and are open for discussion.
Technically speaking, GeoGebra Discovery is based on the freely available GitHub sources of GeoGebra which is maintained by the GeoGebra Team. We maintain a fork for revision control of the extensions. In addition, this web page has the following purposes:
End users may want to download one of the most recent releases. Then:
For Linux users, the simplest way is to get GeoGebra Discovery from the Snap Store:
The web version is available online at autogeo.online and usually updated on every new release. This version can be downloaded and run offline as well at autgeo.online/off.
This section can be technically challenging. If you are not familiar with program development, it is safer to use a stable release (see above).
You may decide to compile GeoGebra Discovery on your own.
If you do so, you will need a typical Linux, Mac or Windows system to make the software work. The provided scripts were tested on Ubuntu Linux 20.04 and above (64-bit), and partially on Raspbian Buster (both Raspberry Pi 3 and 4 should work, however you need at least 2 GB of memory for compilation). The latest versions also work on Mac OS 11 Big Sur, see the required steps below. Finally, you can use Windows 10 as well to compile and run GeoGebra Discovery.
The current version automatically downloads a release version of Tarski 1.37. In addition, the RealGeom system will be built, but not packaged or used, only when it is requested by the user (or, if the platform is the Raspberry Pi system). See below the detailed instructions.
These steps were tested on Ubuntu, and they may not work on other Linux systems.
git clone https://github.com/kovzol/geogebra-discovery
to download the source code.cd geogebra-discovery
to change the working directory../get-build-tools
to download some prerequisites including an appropriate Java Development Kit on Ubuntu Linux. On Raspberry Pi and on newer Ubuntu systems the default Java 11 (OpenJDK) may also be used, so you can skip this step../build5
to build the complete GeoGebra Discovery system../run5
to start the software../deploy5
will create a .zip file that contains all necessary components to run the program. (The deployment tool comes with a built-in help that can be invoked by the -h
option.)git clone https://github.com/kovzol/geogebra-discovery
to download the source code.cd geogebra-discovery
to change the working directory../get-build-tools
to get Java../build5
to build GeoGebra Discovery../run5
to test if GeoGebra Discovery runs properly../deploy5 -j
to create a .zip bundle that contains all necessary files for GeoGebra Discovery. The bundle will be put in the relative folder dist/. (In case your working directory is /tmp/, you may want to copy the .zip bundle to another folder, say, your home folder, to avoid deletion of all your created files
on an accidental reboot.)On Windows we support both 64 and 32-bit builds. However, 32-bit builds are considered experimental.
choco install msys2
in the Powershell prompt.clang64
in C:\tools\msys64\
(we assume this is the correct installation folder). Alternatively, you may use MSYS2/CLANG32 if you want to create a 32-bit package.git clone https://github.com/kovzol/geogebra-discovery
.cd /c/Users/<username>/geogebra-discovery
where <username>
stands for you username on Windows../build5
to build the program../run5
to test if GeoGebra Discovery runs properly.pacman -S rsync zip
first. Then run ./deploy5
to create a .zip bundle for redistribution.This feature is disabled by default on all system, except on a Raspberry Pi. You may want to use realgeom if you intend to outsource the real geometry computations to Mathematica. These are the steps you need to achieve this:
helper/realgeom
to start the realgeom server. It will run in a separate terminal../run5 --realgeomws=enable:true,remoteurl:http\://localhost\:8765,cas:mathematica,timeout:10
for example../get-build-tools
to download the prerequisites (only on earlier Linux systems and Mac)../build6
to build GeoGebra Discovery. (Due to lack of memory this will not work on Raspberry Pi.)./run6
to start the software. A web browser window should appear and GeoGebra Discovery starts../deploy6
creates a .zip file that contains all necessary components to run the program. This can be necessary if you want to redistribute the software. (This last step will not work on Windows.)GeoGebra is written by its authors.
See GeoGebra’s licensing policy for general information on licensing GeoGebra. Since the developer team of GeoGebra Discovery does not provide any commercial support, all extensions (including artwork, translations) to GeoGebra are provided “as is”. In particular, extensions to the source code are licensed to you under the terms of the GNU General Public License (version 3 or later) as published by the Free Software Foundation, the current text of which can be found via this link: https://www.gnu.org/licenses/gpl.html (“GPL”). Attribution (as required by the GPL) should take the form of (at least) a mention of this project page of GeoGebra Discovery.
A public list is available at Google Groups.
This table is ordered by maturity.
Feature | GeoGebra | GeoGebra Discovery | Next step |
---|---|---|---|
Discover tool/command | no | yes | Scheduled for merging into GeoGebra |
Stepwise discovery | no | yes | GeoGebra Team: approve/update |
Compare command | no | yes | GeoGebra Team: approve/update |
Proving inequalities | no | yes | GeoGebra Team: approve/update |
RealQuantifierElimination command | no | yes | GeoGebra Team: approve/update |
Prenex formulas | no | yes | GeoGebra Team: approve/update |
IncircleCenter command | no | yes (with prover support) | GeoGebra Team: approve (discuss Center(Incircle) first) |
Incircle tool | no | yes | GeoGebra Team: approve/update |
IncircleCenter tool | no | yes | GeoGebra Team: approve/update |
LocusEquation tool | no | yes | GeoGebra Team: approve/update |
Dilate command | only numerical | with prover support | GeoGebra Team: approve/update |
Envelope tool | no | yes | GeoGebra Team: approve/update |
Raspberry Pi 3D View | no | yes | GeoGebra Team: approve/update |
Giac: threads on Linux | no | yes | GeoGebra Team: approve/update |
Same color for circles with the same radius | no | yes | GeoGebra Team: approve/update |
Plotting logical connectives of inequalities | partial | full | GeoGebra Team: approve/update |
Plot2D command | no | yes | GeoGebra Team: approve/update |
ShowProof command | no | yes | Add some missing descriptions |
Export CAS View | no | HTML, Mathematica, Maple and Giac | Perform general testing |
Export Construction Protocol as LaTeX | no | prototype | Implement CAS/Spreadsheet view, add web implementation |
ApplyMap command | no | prototype | Fix bugs and make improvements |
Automatic LaTeX captions | no | prototype | Add support for the web version |
Feature | GeoGebra version | Date |
---|---|---|
Java OpenGL 2.5 support | 5.2 | September 2023 |
Fast symbolic angle bisectors (prover) | 5.0.641.0 | May 2021 |
Algebraic curves as inputs in locus computations | 5.0.641.0 | May 2021 |
Incircle (prover support) | 5.0.641.0 | May 2021 |
We maintain a technical documentation to keep some programming related details up-to-date in order to help a possible merge of the two codebases.
The database of issues is available at YouTrack.
The benchmarking system collects results and speed related information on a daily basis for the Prove, ProveDetails, LocusEquation, Envelope and Compare commands.