planets(1) 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 <[email protected]> as a gift for his nephew, Eyal Minsky-Fenick.

This manpage was contributed originally by Martin Pitt <[email protected]> for the Debian GNU/Linux system (but may be used by others).