The infinitely zooming random fractal

Another Amiga-based effect living in your browser, written by Antti Lankila.

zoom: rotation:

Short description of operation

The canvas image is divided into 32x32 pixel pieces, of which there are 17 in x and y directions.

During each frame, the center is generally held stationary, and the image pieces around the center perform a linear combination of rotation and zoom movement. You can adjust the coefficients of these two vector fields.

This alone wouldn't work very well. To produce intermediate motion directions, the field is dithered. This is done by adjusting the center tile's position by 0 to 31 pixels. The adjustment is rapidly changed between each frame, and must systematically feel each offset. The only sequence that will work in practice is one produced by bit reversal of a 5-bit counter: 0, 16, 8, 24, etc. As a side effect, this will produce a rapid motion to the adjustment direction, but this is compensated for when stitching the next frame together. However, it causes graphics to jitter around the edges of the effect, and thus part of the effect must be masked under a clipping rectangle. (You can actually see an artifact at the top edge.)

Any image can be used as the basis for zooming. Some early, crafty demosceners used static shots of Mandelbrot fractal to fake rapid zooming into the set. In truth, the detail is generated by long-term accumulation of rounding errors with respect to the precise pixel positions. In this image, the colors are chosen by a random walk in the RGB color space in the 2x2 center region.