Generation of advanced Escher-like spiral tessellations

In this paper, using both hand-drawn and computer-drawn graphics, we establish a method to generate advanced Escher-like spiral tessellations. We first give a way to achieve simple spiral tilings of cyclic symmetry. Then, we introduce several conformal mappings to generate three derived spiral tilings. To obtain Escher-like tessellations on the generated tilings, given pre-designed wallpaper motifs, we specify the tessellations’ implementation details. Finally, we exhibit a rich gallery of the generated Escher-like tessellations. According to the proposed method, one can produce a great variety of exotic Escher-like tessellations that have both good aesthetic value and commercial potential.

ing a lone furrow, more like a playful child hiding in the cellar playing visual games on his own. The art world essentially did not pay much attention to him at all, although he was recognized internationally, from as far back as 1934, at the Art Institute of Chicago, when he won the third prize for his lithograph Nonza. However, when Escher subsequently moved on to the mathematical art for which he later became renowned, beginning in 1936 (disregarding some initial studies of 1922 or 1923 that were abandoned), he was still essentially ignored by the art world for many years, indeed, if not dismissed entirely, due to the overt mathematical nature of his work. Indeed, it was only much later, in the early 1950s, before Escher gained international fame, with articles in The Studio [30], Time [1,3], Life [2] and an exhibition at the Stedelijk Museum, Amsterdam (1954). Widespread interest in him skyrocketed in the late 1960s, and onwards. Today, Escher's art has found new admirers from around the world. Evidence of this is that the most popular art exhibit in the world in 2011 was "The Magical World of Escher", in Rio de Janeiro, Brazil, viewed by over 500 000 people. In his native Netherlands, Escher is recognized as the 37th greatest Netherlander [5] amid other honours in recent polls [4].
Art and mathematics are popularly assumed to be distinct subjects, as far apart as is possible. Many people believe that art creation is closely related to "feeling", where rational thinking can only restrict the full play of artistic talent. In contrast, mathematics is purely a cold, logical, non-feeling process without any creative input. However, Escher merged these aspects. Both art and mathematics can be seen in the creation process of Escher. (Without additional explanation, all Escher's artworks mentioned in this paper refer to his works of mathematical meaning.) This makes his artworks resonate strongly among mathematicians, scientists, artists, and laypeople alike. Further, the wonderful visual impact of the artworks could also be accepted and experienced, even by children. Trends and fashion in art might change along with human civilisation's progress, but the truth of mathematics never fades. As the noted English pure mathematician, Godfrey Harold Hardy (1877-1947) once said: "Archimedes will be remembered when Aeschylus is forgotten, because languages die and mathematical ideas do not. 'Immortality' may be a silly word, but probably a mathematician has the best chance of whatever it may mean" [15]. As people pay more and more attention to mathematics, art, aesthetics, and intelligence education, Escher's artworks have attracted more and more mathematical attention, building on his legacy with tools not available in his day, specifically of the computer: Escherization [19], 3D Escher-like tessellations [16,36], Metamorphosis [17], Escher transmutation [23,31], hyperbolic tessellations [26,32,34], and f -tilings [25]. On the other hand, a common shortcoming of computergenerated patterns to laypeople is that they lack interest, of an abstract nature, and so are thus of less obvious appeal [21,24,29], whereas with a recognisable motif, as Escherlike, there is thus an obvious point of interest. However, trying to compose original Escher-like art to the same standard as Escher is not easy. Save for a few artists, the resulting tessellations are typically far below the standards of Escher's own works. However, it should be pointed out that Escher's artworks also possess some "mathematical" shortcoming in terms of accuracy, caused by the impossibility of drawing identical motifs one after the other by the hand; inadvertent imperfections arise. Admittedly, the differences are slight, but they still exist. This has implications when trying to adapt this type of rendering by computer.
Escher's interest in the spiral, of both tessellation and itself, was quite extensive, especially of the mid-to-late 1950s. Seven overt works on the theme are identified, including "Development II" (1939), "Whirlpools" (1957), "Path of Life I" (1958), "Path of Life II" (1958), "Sphere Surface with Fish" (1958); a mural for the Aula of funeral service building in Utrecht (1958), and "Sphere Spirals" (1958) [12]. Except for "Sphere Spirals", all consist of animal motifs. "Whirlpools" in style and concept can be described as the nearest relation to our work here. In turn, these artworks inspired many studies devoted to the creation of computer-generated spiral patterns [6,8,11,27,28,35]. However, although spiral tilings are very decorative, there is extremely little mathematical literature on the subject (as against studies of the spiral itself), as first pointed out by Grünbaum and Shephard [13], which might otherwise have been thought studied much more than has happened. This is Fig. 1 Examples of Escher-like tilings generated with software available in [18]. On the left, we see a periodic tiling that later is transformed by the antiMercator mapping to the spiral tiling in the right possibly related to the difficulties of defining a spiral tiling, which is surprisingly troublesome [14]. Indeed, it is still open to a degree even in 2017, with a paper by Bernhard Klaassen [20]. The first tiling related work is by Heinz Voderburg, as relatively recently as 1936 [33]. It should also be noted that there has been very little either on Escher-like spiral tessellations. The first after Escher appears to be by Andrew Crompton, who shows a bird tessellation based on the Voderburg tile as recently as 1989 [9]. Recently, also in 2017, there is a new application titled iOrnament Crafter for the iPad from Jürgen Richter-Gebert, which automatically deforms a given unit of an Escher-like tessellation into a spiral. Examples can be seen by the Escher-like tessellation artist Francine Champagne [7].
In [18], Kaplan introduced a simple method of generating Escher-like spiral tilings. The method is divided into two steps. In the first step, an image with a periodic tiling is generated, and in the second step, the image is transformed by the antiMercator mapping [10]: Examples of tilings generated with the software available in [18] are presented in Fig. 1.
In this paper, we propose a direct method of constructing Escher-like spiral tilings. The proposed method generates tilings with a precise symmetrical structure (defined by a proper symmetry group) and can be implemented using shaders. Moreover, using computer graphics, with Escherlike tessellation templates, by David Bailey (hand-designed) and Alain Nicolas (computer-designed), we will present a simple, computer-driven method to generate elegant Escherlike spiral tessellations.
The remainder of this paper is organized as follows. In Sect. 2, we first use the tool of a symmetry group to construct spiral tilings of the cyclic symmetry. Based on it, we then introduce three conformal mappings to yield interesting derived spiral tilings. In Sect. 3, to obtain Escher-like spiral tessellations, we use pre-designed wallpaper motifs to render the resulting spiral tilings, and in Sect. 4, we present a rich gallery of Escher-like spiral tessellations. Next, in Sect. 5, we compare of our method with the method introduced by Kaplan in [18]. Finally, we conclude the paper in Sect. 6 and show some future directions.

Construction of cyclic spiral tilings and derived spiral tilings
In this section, we first consider spiral tilings of cyclic symmetry shaped by the logarithmic spiral. Then, based on the cyclic spiral tilings, we introduce several simple conformal mappings to construct derived spiral tilings.

Cyclic spiral tilings
The logarithmic spiral is a spiral whose polar equation is given by where θ ∈ R and k ∈ R + . The k parameter determines the rate of growth. The spiral has the property that the angle α between the tangent and radial line at any point of the logarithmic spiral is constant. Moreover, the angle α and the parameter k are related to each other by the relationship k = cot α. Examples of logarithmic spirals for various values of k are presented in Fig. 2.
and spiral arcs Let C be the complex plane, and arg(z) ∈ [0, 2π ] be the main argument of z ∈ C. Then, in the Cartesian coordinate system, the F k (M, N ) region can be expressed as Define two transformations ϕ and ψ from C to C as where i = √ −1. According to the Euler's formula e iθ = cos θ +i sin θ , it is clear that ϕ is a counterclockwise rotation of 2π N about the origin. Note that ψ can be rewritten as

Fig. 4
The construction of the spiral tiling of the G 0.15 (9, 3) symmetry using (12). To simplify the notation, we denote-in the image-the Now, we clearly see that the effect of ψ is equivalent to first a scaling transformation with a scale factor e − 2π M k < 1 (i.e., reduction transformation) followed by a clockwise rotation of 2π M about the origin. Consequently, essentially ψ is a clockwise spiral reduction.
Consider an infinite Abelian symmetry group G k (M, N ) generated by ϕ and ψ, namely G k (M, N ) = ϕ, ψ . Next, we consider the action of the tile be the region tiled by F k (M, N ). Note that geometrically is a counterclockwise spiral expansion (with the scale factor e 2π M k > 1). Thus, A consists of tiles obtained by a continuously spirally reducing and expanding tile F k (M, N ). Therefore, geometrically A is a spiral arm. On the other hand, by the definition of A and F k (M, N ), we see that ϕ q (A) (q = 0, 1, . . . , N − 1) perfectly cover C without gaps or overlaps. More precisely, Equation (12) gives a concise approach for constructing spiral tilings of cyclic symmetry, see Fig. 4 for an example presenting a spiral tiling of the G 0.15 (9, 3) symmetry. Given k ∈ R + , integers M ≥ 2 and N ≥ 2 satisfying N |M, by the method described above, one can construct a  2 (12, 6) N ) tiling, i.e., it is a connected set whose transformed copies under the action of a symmetry group cover the entire space without overlapping, except at boundaries.
The spiral tiling G k (M, N ) is defined by three parameters k, N , and M. These parameters give an easy way to change the structure of the tiling. In Because under the action of the symmetry group G k (M, N ) (see equation (12)). To generate Escher-like spiral tessellations, we need a fast algorithm that transforms the given z ∈ C * \F k (M, N ) to a corresponding point z 0 ∈ F k (M, N ). The algorithm can be divided into the following four steps: M . 2. Suppose e 2n 2 kπ ≤ z 1 ·e − arg(z 1 )(k+i) ≤ e 2(n 2 +1)kπ for certain n 2 ∈ Z. (Note that z 1 ·e − arg(z 1 )(k+i) is a real number.) Let n 2 = ln |z 1 |−k arg(z 1 ) 2kπ and z 2 = z 1 · e − arg(z 1 )(k+i) · e −2n 2 kπ . Then, z 2 ∈ [1, e 2kπ ] is a real number. 3. Let n 3 = z 2 · e − 2kπ N ∈ Z + and z 3 = z 2 ·e − 2n 3 kπ N . Then, For convenience, we summarize the algorithm as pseudocode in Algorithm 1.

Derived spiral tilings
A mapping is conformal (angle preserving) at a point if it preserves oriented angles between curves through the point with respect to their orientation. Conformal mappings preserve angles and shapes of infinitesimally small figures, but not necessarily their size. Now, we introduce three conformal mappings with the help of which we can easily construct derived spiral tilings.
Let 2 and 3 be, respectively, mappings from C to C defined as It is easy to check that the one-to-one linear rational transformation mapping 2 maps i to 0 and −i to ∞, whereas 3 is a periodic mapping about the real axis with the period π . Note that C j = {z * ∈ C|z * = j (z), z ∈ C} for j = 2, 3 are complex planes reshaped by the mappings j . Given a group G k (M, N ), for all z * ∈ C j , by Algorithm 1, we can transform z * into a symmetrically placed point z 0 ∈ F k (M, N ). Thus, similar to the construction of spiral tilings shown in Fig. 4, we can produce derived spiral tilings characterized by G k (M, N ) and j that have two or more spiral whirlpools, see the examples demonstrated in Fig. 6b, c.

Generation of Escher-like spiral tessellations
By wallpaper template, we mean a rectangle motif that possesses periodicity along the horizontal and vertical directions. The periodicity thus enables people to decorate the whole plane with only one pre-designed wallpaper template. For this convenience, the decorative application of wallpaper motifs can be found in almost all ancient civilizations. In this section, using pre-designed wallpaper motifs, we specify some implementation details of the Escher-like spiral tessellations. Assume T is a pre-designed wallpaper template defined in [0, s] × [0, t], S is a spiral tiling characterized by the symmetry group G k (M, N ). The spiral tiling is defined in the whole complex plane, but we restrict it to a certain area [a, b] × [c, d] in which we will draw the Escher-like spiral tessellation.
Let z = x + yi with x ∈ [a, b] and y ∈ [c, d]. We first transform z by one of the conformal mappings j introduced in Sect. 2. Then, by Algorithm 1, we find the symmetrically placed point z 0 ∈ F k (M, N ) of j (z). Denote by θ = arg(z 0 ) and r = z 0 · e −θ(k+i) ∈ [1, e 2π N ]. Now, we need to map z 0 to the area in which the template T is defined, i.e., [0, s] × [0, t]. For this aim, we define  (M, N ).
For convenience, we summarize the pseudocode in Algorithm 2 for rendering Escher-like spiral tessellations. In the algorithm, as the input, we give the parameters defining the spiral tiling (k, M, and N ), one of the conformal mappings ( 1 , 2 , or 3

), a wallpaper template (T ), and the area ([a, b]×[c, d])
in which the generated tessellation should be drawn. As a result, we obtain an Escher-like spiral tessellation. In the algorithm, if we use (z) = z instead of one of the three conformal mappings, then we obtain an Escher-like spiral tessellation of cyclic symmetry. To obtain a high level of parallelism, we use computations on the GPU (graphics processing unit). For this purpose, we can use, for instance, OpenGL and GLSL (OpenGL Shading Language). When using OpenGL and GLSL, we divide the computations into two shaders, namely vertex and fragment shader. First, we draw a single rectangle with texture coordinates of the vertices set to (0, 0), (1, 0), (1, 1), and (0, 1). In the vertex shader, we compute the coordinates of the corners of the area [a, b] × [c, d] by using the texture coordinates. The rasterizer will automatically compute the coordinates of the other points, and they will be the input for the fragment shader. In the fragment shader, we place the computations from lines 4-10 of Algorithm 2. The template T is sent to the fragment shader as a texture. hand-designed templates. In practice, it is very hard by hand to design a perfect wallpaper template that meets the translation periodicity of the wallpaper group. Escher's works also suffer from the same shortcoming. For example, it seems that the template marked in the red box of Fig. 10a satisfies translational symmetry. However, the resulting tessellation displayed in Fig. 8a exists ugly discontinuous stripes, see the regions marked in the magenta boxes of Fig. 8a. Figure 7b is constructed by the template cut from Fig. 10b. Checking the tessellation carefully, one can also find some tiny discontinuous stripes, although the translational symmetry of Fig. 10b is treated very well. One of the special advantages of the hand-designed template is that the resulting Escherlike tessellation possesses outstanding artistic merits, which shows the effect close to real artworks.
In Figs. 11, 12 and 13, we demonstrate nine Escher-like spiral tessellations in which the employed wallpaper motifs are all computer-designed templates. There is no doubt that both hand-designed and computer-designed templates require a very high level of design skill. However, compared with the former, computer-designed templates possess some special conveniences. For example, one can adjust or revise the templates on the computer conveniently so that Fig. 8 a An Escher-like bird tessellation of G 0.25 (12, 2) symmetry based on mapping 2 by the wallpaper template cut from Fig. 10a. b An Escher-like two birds tessellation of G 0.3 (10, 5) symmetry based on mapping 2 . Because the employed wallpaper templates do not strictly satisfy the translational symmetry, the regions marked in the magenta boxes show that these two tessellations have some existing flaws Fig. 9 a An Escher-like fish tessellation of G 0.12 (14, 2) symmetry based on mapping 3 . b An Escher-like fish tessellation of G 0.25 (16, 2) symmetry based on mapping 3 Fig. 10 The wallpaper templates marked in the red boxes of figures  (a, b) are, respectively, used in constructing Escher-like tessellations shown in Figs. 7b, 8a   Fig. 11 a An Escher-like spherical frog tessellation of G 0.3 (20, 4) symmetry based on stereographic projection. b An Escher-like spherical climber tessellation of G 0.2 (9, 3) symmetry based on stereographic projection. c An Escher-like spherical pterosaur tessellation of G 0.3 (24, 6) symmetry based on stereographic projection. d An Escher-like spherical fish tessellation of G 0.35 (24,6) symmetry based on stereographic projection they satisfy the accurate translation symmetry, as shown in Figs. 11, 12 and 13. Moreover, by revising the computerdesigned template slightly, one could obtain rich Escher-like tessellations of completely different styles, for instance, see Fig. 13.
To achieve a better aesthetic effect, one needs to choose a proper parameter combination of G k (M, N ) so that the resulting tessellation be as beautiful as possible. Unfortunately, given a wallpaper template T , generally speaking, Fig. 12 a An Escher-like Pegasus tessellation of G 0.25 (12, 2) symmetry based on mapping 3 . b An Escher-like fish tessellation of G 0.2 (9, 3) symmetry based on mapping 2 there is no universal way to indicate how to set parameters k, M, and N , which largely depends on T . We next introduce the geometrical meaning of k, M, and N .
Back to the spiral tilings shown in Fig. 5, it is clear that the parameter N represents the number of spiral arms in a tiling. By the cases demonstrated in Figs. 14 and 15, we next explain the function of the parameters k and M. First, by fixing k = 0.18 in Fig. 14, we see that the larger the M, the higher the density of the wild goose. Thus, the function of M features the density of motifs in a tessellation. Second, by fixing M = 15 in Fig. 15, we see that the larger the k, the more obvious the spiral is. Therefore, k depicts the size of the spiral force in a tessellation.

Comparison of methods
In Sect. 4, we presented many examples of Escher-like spiral tessellations generated by the proposed method. In the literature, there is no description of a complete method of generating patterns in a similar style to the Escher-like presented by us. We can find various images of Escher-like spiral tessellations on some websites [7,22,32], but the authors did not explain the algorithms in details. We can only guess the methods used. Thus, we cannot present a detailed comparison with those methods. The only work in the subject of Fig. 13 a An Escher-like bee tessellation of G 0.45 (12, 3) symmetry based on mapping 2 . b An Escher-like bee tessellation of G 0.25 (12,4) symmetry based on mapping 3 . c An Escher-like bee tessellation of G 0.25 (12, 2) symmetry based on mapping 2 . These tessellations are obtained by revising a same computer-designed bee template slightly Escher-like spiral tessellation that contains the algorithm's description is the one from Kaplan [18].
The method presented by Kaplan generates only line tilings, but Kaplan mentions that "this technique would work exactly the same on fancy Escher-like tilings with varying colours, internal details, and other artistic devices" [18]. However, he did not present any example of such tiling. Therefore, to compare our method with the one from Kaplan, we need to slightly modify our method so that it also generates line tilings. We do so by using (z) = z and modifying line 10 of Algorithm 2. To colour the given point, we do not use a texture with the motif, but based on the values of u and v, we decide whether the point is near the boundary (dark colour) or inside (light colour) the tile.
Both methods use shaders in the generation process, but there are some differences. Our method is fully implemented in shaders, i.e., all the calculations needed to obtain the tilings are made in shaders, and the tiling is generated directly. In Kaplan's method, the generation is divided into two steps. In the first step, an image with a periodic tiling is generated. This is made on the CPU side, and the texture is then sent to shaders. In the second step, which is performed in shaders, the texture is transformed by the antiMercator mapping. Now, let us see the visual differences between the methods. In Fig. 16, examples of Escher-like tilings generated by Kaplan's method are presented, whereas in Fig. 17, exam- ples generated by the modified Algorithm 2. Because there is no one-to-one correspondence between the parameters used by both methods, so when generating the tilings, we tried to obtain similar tilings. When in Fig. 16a we look at the tiling's edges near the boundary, then we can notice blurry edges (see the areas marked in red). This is due to the fact that we transform the image with the periodic tiling, and to magnify it, we use interpolation. Thus, the quality of the tiling depends on the resolution of the periodic tiling image. If we look at the corresponding tiling generated by our method (see Fig. 17a), then all the edges are sharp, and there is no blurriness. This is the consequence of the fact that all the calculations are performed in the shaders, and we do not use any additional images/textures. Moreover, when we look at the tilings in Figs. 16 and 17, we immediately see one visual difference. Namely, in the tilings generated by Kaplan's method, all the edges are spirals, whereas, in our method, we see spiral and straight edges. The straight edges are part of the tiling's construction, so using our method, there always be such edges in the generated tiling.
Of course, there is one drawback of our method. Namely, in our method, we use tiles of the same type, whereas, in Kaplan's method, we can use various plane tilings to obtain very interesting results. For instance, in Fig. 18, we see two examples of Escher-like tilings generated with Kaplan's method using various plane tilings. However, for such tilings, it is hard to design a proper motif in Escher style.

Conclusions
In this paper, we presented several strategies to obtain Escherlike spiral tessellations. To this end, we first introduced a way to construct spiral tilings of cyclic symmetry. The proposed method generates the spiral tiling in a direct way, and it is easy to implement with shaders. Next, we gave three simple conformal mappings to yield derived spiral tilings with whirlpools. Finally, to create Escher-like tessellations, we described how to embed a pre-designed wallpaper template into tiles of the considered spiral tilings and specified implementation techniques to realize Escher-like spiral tessellations in detail.
The accurate mathematical algorithms ensure the obtained spiral tessellations have a precise geometrical structure, which avoids the common manual error. On the other hand, to enhance the resulting Escher-like tessellations' aesthetic, we employ as beautiful as possible wallpaper templates. We realize that the quality of the template decisively contributes to the aesthetic level of the tessellation.
Generally speaking, Escher-like spiral tessellations with hand-designed templates perform better since the resulting tessellations reflect traditional art, though almost everyone has more or less manual errors between adjacent spiral tiles.
Keep in mind that one should draw the wallpaper template very carefully. In practice, we found that even a line of pixel error would lead to infinite incongruous gaps. In contrast, computer-designed templates could avoid this deficiency easily. However, spiral tessellations by computer-designed templates appear to be relatively rigid and mechanical, thus lacking the vitality of more traditional art drawn by hand. If we first use a computer to outline an accurate wallpaper template, we can then fill it with colour manually. This could avoid the above two defects. This is the work we want to carry out in the future.
The tessellations created in this paper have good aesthetic value and commercial potential. We have produced some Fig. 19 a The left porcelain tessellation (35 cm × 20 cm) was rendered in Fig. 12b; the right porcelain tessellation (50 cm × 50 cm) was rendered in Fig. 11a ]. In other words, they have exactly one cycle in the horizontal direction. The treatment has special advantages when making vases since two edges of the curled tessellations on the cylindrical surface can combine perfectly, see Fig. 19b. In the future, we plan to generate better Escher-like spiral tessellations and try to fire more exquisite porcelains.

Conflict of interest
The authors declare that they have no conflict of interest.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecomm ons.org/licenses/by/4.0/.