Three-body problem
This is an interactive model of an unrestricted two-dimensional three-body gravitational problem, based on the general solution of an
n
-body gravitational problem. The theoretical background for this solution is set forth in the book:
Gravitation: master key to the universe: the greatest mystery of science is solved!
(ISBN 0-9689120-0-1) by Karel Havel.
The simulation is programmed to automatically stop either when one of the bodies flies out of the bounds or on a near collision between any two bodies (such collision could be simulated accurately if a much smaller time increment for the calculations was used).
Before you start experimenting with the model, please read the sections Technical Comments and Suggested Experiments.
Remember to enable Java in your browser. To start the model, click on
Simulation
in the left panel. Allow several minutes, depending on your Internet connection, for the applet to load.
Operation
This model can be used to study the orbits of the planets in the Solar System. The size of the display is 4.0e11 x 4.0e11 (meters), sufficient to accommodate the orbit of the Earth.
There are three bodies: red, blue, and green, placed in arbitrary positions.
You can change the positions of the bodies.
You can change the masses of the bodies.
You can change the initial velocities of the bodies. An initial velocity is defined as the x and y components of a distance traveled in one second.
You can change the time increment of the calculations (which changes the resolution of the orbits).
There are three control buttons in the top of the left column: Play, Pause, and Reset, followed by a number of editable fields below. Click on Play button to run the simulation. Click on Pause to stop it. Click on Reset to restore the defaults.
The fields show the default values that can be changed. All values are in the metric system. The colors of the values respectively correspond to the colors of the bodies. When you hover the mouse cursor over the field, it displays its identifying label.
In the first three fields from the top are the default values of the masses of the bodies. The number in each window is internally multiplied by 1.0e20. By way of an example, the mass of the green body is 1.9e30 (approximately the same as the mass of the Sun).
In the next six fields are the x and y components of the positions of the bodies. By way of an example, the red value 150000000000.0 (meters) in the fourth field, labeled "X0" is the x coordinate of the first (red) body.
In the next six fields are the values of the x and y components of the initial velocity for each body. By way of an example, the red value -8000.0 in the tenth field, labeled "Velx0", is the x component of the initial velocity of the red body (8000.0 meters/sec in the -x direction).
The field at the bottom, labeled "Increment", is the value in seconds of the time increment used in the calculations.
Before you start your own experiments, perhaps you should try this:
To view the orbits with the default values, click on Play and observe how the three Suns chase one another in figure 'eight' orbits. By adjusting slightly the masses and/or the positions and/or the initial velocities of the bodies, you can control the shapes of their orbits.
This is how you change the default values. Click on Pause and then on Reset. By way of an example, to change the mass of the red body, hold the mouse cursor over the first field that displays the value 19000000000.0 in red. The label reads "Mass0". This is the mass of the red body (20 zeroes are added internally, which makes it 1.9e30). Click into the field and change it to something else. The background color of the field changes to yellow while you are editing the number. Hit Enter when finished. The background color changes back to white to indicate that the edit is finished. You can change any of the remaining default values by the same technique.
(Caution: if you want to keep the 'eight' orbits, make only small changes of the masses, positions, or velocities.
When making other experiments with the model, always remember to Pause and Reset before changing any defaults.