Flexible Polyhedra

Below is an example of a flexible polyhedron. After the applet loads and displays the model, you can click and drag the mouse over it to spin it around. Read below for more information.

It is flexible in two senses. First, you can click and drag any of the vertices to change its shape. The model will stretch to follow the moving vertex and it will attempt to snap back to all its original edge lengths when you let go. Initially all edges are drawn black which signifies that all edges are exactly the length they are supposed to be. Once you stretch the model, edges which are not their proper length are drawn red. When individual edges are their proper length they will draw green. Finaly, when all edges are happy, the whole model will draw black again. That may take some time even though it doesn't seem to change shape after a while. That's because its still trying to get into exactly the right shape even when movements are smaller than a single pixel.

Almost all polyhedra will snap back into their original shapes if you don't stretch them so much as to change the way they fold. This model however is different and that is the second way in which it is flexible. It can be smoothly moved into infinitely different positions with all edge lengths still satisfied. The easiest way to see that is to move the bottom vertex a bit to the right or left and eventually the model will relax into its correct edge lengths but with that vertex still to the left or right.

Feel free to view the Java source code.

Return to the Superliminal home page