The Escher School of Fish

Einar W. Høst

Workshop (3 hours)

This workshop is based on the classic 1982 paper “Functional Geometry” by Peter Henderson. The paper shows the decomposition and reconstruction of Escher’s woodcutting “Square Limit”, a beautiful recursive tessellation of interleaving fish, using functional programming. We will use JavaScript as our implementation language as we follow in Henderson’s footsteps to create our own Square Limit as an SVG. We’ll see that framing a problem in the right way enables us to solve it in interesting and elegant ways. The problem in this case is the transformation and combination of pictures to form new and more complex pictures. If we think of an picture not as a collection of colored pixels but rather as a function from a bounding rectangle to a rendering, we can define simple yet powerful picture combinators that allow us accomplish our task with ease and elegance.

You do not have to be an experienced JavaScript programmer to follow this workshop. The tool requirements are minimal. All you need is an editor and a browser.