Skip to content

kovzol/geogebra-discovery

Repository files navigation

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. Here we are working on a fork for revision control of the extensions. In addition, this web page has the following purposes:

  • For end users, we point to the software packages that make possible to install and run GeoGebra Discovery on your computer.
  • For end users, we explain the additions of GeoGebra Discovery compared to the official version of GeoGebra by short descriptions.
  • For researchers, we provide a list of web references (research papers, links, benchmarks) for the additions.
  • For programmers, we explain how to try the latest unstable version of GeoGebra Discovery. For this purpose we provide some scripts and programmatic tools.

Download a stable release

Desktop version (Discovery 5)

End users may want to download one of the most recent releases. Then:

  • To run GeoGebra Discovery, you need to extract the downloaded archive and run the file GeoGebra-Discovery.bat (or GeoGebra-Discovery on non-Windows systems). A short video tutorial is also available.
  • In case the program does not start, you need to install Java RE.

For Linux users, the simplest way is to get GeoGebra Discovery from Flathub or the Snap Store:

Web version (Discovery 6)

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.

Try the latest unstable version: Prerequisites, compilation, running and deployment

This section can be technically challenging. If you are not familiar with program development, it is safer to use a stable release (see above).

build

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). The latest versions also work on Mac OS 14 Sonoma, see the required steps below. Finally, you can use Windows 10/11 as well to compile and run GeoGebra Discovery.

Discovery 5

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. See below the detailed instructions.

Steps to build GeoGebra Discovery on Linux

These steps were tested on Ubuntu, and they may not work on other Linux systems.

  • Open a terminal.
  • Type git clone https://github.com/kovzol/geogebra-discovery to download the source code.
  • Type cd geogebra-discovery to change the working directory.
  • Enter ./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.
  • Run ./build5 to build the complete GeoGebra Discovery system.
  • Enter ./run5 to start the software.
  • If you want to make a copy of the program for redistribution, the command ./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.)

Steps to build GeoGebra Discovery on macOS

  • Start Terminal: Press Cmd+Space to open spotlight search, and type terminal and hit return.
  • Type git clone https://github.com/kovzol/geogebra-discovery to download the source code.
  • Type cd geogebra-discovery to change the working directory.
  • Type ./get-build-tools to get Java.
  • Type ./build5 to build GeoGebra Discovery.
  • Type ./run5 to test if GeoGebra Discovery runs properly.
  • If you want to make a copy of the program for redistribution, type ./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.)

Steps to build GeoGebra Discovery on Windows 10/11

On Windows we support both 64 and 32-bit builds. However, 32-bit builds are considered experimental.

  • Set Developer Mode in Windows.
  • Open a Powershell window as administrator. Install Chocolatey. Install MSYS2 by typing choco install msys2 in the Powershell prompt.
  • If you plan to compile GeoGebra Discovery for 64-bit systems, start MSYS2/CLANG64 by starting the executable 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.
  • Install Microsoft's Java 11 if you want a 64-bit build. It is safe to use the Windows x64 .msi version. Alternatively, you can download a different Java JDK for a 32-bit build. Oracle's Java 1.8 has been successfully tested.
  • Install Git for Windows (version 2.32.0(2) should work). Use the default settings during the installation, but enable symbolic links (this option is disabled by default).
  • Open Git Bash and type git clone https://github.com/kovzol/geogebra-discovery.
  • Go back to the MSYS2/CLANG64 window and change your working directory to see the folder from the previous step. This can be set with a command like cd /c/Users/<username>/geogebra-discovery where <username> stands for you username on Windows.
  • Type ./build5 to build the program.
  • Type ./run5 to test if GeoGebra Discovery runs properly.
  • In case you want to create a redistribution package, you need to install two more tools in the MSYS2 subsystem. Type pacman -S rsync zip first. Then run ./deploy5 to create a .zip bundle for redistribution.

Force running realgeom

This feature is disabled by default on all system. 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:

  • Build the program (see above).
  • Run helper/realgeom to start the realgeom server. It will run in a separate terminal.
  • Start GeoGebra Discovery by using the command line ./run5 --realgeomws=enable:true,remoteurl:http\://localhost\:8765,cas:mathematica,timeout:10 for example.

Discovery 6

  • Type ./get-build-tools to download the prerequisites (only on earlier Linux systems and Mac).
  • Run ./build6 to build GeoGebra Discovery.
  • Enter ./run6 to start the software. A web browser window should appear and GeoGebra Discovery starts.
  • Lastly, the command ./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.)

Authors

GeoGebra is written by its authors.

  • Maintainer of GeoGebra Discovery is Zoltán Kovács [email protected].
  • Thanks to Tomás Recio, M. Pilar Vélez, Noah Dana-Picard, Róbert Vajda, Antonio Montes, Francisco Botana, Pavel Pech, Carlos Ueno, Manuel Ladra, Pilar Paez, Celina Abar, Jonathan H. Yu, Keiichi Tsujimoto and Christopher W. Brown for their support. There are further people who contributed to this work (but not listed above), thanks to everyone!

License

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.

Mailing list

A public list is available at Google Groups.

Feature matrix

New features

This table is ordered by maturity.

Feature GeoGebra GeoGebra Discovery Maturity
Discover tool/command no yes stable
Stepwise discovery no yes stable
Compare command no yes stable
Proving inequalities no yes stable
RealQuantifierElimination command no yes stable
Prenex formulas no yes stable
IncircleCenter command no yes (with prover support) stable
Incircle tool no yes stable
IncircleCenter tool no yes stable
LocusEquation tool no yes stable
Dilate command only numerical with prover support stable
Envelope tool no yes stable
Raspberry Pi 3D View no yes stable
Giac: threads on Linux no yes stable
Same color for circles with the same radius no yes stable
Plotting logical connectives of inequalities partial full unstable Possible errors on saving
Plot2D command no yes unstable Possible errors on saving
CNI prover no yes work in progress Subscripted labels yet unsupported
ShowProof command no yes work in progress Translations missing
Export CAS View no HTML, Mathematica, Maple and Giac work in progress Several commands missing
Export Construction Protocol as LaTeX no prototype prototype Working prototype
Automatic LaTeX captions no prototype prototype Support required for the web version
ApplyMap command no prototype prototype Bugs 1, 2

Features that have already been merged

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.

Bugs

The database of issues is available at YouTrack.

Benchmarks

The benchmarking system collects results and speed related information on a daily basis for the Prove, ProveDetails, LocusEquation, Envelope and Compare commands.

Latest outputs

All outputs

References

Discover command

Relation command

Prove/ProveDetails commands

Compare command

RealQuantifierElimination command

ShowProof command

Plot2D command

LocusEquation command

Envelope command

About

GeoGebra Discovery

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages