orbits
git: https://isaacelenbaas.com/git/orbits.git
tar: https://isaacelenbaas.com/git/orbits.tar.gz
This is a simple gravity experiment with per-body dynamic step sizes written in Processing. It does do the usual "cheat" of adjusting velocities to maintain the energy in the system, but even before adding that it maintaineded the energy to four zeroes of precision without breaking a sweat.
I ran this for a couple days to brute-force cool seeds with five bodies, which are recorded below.
A friend of mine requested 3D support for something they were working on, so I hacked it in on top of what I had. The 3D rendering was hand-done while still using the original 2D painting, so it is quite janky.
The camera uses a least-squared-error algorithm which I created for this project to keep everything in frame. It could use some smoothing here, but the algorithm has been helpful for me in many other projects since.
2D
Initial demo:By far the most stable 2D seed - Time alive: 203.8s
Time alive: 26.4s
Time alive: 13.4s
Time alive: 3.8s (video extended a bit past minor crash)
Time alive: 16.1s
Time alive: 0.8s
Time alive: 56.0s
Time alive: 122.0s
3D
Time alive: 59.2sTime alive: 18.3s
Time alive: 13.4s
Time alive: 10.1s
Time alive: 29.8s
Time alive: 49.5s
Time alive: 14.7s
Time alive: 30.0s