Wherein I try to reverse engineer a mysterious space-filling curve of unknown author from the 1960s.

One of my white whales was this ‘Stained Glass Window’ piece published in Computers and Automation in 19631. It was the second place winner in the first ever computer art competition ran by the magazine.

Stained Glass Window as seen in the August 1963 Computers and Automation magazine

We don’t know who the artist was, it only cited the US Army Ballistics Research Lab as its origin2. It looks like a space filling curve, not unlike the Sierpinski’s curve from before, but decidedly unique with their cross-like recursive corners.

I spent a long time trying to recreate this fractal. We know for sure it was generated as a fractal because it was described in the magazine as an area-filling curve. It was also published in H.W. Franke’s Computer Graphics Computer Art in 1971, citing the “principle of the ‘snow-flake’ curve”, a reference to the Koch snowflake. I love it when all my obsessions come together.

I talk about my reverse engineering process here:

But basically my approach was by drawing each edge of the cross as a spade-like shape. Recurse on each line with smaller spades. Please watch the video for a better explanation. You can find the code here.

First 4 iterations of the stained glass window fractal from my implementation

I still think my implementation could be more elegant. I don’t like how I had to hardcode the drawing for each curve3. It more closely resembles the common Sierpinski’s implementation (with distinct drawing functions for each type of edge)4 than it does the subdivision approach.

Maybe I’ll revisit it again in the future. But if you’re reading this, consider this an invitation to write a more elegant solution. If you do, please write to me at sherminn [at] piratefsh [dot] net. Any comments, questions or corrections are welcome to me, just be nice and respectful.

  1. You can download it at http://bitsavers.trailing-edge.com/pdf/computersAndAutomation/196308.pdf. Bitsavers does amazing archival work. 

  2. It has been suggested to me that space-filling curves were likely explored as a way to cover an area for an attack, which is a chilling thought. 

  3. To clarify, I had to hardcode both the spade and the tube curves. 

  4. See ‘Existing Solutions’ on my last post on Sierpinski’s curve.