Wednesday, February 4, 2009

Escherization


the Dutch graphic artist M.C. Escher created over a hundred ingenious tesselations in the plane. Some were simple and geometric, used as prototypes for more complex endeavors. But in most the tiles were recognizable animal forms such as birds, fish and reptiles. The definitive reference on Escher's divisions of the plane is Doris Schattschneider's Visions of Symmetry, now in a second edition.

It is based on three large components:
  • A parameterized space of tilings. We develop a parameterization of the space of isohedral tilings, a family of tilings that can express the designs Escher created. Every possible tile shape boils down to a sequence of real numbers. An interactive tool lets us modify these numbers in a natural way (corresponding to Escher manipulating drawings by hand). More importantly, we can direct the computer to search through possible sequences of numbers, trying to find good tilings by brute force.
  • A comparison function for shapes. We can dial up a collection of tile shapes using the parameterization above. We need to know how well each of these tiles approximates the goal shape provided by the user. We use a metric from the computer vision literature that efficiently finds the L2 distance between two polygons. Our objective then becomes to locate the particular tile shape that compares most favourably to the goal shape.
  • An optimization algorithm. We need a meaningful strategy for sorting through the large shape of possible tile shapes for the best one (the one that's closest to the goal shape). We use a simulated annealing algorithm from Numerical Recipes. When suitably tuned, it tends to find good tile shapes without getting stuck in objectionable local minima.



We might enjoy playing with the edges of shapes:


No comments: