planets - Man Page
Gravitational simulation of planetary bodies
Description
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.
Keybindings
Universe definition
- a
Add Planet
- j
Place random orbital planet
- r
Place random planet
- u
Undo (undoes last planet insertion)
- e
Reset to empty universe
- g
Go Back (goes back to just after last planet insertion)
- Mouse
Click on a planet to delete it
Physics
- b
Toggle bounce (experimental)
Display control
- Cursor keys
Panning
- c, Space
Move display to center of mass
- x
Initiate center of mass tracking
- =
Zoom in
- -
Zoom out
- p
Toggle Pause
- o
Change all colors randomly
- t
Toggle Trace
- d
Double Trace Length
- h
Halve Trace Length
- Mouse
Drag a box around a set of planets to follow the center of mass of those planets
Program control
- H
Display help dialog
- k
Display option dialog
- Ctrl-Shift-k
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.
- l
Load Universe After pressing l, press any other character to load the universe with that name. Universes are stored in ~/.planets/ .
- s
Save Universe After pressing s, press any other character to save the universe with that name. Universes are saved in ~/.planets/ .
- q, Esc
Quit
Technical Details
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.
Bugs
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.
Author
Planets was written by Yaron M. Minsky <yminsky@cs.cornell.edu> as a gift for his nephew, Eyal Minsky-Fenick.
This manpage was contributed originally by Martin Pitt <martin@piware.de> for the Debian GNU/Linux system (but may be used by others).