Pixel Gravity

Here's a "short" list of Pixel Gravity's various features:
  • A three-dimensional simulated universe as big as the real one; plenty of space to build in.
  • Up to 1,000 "planets" with mass and 10,000 "asteroids" without mass in one simulation.
    • There's also a user-guidable "satellite" for video-game-esque simulations.
    • If you think your computer can handle it, you can bump the planet limit up to 10,000 and the asteroid limit to 100,000 to do really gigantic simulations.
  • Many modifiable properties for "planet" objects:
    • Mass, radius, and color.
    • Drag-generating atmospheres.
    • Dark matter clouds (for building realistic galaxies).
    • Dynamic mass, radius, and color (for making evolving stars, or other non-static objects).
    • Arbitrary acceleration or deceleration.
  • Multiple integration methods and tools:
    • Euler, for quick and simple simulation.
    • Runge-Kutta 4, the default, for slightly slower but more accurate simulation.
    • A multistep method, for extra speed in solar system simulations.
    • Barnes-Hut, for running simulations with thousands of gravitating objects.
    • Add in a bit of general relativity to make black holes more realistic.
    • Collisions can be turned on or off, and an optional smoothing length helps prevent planets from behaving unrealistically in giant simulations.
  • Total control of (simulated) time:
    • Pause or restart simulations any number of times.
    • Run simulations in real-time, a multiple of real-time, or with a regular timestep.
    • Timesteps can range from fractions of a nanosecond to hundreds of trillions of years.
    • Reverse time to "rewind" an event.
  • A built-in 3D graphics system--no DirectX, OpenGL, or fancy graphics card required.
  • Visual display tools:
    • Names, acceleration, velocities, paths, and orbits of planets.
    • Background stars for decoration and orientation.
    • The classic morphing grid for visualizing gravity.
    • Two-color 3D anaglyphic mode, for viewing simulations with 3D glasses.
    • The Barnes-Hut tree (if you're using it).
  • And, numerical display tools:
    • The current simulated time, date, and time rate.
    • Every concievable bit of information about a particular planet or group of planets:
      • Mass and radius, and their rates of change.
      • Atmosphere and dark matter properties.
      • The size of its event horizon and photon sphere (for black holes).
      • Location, velocity, and acceleration relative to the origin, user viewpoint, or planet being orbited.
      • Orbital elements: eccentricity, inclination, semi-major axis, longitude of the ascending node, argument of periapsis, true anomaly, and period.
    • All of the above planet properties can be graphed with respect to time--or each other--for several planets at once.
  • Record simulations as .avi video files, or compact files to play back within Pixel Gravity. (All videos on this site were recorded within the program.)
  • Make your own tutorials to teach things to other users.


Pixel Gravity also has some handy editing tools to make it easier to use:

  • Planet-building:
    • Two clicks create a basic planet; a few more creates one of many predesigned objects.
    • Clicking and dragging in various ways can move planets around, or change their masses, radii, or velocities while the simulation is running (or while it isn't).
    • Keyboard commands can stop groups of planets (together or individually), freeze them in place, or merge them together.
    • Cut, copy, and paste planets within or between simulations.
  • Orbit creation:
    • Create a circular orbit between two planets in two clicks... 
    • ...or an elliptical orbit with one click and a click-drag.
    • With a few more clicks, create a circular or elliptical orbit between two groups of planets.
    • A keyboard command can automatically send a group of planets into mutual orbit.
  • Massless "asteroid" placement tools:
    • Automatically arrange masses of asteroids into spheres, belts, or rings and send them all into orbit around a planet with a few clicks. Or, just place them one at a time.
    • Position asteroids visually, or at defined physical distances from their central planet.
    • Edit groups of asteroids by color, or by the planet they're attached to.
    • Turn asteroids into planets, or vice versa; this lets you position planets with the asteroid tools, or asteroids with the planet tools.
  • Exploration:
    • The "camera" from which you view everything can move freely, point at any planet or group of planets, or even ride around on a planet's surface.
    • Use mouse movements, the keyboard, or both to zoom around through space.
    • The "wormhole" tool lists all the planets in an orbit-based hierarchy, and, unsurprisingly, lets you teleport between them.
    • Set the camera to automatically rotate to make cinematic simulations and videos.
  • Backups and mistake-prevention:
    • The current simulation is saved periodically and reloaded when you restart the program.
    • Most actions can be undone if you change your mind, or redone if you change your mind again. An unlimited number of undos are saved with the current simulation, so you can go back or forward to any point in the process of building it.
  • And when you want to get precise:
    • Measure distances between planets or groups with a limitless-length ruler.
    • Set the mass, radius, atmosphere height and density, or dark matter height and density of any planet or group by typing in whatever number you want.
    • Set the X/Y/Z location and velocity of any planet or group, or set their orbital elements.
    • Change the gravitational constant, or other constants used to measure masses and distances.

© 2011-2014 Corwin Wray