The stable (master
) release of ISAAC can be found here.
The latest functional development
branch version can be found here.
ISAAC is a star system simulator, with full n-body gravity calculations between orbital bodies. Star systems are defined through a set of specifications given as JSON.
Users can adjust values such as the Gravitational Constant and the masses of each individual body to see how their orbits are affected.
ISAAC takes in a JSON object specifying the star system to simulate, creates the orbital bodies laid out in that specification, and simulates the way in which they interact with one another. ISAAC also creates a graphical representation of the star system (powered by Three.js), and provides a UI through which objects can be manipulated (using dat.GUI).
Full details can be found in isaac_simulation
.
In order of increasing difficulty (and coding required):
- Simulate a star system from a basic set of information, specified in JSON.
- Create a new sandbox tool powered by ISAAC's simulation and graphics, with minor changes to the UI.
- Completely rip out the graphical layer (replacing it with another solution), while keeping the same underlying simulation systems and UI.
- Create an entirely new application altogether, with a custom UI and new graphics, using the same underlying simulation systems.