Algorithms for Morphing Escher-Like Tessellations

Year: 2015 Authors: Kevin D. Lee

Core claim

Interactive cubic-spline path editing gives artists finer control over tile morphs and avoids overlaps and bulges better than purely automatic methods.

Topics

Escher-like tessellations, tile morphing, interactive path editing, parquet deformation

Domains

computational geometry, interpolation, parametric curves, polygon blending, generative art, tessellation design, digital fabrication, visual animation

Methods

linear interpolation, Sederberg-style shape blending, turtle graphics, affine transformation, cubic spline editing

Media

TesselManiac! software, wooden chessboard, laser cutter, animated tile frames

Paper text

The text below is the locally extracted OCR/Markdown version of the paper. Raw PDF files remain local and are not published here.

Proceedings of Bridges 2015: Mathematics, Music, Art, Architecture, Culture

Algorithms for Morphing Escher-Like Tessellations

Kevin D. Lee

Math/CSCI Department

Normandale Community College

9700 France Avenue

Bloomington, MN, 55431, USA

E-mail: kevin.lee@normandale.edu

Abstract

Inspired by the way M.C. Escher combined metamorphosis and regular division in his art, I explore linear and nonlinear algorithms that automatically morph tiles from the base polygon to a final shape. The morphing can be visualized as an animation or as a parquet deformation.. The final algorithm involves an interactive cubic spline, path-based editor that gives the artist fine control over the intermediate morph frames.

In his print, Development I, M. C. Escher shows the visual development of an outer ring of squares morphing through several intermediate rings into a inner ring of four lizards [4, page 30]. Inspired by Escher’s print I used TesselManiac! [6], a software program I wrote for creating Escher-like tessellations, and a laser cutter to create a wooden chessboard (Figure 1). The chessboard was part of the art exhibit during Bridges 2014. I was not entirely pleased with the result so I have been researching and refining algorithms for morphing the base tile to the final shape in TesselManiac! The morphing can be seen on screen as an animation in real time or spatially as the tile evolves along a linear dimension as shown in Figure 7. So far, three different algorithms have been implemented. Much of my work has been based on Doris Schattschneider’s book Visions of Symmetry [4] and two Bridges papers by Craig Kaplan, see [2,3].

img-0.jpeg Figure1: Escher inspired chessboard shown at Bridges 2014

To understand the morphing algorithms in Tesselmaniac! I first need to explain the tile editor. It allows the user to create their own Escher-like tessellations by choosing a tile type from one of 36 isohedral types based on an extended Heesch notation [5]. The user is presented with a fundamental polygon, which they can modify, by adding and dragging control points that reshape the edges. The edges are constrained by the geometric rules of the tile type. There are two types of control points the user can insert: sharp or smooth. Figure 2 shows the initial polygon for a Heesch TTTT tile. In Figure 3 the user

Lee

has added sharp points to the top edge, the bottom edge is a translated copy of the top. Figure 4 shows the piecewise cubic spline curves that result from adding two smooth points (and one sharp point) to the left edge. It is worth noting that Figure 4 is really a polygon, the program approximates the curves by adding additional hidden points.

img-1.jpeg Figure 2: The initial tile.

img-2.jpeg Figure 3: Sharp points have been added to the top edge and automatically to the bottom edge.

img-3.jpeg Figure 4: Smooth points have been added to the left edge and automatically to the right edge.

I should also note that in the tile data structure, half the control points are master points and the remaining half are transformed copies of the master points. The transformations are based on the tile type. The goal of a morphing algorithm is to generate intermediate polygons that deform smoothly from the initial to final polygon (tile). To illustrate the morping algorithms, I use an elephant tile (Heesch Type TCCTC) based on Curly Elephants by Bruce Bilney [1]. The tile is based on an underlying pentagon as shown in Figure 5. TesselManiac! includes drawing tools to add interior details to the tile, currently I do not morph these interior details.

img-4.jpeg Figure 5: Bilney’s Elephant and Initial Pentagon

img-5.jpeg Figure 6: Linear Morph Paths

In all of these algorithms moving the master control points generate the intermediate frames. The master points on final edge need to be connected with points on the initial edge; determining the location of these starting points is a problem in itself. A simple method is to equally space the points along the initial edge. For the algorithms in this paper I use a slightly more complicated method; the starting points are proportionately spaced based on the distance between corresponding points on the final edge.

Figure 6 illustrates the first algorithm, based on linear interpolation. Each master point on the final tile is connected to a point on the corresponding edge of the initial polygon by a line. A time parameter is introduced. The equations of the lines are expressed in parametric form with and being linear functions of . At we get the points for the initial polygon, at we get the final polygon. Intermediate frames are generated by values of between 0.0 and 1.0.

Algorithms for Morphing Escher-Like Tessellations

img-6.jpeg Figure 7: Linear Morph

img-7.jpeg Figure 8: Sederberg’s Morph

img-8.jpeg Figure 9: User-Paths Morph

The linear algorithm is simple and often gives nice results but the elephant tile illustrates a fatal flaw: intermediate frames often have edges that intersect where the parametric lines cross. See Figure 7 for examples of overlap of the elephant trunks.

For the second method I adapted an algorithm by Sederberg et al [7] for 2D shape blending. Sederberg’s algorithm was developed for blending polygons. For morphing tiles the problem simplifies to blending two polylines (tile edges) that share endpoints. Following the spirit of Sederberg’s algorithm I describe a polyline using turtle graphics. From the coordinates of the points of the polyline I calculate an initial direction, distances and turn angles that describe the path a turtle would take to trace the polyline. I interpolate the turtle parameters from start edge to final edge to generate a turtle path for the intermediate polylines. The endpoint of an intermediate turtle path often does not interpolate the final point, to solve this I use an affine transformation to scale and rotate the intermediate polyline to match at the endpoint.

Sederberg’s algorithm is illustrated in Figure 10. For most tiles this algorithm solves the intersecting edges problem but often the tiles are not aesthetically pleasing. In this particular case, as you can see from the paths the points trace, several of the tail points swing in wide arcs making the tail bulge in the intermediate frames. Figure 8 illustrates the bulging tail problem.

Lee

img-9.jpeg Figure 10: Paths from Sederberg’s Morph

img-10.jpeg Figure 11: User Edited Paths

Figure 11 illustrates my final algorithm, user paths. Initially the paths are taken from the linear algorithm but the artist can click and drag to reshape the paths using spline curves. They can also edit the starting point on the initial edge. The editor includes a slider that runs from 0.0 to 1.0 so they can see intermediate frames as they edit the paths. The edited paths for the tail points in Figure 11 illustrate the ability the artist has to control the way the tail grows. The user can shape the paths to avoid the overlap problem and make the intermediate frames aesthetically pleasing (No unsightly bulges!), see Figure 9. Using spline curves is a common trick in generating paths for morphing graphics, but as far as I know TesselManiac! is the first software to apply it to morphing isohedral tiles.

Figures 7, 8, and 9 illustrate the three morphing algorithms and related problems. In the linear morph algorithm you can see several intermediate tiles where the trunks overlap. In Sederberg’s morph you can see the bulging tail. The final algorithm gives the user the ability to create an aesthetically pleasing morph with no overlapping edges as shown. The Escher lizard chessboard, Figure 1, was created using Sederberg’s algorithm. I intend to create another version using a user-path morph of the lizards, perhaps for Bridges 2016!

References

[1] Bruce Bilney, Curly Elephants Tessellations, http://www.ozzigami.com.au/tessellations. (as of April 20, 2015) [2] Craig S. Kaplan. Curve Evolutions Schemes for Parquet Deformations. In Bridges 2010: Mathematical Connections in Art, Music and Science, pages 95-102, 2010. [3] Craig S. Kaplan. Metamorphosis in Escher’s art. In Bridges 2008: Mathematical Connections in Art, Music and Science, pages 39-46, 2008. [4] Doris Schattschneider. M.C. Escher: Visions of Symmetry. Harry N. Abrams, second edition, 2004. [5] Kevin D. Lee. Tile Types in TesselManiac, http://www.tesselmaniac.com/tess/Tile_Types., (as of April 20, 2015) [6] Kevin D. Lee TesselManiac! 2014 http://www.tesselmaniac.com (as of April 20, 2015) [7] Thomas W. Sederberg, Peisheng Gao, Guojin Wang, and Hong Mu. 2D shape blending: An intrinsic solution to the vertex path problem. In James T. Kajiya, editor, Computer Graphics (SIGGRAPH ‘93 Proceedings), volume 27, pages 15-18, Aug 1993

0 items under this folder.