Loading...
This demo requires support for WebGL.
Click here to learn more.
This demo requires support for floating-point textures. Updating your video card drivers may resolve the issue.
This demo requires support for vertex textures. Updating your video card drivers may resolve the issue.
The force of gravity can be described with a very simple equation involving only mass and distance. Despite this, the resulting behaviour of gravitating bodies can be extremely complex, even chaotic, when three or more objects are involved. There are, however, restricted versions of the so-called "three-body" problem that are well understood and can be described mathematically.
The simulation on the left demonstrates two such situations that were first described by the French mathematician Joseph Lagrange in 1772. For two bodies which have circular orbits, relative to each other, there are two locations where additional objects of negligible mass can remain in a stable lock-step with the larger bodies. This can occur because the centripetal acceleration of the small objects (induced by the gravitational pull of the larger bodies) exactly balances the centrifugal force of the their orbital trajectories. These locations, known as the L4 and L5 points after Lagrange, are stable. A slight perturbation in any direction will be met with a net force causing the object to move back toward the point, leading to what are often referred to as "tadpole" orbits. After this simulation runs for a minute or two, you will start to see asteroids collecting at these locations.
In 1906, more than one hundred years after Lagrange proposed the existence of these points, the first "Trojan" asteroids were discovered at the L4 and L5 points of the Sun-Jupiter system. Named after mythological heroes on the two opposing sides of the Trojan War, there are dozens that are known and probably thousands that exist.
For more information, read my blog post about Lagrange points.
This demo simulates the effect that the gravitational interaction between the Sun and Jupiter has on about 260,000 asteroids. After it runs for a few minutes, you will begin to see some patterns develop. First, Jupiter will clear out most of the asteroids from its orbit but will leave some inside its orbit and some outside. Second, you will see two pockets of "Trojan" asteroids develop about 60 degrees ahead and behind the planet. These are locations of gravitationally stability where the forces balance out and allow objects to remain in lock-step with Jupiter. Select info icon in the top-left of the screen to learn more.
This simulation of the asteroids is done entirely on your computer's GPU. Normally used for rendering graphics, the GPU is also an extremely powerful vector processor, allowing many calculations to be done in parallel.
Left mouse button - Click and hold to spawn asteroids in a circular orbit around the Sun.
Right mouse button - Click and hold to spawn asteroids with velocity relative to the mouse. Drag the mouse while spawning to affect their starting velocity.
Space bar - Toggle between a Sun and Jupiter perspective. In Jupiter's perspective, the locations of gravitational balance are highlighted.
Programming and design: Michael Bond
UI Programming and design: Aaron Cepukas and Carlos Sánchez García
Assets:
Jupiter texture map by Steve Albers and the JPL.
A big thanks to:
The Swinburne University of Technology where I'm currently working towards a Masters degree in Astronomy.
Fraser Cain and Dr. Pamela Gay from AstronomyCast, who's weekly show inspired me to make something to help spread my love of astronomy and all the awesomely cool stuff that's out there.
Mr. Doob, Altered Qualia and the countless others working on Three.JS, the superb open-source library for WebGL development.
Verold Inc., for given me to the chance to make this.
Here you can adjust the simulation parameters.
Space Toggle between perspectives.
R Reset asteroid orbits.
Spawn asteroids in orbit.
Spawn asteroids with velocity.