SingSurf mathematical visualisation program
The program requires
- Java version 8 or upwards.
- JavaView mathematical visualisation software from javaview.de. Alas not open-source.
- JEP 2.4.1 Java Expression Parser, a mathematical parser evaluator from my fork jep-java-gpl which contains some small customisation of the package to fit the needs of the SingSurf program.
- The automated build process uses Apache Ant. It should be relatively easy to compile in java without ant.
- To compile
JUnit 4 must be available, but is not required to run.
It is a good idea to register your version of JavaView. Registration provides a license file
jv-lic.licwhich should be copied to the
rsrcdirectory, this prevents a notification message appearing.
A different version of this program is available for use with the newer 3.5/4.0 commercial release of Jep from singularsys.com. This has a more flexible parser but is otherwise identical in operation.
Installation and running
Source code release
The source code can be downloaded from SingSurfGPL on github.
For the git source code, there are three different main classes
org.singsurf.singsurf.SingSurf3Dthe 3D version with all sub-types
org.singsurf.singsurf.SingSurf2Dthe 2D version, with setting for examining curves in the plane
org.singsurf.singsurf.ASurfSimpa simplified version just with the algebraic surface component
To compile first set environment variables for Jep, Javaview home directories and the Junit jar. Using 'bash' on linux use
export JEP_HOME=C:/User/rich/git/jep-java-gpl export JAVAVIEW_HOME=C:/Users/rich/bin/javaview export JUNIT_JAR="org.junit_4.13.0.jar;org.hamcrest.core_1.3.0.jar"
the ant build file could then be run using
ant -DJEP_HOME=$JEP_HOME -DJAVAVIEW_HOME=$JAVAVIEW_HOME -Djunit.jar=$JUNIT_JAR
this will compile the java classes.
To run the main 3D version on unix
This will use the JEP_HOME and JAVAVIEW_HOME environment variable if set, otherwise it will read values specified in the script.
On windows use
The script will need to be edited to set the location of the Jep and Javaview home directories.
Both versions have variables which can be set to change the amount of memory allocated or the font sizes used.
A zip file with an executable jar file and all necessary files is available from singsurf.org. Once unpacked this can be run using a single line Java command. This include the necessary Jep and JavaView files.
Once unzipped the main SingSurf3D program can be used by running either
on Linux or Macs via a command prompt or for Windows use
Javaview licence file
For best operation you should obtain a license file for the JavaView program. This prevents a red error message appearing on the main window.
To obtain the file complete
JavaView registration and a file will be automatically
sent to you. Once you have it place it in the
rsrc sub-directory of the JavaView home directory or
rsrc sub-directory of the SingSurf home directory for the bundled release.
For any installation problems contact email@example.com.
A rather unfinished PDF manual for the whole package.