Chaos Pendulum

Trial Angle Variation Time To Divergence Divergence Def.


The Double Pendulum

The double pendulum is a pendulum hanging from a pendulum. It is a simple physical system that exhibits mathematical chaos. It is very hard to tell where a double pendulum will be precisely in the futue, because even a tiny variation in where it starts creates wild differences in where it will be later. A single pendulum is completely different. In fact a single pendulum is so steady that it can be used as a clock.

What you are Seeing

The simulation you are seeing simulates both a single pendulum and a double pendulum for 20 seconds. The double pendulum draws a trace where its tip moves. We are comparing the trace to the last trace that was drawn out. When the trace moves away from the last one, we draw its value in yellow in the table on the right. Each new start of the both the double and single pendulm arms start with a slight random value added. However, you can't really tell for the single pdendulum, because it doesn't matter. However, it is very hard to get the double pendulum to go for a full 10 seconds before being in a very different spot than the last trace.


The Chaos Pendulum webpage was developed by Robert L. Read and Martin Smith as a simulation of a physical exhibit for the Montshire Museum of Science. It is not as highly parametrizable and configurable as some other simulations you may find on the web.

The Bracelet Algorithm

In this software, divergence is defined using an algorithm I call the "bracelet" algorithm. In general, the parameter space of the pendulum includes time. If the pendulum takes a faster path to get to the same point, it is clearly different, but the "trace" looks like it is in the same place. Since this is designed to be educational, I wanted a way to define divergence that was purely spatial. My solution was to write an algorithm that simulates a "bracelet" or ring through which both traces are threaded. Divergence is defined to be the point in which the bracelet can no longer be moved forward, because the traces have moved to far apart in space. This allows the dimension of "divergence" to be defined purely spatially---in centimeters.

Thanks to p2.js

This simulation does not solve the equations of motion of the double pendulum directly, but rather uses the general purpose two-dimensional physics engine p2.js. Thanks to Stefan Hedman for this wonderful software!

Known Bugs

Even if you set the random variation to 0.0 arc seconds, it will eventually diverge due to my inability to initialize the physics engine perfectly. One might describe this as "rounding error" but that is a bit too simple.

After it has drawn 4 or 5 traces, the rendering engine stops drawing new traces until you hit the "clear traces" button, possibly because we exceed some limit of the number of allowed graphics.

Authors and Contributors

Chaos Pendulum is written and maintained by Robert L. Read at PubInv.

This is a newly created work, please send comments, ideas, or suggestions to Rob or open an issue.

Check out our parent project, Public Invention.


This is project is a part of Public Invention (PubInv), a nascent organization that needs your energy and talent. Contact Us.

All materials produced by PubInv are free and open-source, and licensed either with the GPL (for code) or the Creative Commons Share Alike v 4.0 licenese (for text and designs.)

Creative Commons License
This file and all PubInv materials by Robert L. Read by default is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.