Solar System Builder® v1.0

top What is Solar System Builder®?

Solar System Builder is a program that allows arbitray masses to be placed onto a very large plane, provided with an initial velocity and set free. These masses then fly along on their trajectories. At each time step, the trajectory is modified according to the gravitation interactions with the other masses on the plane. A model solar system thus can be built by placing a heavy stationary mass in the center, with lighter masses on trajectories perpendicular to lines joining them and the central mass.

Since the user can control the masses and initial velocities, this does not have to model only solar systems. However, the scale of the plane (1 pixel ~ one billion meters), velocities (increments of 500 meters per second) and masses (one hundred billion billion kilograms to ten thousand billion billion billion kilograms) are geared toward atronomical modelling.

Perhaps version 2 can introduce scaling controls for dealing with more human scale objects. But gravity is an extremely weak force and has little effect on human scale objects.

top How do I get the program?

If you want to run the program, download the executable file (Windows only).
If you want to see the C++ code, get this all-inclusive zip file.

top How do I use the program?

Solar System Builder icon
  1. Use the left mouse button to place objects onto the plane and give them an initial velocity. Click and hold down the mouse button to locate the object, then drag and release to indicate a magnitude and direction of initial velocity. The magnitude is about 500 m/s per pixel in the indicated direction.
  2. A dialog box will pop up which gives controls for setting mass (this is logorithmic--the position modifies the exponent) and viewing and modifying the velocity. Press OK when finished.
  3. Repeat steps 1 and 2 for all the masses on the plane.
  4. Press the GO button to start time ticking. When started
    • The time display (in the status bar) will show progress.
    • The masses will move according to the simple laws of mechanics worked out by Sir Isaac Newton.
    • The STOP button becomes available.
  5. Press the STOP button to pause the process. When paused
    • The GO button becomes available. Press it to resume operation.
    • Objects can be modified. Right click near any mass and its properties dialog box will appear. Use it to modify its mass or velocity. Press REMOVE to eliminate the object from the plane.
  6. Adjust the time step at any time.
  7. Adjust G, the Universal Gravitational Constant at any time.

top How does the algorithm work?

V(Om) : Velocity due to pull of Object m.
V[ts] : Velocity at time s.
Vx : The x-axis component of the velocity.
Vy : The y-axis component of the velocity.
  1. At each timestep, the velocity of an object is modified:
    Vx[tn+1] = Vx(O1)[tn] + Vx(O2)[tn] + ... + Vx(Om)[tn] + Vx[tn]
    Vy[tn+1] = Vy(O1)[tn] + Vy(O2)[tn] + ... + Vy(Om)[tn] + Vy[tn]

    where m = number of other objects on the plane.
  2. The object then flies straight along this new velocity vector for one time unit. The position of the object is modified:
    xn+1 = (Vx × timestep) + xn
    yn+1 = (Vy × timestep) + yn

    This becomes accurate as timestep approaches zero. However, the smaller the timestep, the slower the simulation.

top Is Solar System Builder® a registered trademark?

No, not really. I just love that symbol®.

Send email to

© Copyright 1999 Guy T. Schafer
Last updated August, 2011