Planets is a simple interactive program for playing with simulations of planetary systems. It is great teaching tool for understanding how gravitation works on a planetary level.
The user interface is aimed at being simple enough for a fairly young kid can get some joy of it. There's also a special kid-mode aimed at very young children which grabs the focus and converts key banging into lots of random planets.
Place random orbital planet
Place random planet
Undo (undoes last planet insertion)
Reset to empty universe
Go Back (goes back to just after last planet insertion)
Click on a planet to delete it
Toggle bounce (experimental)
- Cursor keys
- c, Space
Move display to center of mass
Initiate center of mass tracking
Change all colors randomly
Double Trace Length
Halve Trace Length
Drag a box around a set of planets to follow the center of mass of those planets
Display help dialog
Display option dialog
Toggle kid-mode. Kid mode locks the keyboard and mouse, so the only way to get out is to toggle kid-mode again to get out.
Load Universe After pressing l, press any other character to load the universe with that name. Universes are stored in ~/.planets/ .
Save Universe After pressing s, press any other character to save the universe with that name. Universes are saved in ~/.planets/ .
- q, Esc
Planets uses a fourth-order runge-kutta approximation for the simulation itself. Planet bouncing is achieved by adding a repulsive force to planets at close quarters. Planets is fairly flexible: you can change the gravitational constant, the time-slice of the simulation, and even the exponent used in the gravitational law. Universes are saved in the ~/.planets directory, and are simple human readable and editable files.
Currently bouncing doesn't work very well unless you make the time-slice quite small. Ideally, it would be nice to have a billiard-style bounce system, but it's not clear how to do this accurately in the presence of a strong gravitational field.
Planets was written by Yaron M. Minsky <email@example.com> as a gift for his nephew, Eyal Minsky-Fenick.
This manpage was contributed originally by Martin Pitt <firstname.lastname@example.org> for the Debian GNU/Linux system (but may be used by others).