Caustics 2010


Take me straight to the interactive version!

You’ve seen them before, those patterns of light dancing on pool bottoms. They’re called caustics and are caused by the refraction of light rays as they travel through the surface of the water.

The images on this page were generated in a caustic simulator I wrote in Processing (you can generate your own below). The surface of the “water” is randomly generated Perlin noise. Note the rainbow patterns at the edges of the bright bands, caused by dispersion, the same phenomenon seen when light shines through a prism.


What’s more, by animating the surface of the noise, it is possible to generate animated movies, such as below.

Download: MP4. OGG. Youtube

Interactive version

Use the interactive applet! Note that it is a Java applet, and as such you will need Java installed to view it. It is very processor intensive, as there are millions of light-rays being simulated.

If you’re on a Mac, I find that the applet only runs smoothly on Safari. It will still work on Chrome/Firefox but be much choppier. (2017 update: this would be fun to redo with modern technologies to make it more accessible. A project for another time)

More Images

Click images to see them large.

caustic caustic caustic

Creative Commons License
All images licensed under a Creative Commons Attribution 3.0 Unported License.