Clifford and de Jong Attractors

This notebook visualizes the strange attractors of Clifford Pickover and Peter de Jong. You can pan and zoom with the mouse or a touch screen. Clifford attractors are defined by

while de Jong attractors are defined by

A grid of points is randomly offset and iterated many times. The results are accumulated onto a WebGL texture, effectively computing a histogram of the attractor. Single precision isn’t quite adequate, so you can switch to CPU mode for a final render if you’re willing to wait a bit longer for it to converge. Point density is computed using the formula in this notebook.

Color comes from the distance traveled by the most recent iteration. Each pixel accumulates both the RGB color and a hit count. Lightness is computed in the YUV color space from the logarithm of the hit count, while the hue comes from the average accumulated color.

For more on computing attractors in WebGL, Mike Bostock’s Making WebGL Dance is a great walkthrough. See also his Clifford Attractor series and Yuri Vishnevsky’s Strange Attractors.