Feedback Loop Applet

Update June 2014: This was ported to WebGL and greatly improved.

I was watching the BBC’s The Secret Life of Chaos, which is a very interesting documentary about chaos, fractals, and emergent behavior. There is a part where emergent behavior is demonstrated using a video camera feedback loop (35 minutes in). A camera, pointed at a projector screen, has it’s output projected onto that same screen. A match is lit, moved around a bit, and removed from the camera’s vision. At the center of the camera’s focus a pattern dances around for awhile in an unpredictable pattern, as the pattern is fed back into itself.

That’s the key to fractals and emergent behavior right there: a feedback loop. Apply some simple rules to a feedback loop and you might have a fractal on your hands. More examples,

I was inspired to simulate this with software (and I passed that on to Gavin too). Take an image, rescale it, rotate it, compose it with itself, repeat.

Here are some images I created with it.

You can interact with the mouse — like the lit match. And that really is a feedback loop. In this video, you can see the mouse hop travel down through the iterations.

Unfortunately I didn’t seem to be able to achieve emergent behavior. The image operators too aggressively blur out fine details way down in the center. Bit that’s fine: it turned out more visually appealing than I expected!

Here’s a gallery of image captures from the applet. To achieve some of the effects try adjusting the rotation angle (press r or R) and scale factor (press g or G) while running the app. A couple of these were made using an experimental fractal-like image operator that can only be turned on in the source code.

Have a comment on this article? Start a discussion in my public inbox by sending an email to ~skeeto/ [mailing list etiquette] , or see existing discussions.

null program

Chris Wellons (PGP)
~skeeto/ (view)