9 July 2021
Status report on embedding realgeom in GeoGebra
This is a short blog entry that summarizes the current stage of
adding real geometry support in GeoGebra in a direct way. During the last few months
hard work was made on combining
QEPCAD B,
Tarski and GeoGebra as
separated subsystems as shown in the figure:
The combination was done with an external system called
realgeom.
Now we reached a kind of maturity of the code and the system is quite stable. It is double-checked
with two benchmarking systems. Their recent outputs are available for GeoGebra's
Compare
and
Prove
commands. Among other important results we humbly report that
Euler's inequality can be successfully proven with our subsystem inside
GeoGebra Discovery.
(
Some preliminary results
were recently communicated at
CADGME Online Gathering 2021.)
The currently used technology has two drawbacks. First, it is quite complicated and prevents users
from enjoying a simple interface since the realgeom subsystem appears in the background:
The other problem is more important: there is no way to embed the system in a web page at the moment.
We started to address both problems. The first one is joint work with
Christopher W. Brown, main author
of QEPCAD B and Tarski. We work on embedding QEPCAD B completely inside Tarski, and as a final result we
will compile a
Java Native Interface (JNI) version of Tarski. The JNI code could be accessed directly
in a Java program, namely in GeoGebra.
Technically speaking, we had to compile the Tarski system on the major platforms including Windows, Mac and Linux.
The Tarski system was designed to run on Linux, but with some simplifications now it is possible to run it on Mac
and Windows systems as well. The porting was simpler for Mac, but for Windows it required quite much work.
We had to use the
MSYS2/MSYS subsystem to have a fully fledged version of Tarski, and the MSYS2/CLANG64 subsystem
to be able to create a stable JNI version of QEPCAD B. Doing the same for Tarski is on-going work.
The MSYS2 system provides several
flavors to compile C/C++ code on Windows that were originally written for systems
like Linux. Using Java as another player makes things even more complicated.
After some discussion with the MSYS2
developers it turned out that we need the CLANG64 environment to make it possible to get a working JNI version.
Latest
build of Tarski
supports this concept.
What next? First, Tarski will be extended for direct embedding as JNI. Second, the realgeom tool will
be directly added to GeoGebra Discovery. Third, we will continue working on embedding Tarski in a web page.
Continue reading…
See also a filtered list of the entries on topics
GeoGebra,
technical developments or
internal references in the Bible.
|
Zoltán Kovács
Linz School of Education
Johannes Kepler University
Altenberger Strasse 69
A-4040 Linz
|