Infinite Cat Zoom (2004)


The Infinite Cat Project is a crowd-sourced art project by Mike Stanfill that collects photos of cats looking at photos of other cats. Many people have contributed, making a chain. In each photo you see a bit of the previous one. It makes you wonder what it'd be like to fly through them all, so I put something together.


I collected the images with wget, then wrote an app to mark where the previous photo could be seen in each one. The markup was 4 points corresponding to the corners of the previous image. Here is a screengrab showing how the image on the left corresponds to the magenta region on the right:

I generated frames by taking each pair of images and blending the corners out to the corresponding points in the next image. For each blend frame I pulled a projective mapping from the 4 points. See p.18 of Paul Heckbert's 1989 master's thesis Fundamentals of Texture Mapping and Image Warping for details. I used this mapping to cross-blend neighboring images.

There were a few bumps along the way. Sometimes the target region would be obscured by a cat head so I had to guess where the corner should go. Other times, the region corners were outside the target image, so the markup had to support coordinates beyond the pixel range of the image. The images also had varying aspect ratio, which limited the usable area of some.

I have since found that you can do this sort of thing out of the box with modern compositing software like Nuke, but it was fun to work through things from the basics.

Source images copyright Mike Stanfill, Infinite Cat Project. Used with permission.