A JavaFX app that computationally simulates and visualizes the three-body problem in classical mechanics, using Dormand-Prince integration of ordinary differential equations.
Built for an ICS3U culminating project, by Evan Zheng and Vladislav Aleinikov, June 2020.
Download information can be found under the releases section. The app currently only officially supports Windows x64.
A screenshot of the UI can be seen here:
Users enter the following global settings:
- The time to skip to
- The speed of simulation
- The preferred number format to display
- Visual preferences
As well as the following information about three different point-mass particles:
- Mass
- X and Y positions
- X and Y velocities
- Color
The simulation runs according to these settings. A live view of the particles at a given time is shown in the display, while live readings of position, velocity, and acceleration are shown in the panel above. Users also have the option to log the positions, velocities, and accelerations into a CSV (comma-separated-value) file for later analysis.
Users can save templates with custom settings and access them later in the Saves tab. These template files can be loaded into other devices that have the app installed. There are also some default templates that offer interesting scenarios for the particles.
For more information, check the manual inside the application.
- JavaFX for the GUI framework.
- JBootX for Bootstrap-like visual styling.
- Apache Commons Math for integrations of ordinary differential equations.
- Apache Commons CSV for logging statistics and templates into CSV files.
- GraalVM for native-image compilation of Java programs.
- Gluon Client-Maven-Plugin for GraalVM compatibility with JavaFX.
- Ikonli for UI icons.
- Launch4j for packaging .jar files into .exe.
- Apache Maven Shade for building .jar files.
See LICENSE file.