Number Zoom
12 Nov
This advanced sketch cross fades between two continuously zooming copies of the same image. The first one starts at 100% opacity, showing the image filling the frame of the window, and as it zooms out revealing little tiny copies of itself, it fades out.
The second layer starts at 0% opacity, with a gigantic zoomed-in version of the image. As it zooms out to where the image fills the frame, the opacity goes to 100%, matching the beginning state of the first layer.
The zooms are matched so that the large images appear to be constructed from the small images, but this is just an illusion. This illusion is heightened by making the source image contain little copies of itself:
This sketch is advanced, not because it is long (it isn’t that long), but because some of the lines require very specific ratios, in order to get things to line up correctly. It took a bit of trial and error to get the math right. A long sketch isn’t necessarily an advanced sketch (and it’s not uncommon for novices to write longer sketches than they need to).
This kind of sketch would be significantly easier to make (and look nicer) if Processing supported OPENGL’s texture wrap modes, which supports repeating textures across a surface. Since it doesn’t, I basically had to construct a bare-bones texture mapper that supports this feature.
Sketches like this one have an important property that leads to the perception of wonderment: your brain thinks it almost understands what is going on, but not quite. The sensation that you are about to figure out, followed by not actually figuring it out, creates a delightful sensation of wonder. This is a quality I often chase after in my advanced sketches.