skip to main content
research-article
Open Access

Creation of Dihedral Escher-like Tilings Based on As-Rigid-As-Possible Deformation

Published:22 January 2024Publication History

Skip Abstract Section

Abstract

An Escher-like tiling is a tiling consisting of one or a few artistic shapes of tile. This article proposes a method for generating Escher-like tilings consisting of two distinct shapes (dihedral Escher-like tilings) that are as similar as possible to the two goal shapes specified by the user. This study is an extension of a previous study that successfully generated Escher-like tilings consisting of a single tile shape for a single goal shape. Building upon the previous study, our method attempts to exhaustively search for which parts of the discretized tile contours are adjacent to each other to form a tiling. For each configuration, two tile shapes are optimized to be similar to the given two goal shapes. By evaluating the similarity based on as-rigid-as possible deformation energy, the optimized tile shapes preserve the local structures of the goal shapes, even if substantial deformations are necessary to form a tiling. However, in the dihedral case, this approach is seemingly unrealistic because it suffers from the complexity of the energy function and the combinatorial explosion of the possible configurations. We developed a method to address these issues and show that the proposed algorithms can generate satisfactory dihedral Escher-like tilings in a realistic computation time, even for somewhat complex goal shapes.

Skip 1INTRODUCTION Section

1 INTRODUCTION

A tiling is the covering of the plane using one or more geometric shapes, called tiles, with no overlaps or gaps. In particular, tilings consisting of one or two shapes of tile are called monohedral and dihedral, respectively. Although tilings are often made up of simple shapes, it is also possible to construct artistic tilings with complex shapes. The Dutch artist M. C. Escher can be described as a master in creating artistic tilings made up of one or a few motifs, such as people and animals. Such artistic tilings are known as Escher tilings. Escher’s work has not only had an artistic impact but has also aroused interest in the mathematical structure of tiling [Grünbaum and Shephard 1987; Kaplan 2009]. These tiling theories revealed the constraints imposed on possible tile shapes and enable us to create Escher-like tilings. However, it is clear to see that designing artistic Escher-like tilings is a daunting task because it is difficult to find shapes that allow tiling while maintaining the recognizability of the motif. This difficulty will be even greater in the dihedral case than in the monohedral case because the former is more complex. However, the complexity of dihedral tilings can also be a source of increased appeal. For example, by using two motifs with contrasting meanings, such as angels and devils, as Escher actually did, a story can be told in the tiling.

In an attempt to generate monohedral Escher-like tilings semi-automatically, Kaplan and Salesin [2000] devised a problem called Escherization; given a goal shape G, the problem is to find a shape T that is as similar as possible to G and can tile the plane. To formulate this problem, they introduced parameterization of possible tile shapes for isohedral tilings, which is a class of monohedral tilings. The similarity between G and T was evaluated using an efficient polygon comparison metric [Arkin et al. 1991]. Because the formulated problem cannot be solved analytically, they developed a simulated annealing algorithm to solve the formulated problem. Other approaches based on metaheuristic algorithms for this problem can be found in Hisatomi et al. [2021] and Ono et al. [2014]; , 2015].

Koizumi and Sugihara [2011] formulated the Escherization problem in a mathematically tractable manner. In this formulation, G and T were represented as n-point polygons, where T was parameterized by a linear model for isohedral tilings. To measure the similarity between G and T, they employed the Procrustes distance [Werman and Weinshall 1995], which is a rotation- and scale-invariant distance metric defined by the sum of squares of the lengths between corresponding points of two polygons. With this formulation, the Escherization problem was reduced to a maximum eigenvalue problem. This formulation is interesting in the sense that the solution can be obtained analytically, and several enhancements to this approach have been proposed. Imahori et al. [2015] extended the Procrustes distance to its weighted version, which made it possible to emphasize the similarity in user-specified locations. Nagata and Imahori [2020] enhanced the parameterization of tile shapes to be more flexible, which allows for an exhaustive search of which parts of the tile shape boundary are adjacent to each other to form a tiling. Nagata and Imahori [2021] further enhanced this approach by introducing a similarity metric based on the as-rigid-as possible (ARAP) deformation technique [Sorkine and Alexa 2007]. In this method, G and T were represented by two triangular meshes with the same connectivity structure, and the similarity between them was evaluated as the deformation energy between G and T. Under this similarity metric, tile shapes can be generated by deforming the goal shape in physically plausible ways, which makes it possible to generate tile shapes with well-preserved local structures for complex goal shapes.

Kaplan and Salesin [2004] extended Escherization to dihedral tilings and devised a problem called dihedral Escherization; given two goal shapes \(G_1\) and \(G_2\), the problem is to find tile shapes \(T_1\) and \(T_2\) constituting a dihedral tiling that are as similar as possible to \(G_1\) and \(G_2\), respectively. They extended their simulated annealing algorithm developed for the Escherization problem to this problem. Kawade and Imahori [2015] tackled the same problem by applying Koizumi and Shugihara’s Escherization approach. Liu et al. [2020] also tackled this problem, but they extended their method to tiling three-dimensional object surfaces. Lin et al. [2017] and Sugihara [2009] worked on a problem similar to the dihedral Escherization problem for creating Escher-like tile transformations for dual shape perception, where tiling by one goal shape at one side gradually changes to tiling by the other goal shape at the opposite side. This problem essentially involves the dihedral Escherization problem because the center of such an artwork should be tiled with two types of shapes similar to the two goal shapes. In Lin et al. [2017], dihedral tilings were also created.

In this study, we aimed to extend Nagata and Imahori’s Escherization approach [Nagata and Imahori 2021] to the dihedral Escherization problem. The expected advantages over the previous approaches for creating dihedral Escher-like tilings are as follows. While Liu et al. [2020] and Lin et al. [2017] were limited to generating specific dihedral tilings called Heaven and Hell patterns (explained in Section 2.3), our method allows for more flexible generation of dihedral tilings, covering a wider class of dihedral tilings. Compared to Kaplan and Salesin [2004] and Kawade and Imahori [2015], our approach is similar in the sense that the class of dihedral tilings we consider, i.e., split isohedral tilings (explained in Section 2.3), is the same as in those papers. However, our method more systematically and exhaustively explores possible configurations for this class of dihedral tilings in a discretized search space. In addition to the advantages described above, our method generates two tile shapes to form a dihedral tiling by deforming the two goal shapes according to the concept of ARAP deformation, which makes it possible to form tile shapes with well-preserved local structures of the goal shapes.

In our approach, the problem itself can be formulated as a conceptually straightforward extension of Nagata and Imahori [2021] developed for the Escherization problem. However, in addition to evaluating the similarity between two pairs of tile and goal shapes based on the ARAP deformation energy, the energy function must be rotation and scale invariant for each pair. This makes the optimization problem to be solved more complex than in the monohedral case, and it is not clear whether the formulated problem can be successfully solved. In addition, this formulation suffers from a combinatorial explosion in the number of optimization problems to be solved. This problem stems from the fact that there are so many possibilities as to which parts of the boundaries of two tile shapes are adjacent to each other to form a dihedral tiling. While this diversity offers the potential to generate high-quality dihedral tilings, it is practically impossible to explore all possibilities in a straightforward manner. We propose a way to address this issue and obtain satisfactory results in a reasonable computation time.

The remainder of this article is organized as follows. In Section 2, Tiling theory, which is closely related to this study, is outlined. In Section 3, Nagata and Imahori’s Escherization approach is outlined. In Section 4, the dihedral Escherization approach proposed in this article is presented. In Section 5, we describe how to deal with the problem of huge computational complexity. In Section 6, experimental results are presented. In Section 7, limitations of our approach is discussed. In Section 8, contributions of this study are summarized.

Skip 2TILING THEORY Section

2 TILING THEORY

This section outlines the tiling theory related to our study.

2.1 Basis

Some of the shapes of tiles in a tiling may be congruent to each other. The smallest set of non-congruent tile shapes that make up a tiling is called the set of prototiles. A tiling consisting of k prototiles is called k-hedral. In particular, the cases of \(k=1\) and \(k=2\) are referred to as monohedral and dihedral, respectively.

Consider a repeating pattern in the plane. If a rigid motion of a figure still matches itself, then that motion is called a symmetry of the figure. For two congruent tiles A and B in a tiling, if a rigid motion that maps one onto the other is a symmetry of the tiling, A and B are called transitively equivalent. Transitive equivalence is an equivalence relation that partitions the tiles into equivalence classes called transitivity classes. When a tiling has k transitivity classes, it is called k-isohedral. In particular, the case \(k=1\) is referred to as isohedral.

2.2 Isohedral Tiling

Among monohedral tilings, the class of isohedral tilings is the simplest but flexible enough to represent most monohedral tilings we see in everyday life. According to the definition, every tile in an isohedral tiling is adjacent to its neighbors in the same way. This allows an isohedral tiling to be constructed by repeatedly translating one or a set of several adjacent tiles. For a more detailed description of isohedral tilings, see Kaplan and Salesin [2000] and Kaplan [2009].

Isohedral tilings can be classified into 93 different types [Grünbaum and Shephard 1987], referred to as IH1, IH2,..., IH93, based on the adjacency relationship between tiles. If the adjacency relationship is not considered (only possible tile shapes are considered), then the 93 isohedral types can be reduced to nine [Schattschneider 2004]. For each isohedral type, possible tile shapes can be characterized by a template. Figure 1 shows the templates for six of the nine isohedral types, while the remaining three were not used in this study (as explained in Section 4.4) and are omitted. For each isohedral type, the template is represented as a polygon, and the vertices and edges can be moved and deformed under the specified constraints to generate tile shapes, which can always tile the plane as long as there is no self-intersection. In the nine isohedral types, the edges of the templates are classified into two types depending on how they can be deformed, as follows:

Fig. 1.

Fig. 1. Templates of the six isohedral types used in this study. Pairs of opposite J edges marked with \(\wedge\) are parallel to each other. Other pairs of J edges are glide-reflection symmetric with respect to the x- or y-axis.

J edge:

It can be freely deformed as long as the paired J edge is deformed to the same shape, as suggested by the arrowheads.

S edge:

It can be freely deformed as long as it has 180-degree rotational symmetry.

Figure 2 shows an example of a tile shape generated from the template of IH4 (ignore the points in the template here). For each isohedral type, the adjacency relationship between tiles can be represented by arranging the template so that edges of the same type overlap each other; Figure 3 shows such an example for IH4 and IH3 (ignore the dotted lines and symbols \(U_1\) and \(U_2\) here).

Fig. 2.

Fig. 2. Template of IH4 represented as an n-point polygon ( \(k_1=6, k_2=4, k_3=6, k_4=4, k_5=5\) ) and an example of the tile shape obtained from this template. The original numbering ( \(1,2, \dots , n\) ) is partially denoted.

Fig. 3.

Fig. 3. Templates of split isohedral tiling based on IH4 and IH3, where the dotted lines represent splitting paths. For each isohedral type, the template is arranged according to the adjacency relationship when generating a tiling. The template on the right is Heaven and Hell patterns.

2.3 Dihedral Tiling

A dihedral tiling is at least 2-isohedral because differently shaped tiles necessarily belong to different transitivity classes. If a dihedral tiling is 2-isohedral, then, for each of the two prototiles, every tile is adjacent to its neighbors in the same way. In this sense, among dihedral tilings, 2-isohedral tilings have the simplest structure.

One straightforward way of generating dihedral tilings is to split every tile of an isohedral tiling into two shapes in the same way by adding a “splitting path” [Kaplan and Salesin 2004]. The resulting tiling, which is called a “split isohedral tiling,” is necessarily a dihedral tiling with the 2-isohedral property. A template of split isohedral tiling can be constructed from the template of any isohedral type by adding a line that starts and ends on the boundary of the template, where the added line can be freely deformed as long as no intersections occur. Figure 3 shows examples of the split isohedral tiling template based on IH4 and IH3.

The split isohedral tilings cover all dihedral tilings with the 2-isohedral property if the two prototiles occur in equal amounts. However, there also exist 2-isohedral dihedral tilings with different relative amounts of the two prototiles, which cannot be generated by the split isohedral method [Kaplan and Salesin 2004].

Among dihedral tilings with the 2-isohedral property, there are those with a special property where every tile is adjacent only to tiles of another shape, i.e., every A tile is completely surrounded by B tiles (and vice versa). This property allows A and B tiles to be painted in two different colors so that no two tiles of the same color are adjacent to each other. The class of dihedral tilings with this property is called Heaven and Hell patterns [Kaplan and Salesin 2004], named after Escher’s well-known dihedral tiling consisting of white angels and black devils.

Dress [1986] classified the Heaven and Hell patterns into 37 types, 29 of which can be represented as split isohedral tilings. These 29 types can be further summarized into twelve types by considering symmetric features as special cases of asymmetric features [Kaplan and Salesin 2004]. The templates of three of these types are constructed from the templates of IH1, IH2, and IH3 shown in Figure 1 by adding splitting paths. Figure 3 shows the template of Heaven and Hell patterns based on IH3, where the splitting path is placed so that the paired j edges are completely separated. Therefore, both ends of the splitting path are uniquely determined.

Skip 3ESCHERIZATION WITH ARAP DEFORMATIONS Section

3 ESCHERIZATION WITH ARAP DEFORMATIONS

We outline the mathematical formulations of the Escherization problem combined with the ARAP deformation technique [Nagata and Imahori 2021]. These are the basis of the proposed method for the dihedral Escherization problem. Some important variables, constants, and symbols, which are referenced in the description of the proposed method, are summarized in Table 1.

Table 1.
nNumbers of points of W (U)
\(n^{\prime }\)Numbers of inner points of \(\tilde{W}\) (\(\tilde{U}\))
\(W, \tilde{W}\)Goal shape given as a polygon and mesh
\(U, \tilde{U}\)Tile shape represented as a polygon and mesh
\({\mathbf {w}}, \tilde{\mathbf {w}}\)Coordinates of W and \(\tilde{W}\)
\({\mathbf {u}}, \tilde{\mathbf {u}}\)Coordinates of U and \(\tilde{U}\)
\(\mathbf {u^{\prime }}\)Coordinates of the inner points of \(\tilde{U}\)
\(\tilde{G}\), \(\tilde{T}\)See Equation (5)
G, \(G^{\prime }\), \(G^{\prime \prime }\)Submatrices of \(\tilde{G}\) (Equation (6))
T, \(T^{\prime }\)Submatrices of \(\tilde{T}\) (Equation (6))
\(G_I\), HSee Equation (8)
\(\tilde{V}\)See Equation (9)
  • Tilde notation indicates that it corresponds to all points of the mesh, prime notation to the inner points, and plain notation to the boundary points.

Table 1. Some Important Variables, Constants, and Symbols

  • Tilde notation indicates that it corresponds to all points of the mesh, prime notation to the inner points, and plain notation to the boundary points.

3.1 Formulations

Let the goal shape \(\tilde{W}\) be given as a triangular mesh. The number of points on the boundary of \(\tilde{W}\) is denoted as n, where these points should be arranged at approximately equal intervals and are numbered clockwise from 1 to n. The number of inner points of \(\tilde{W}\) is denoted as \(n^{\prime }\), where these points are arbitrarily numbered from \(n+1\) to \(n+n^{\prime }\). We denote the coordinates of the ith point of \(\tilde{W}\) as \(\mathbf {w}_i = (x^w_i, y^w_i)^{\top }\), and the coordinates of all points are represented as \(\mathbf {\tilde{w}} = {(x^w_1, y^w_1, \dots , x^w_{n+n^{\prime }}, y^w_{n+n^{\prime }})}^{\top }\). A tile shape \(\tilde{U}\) is also represented as a triangular mesh that has the same structure as \(\tilde{W}\). We denote the coordinates of the ith point of \(\tilde{U}\) as \(\mathbf {u}_i = (x_i, y_i)^{\top }\), and the coordinates of all points are represented as \(\mathbf {\tilde{u}} = {(x_1, y_1, \dots , x_{n+n^{\prime }}, y_{n+n^{\prime }})}^{\top }\). Figure 4 shows examples of \(\tilde{W}\) and \(\tilde{U}\). The vectors \(\mathbf {\tilde{w}}\) and \(\mathbf {\tilde{u}}\) are sometimes represented by (1) \(\begin{equation} \mathbf {\tilde{w}} = \begin{pmatrix} \mathbf {w} \\ \mathbf {w^{\prime }} \\ \end{pmatrix} \ \ \mbox{and} \ \ \mathbf {\tilde{u}} = \begin{pmatrix} \mathbf {u} \\ \mathbf {u^{\prime }} \\ \end{pmatrix}, \end{equation}\) where the vectors \(\mathbf {w}\) (\(\mathbf {u}\)) and \(\mathbf {w^{\prime }}\) (\(\mathbf {u^{\prime }}\)) are the coordinates of the boundary and inner points, respectively. The polygons consisting of the boundaries of \(\tilde{W}\) and \(\tilde{U}\) are denoted as W and U, respectively.

Fig. 4.

Fig. 4. Examples of the goal shape \(\tilde{W}\) and a tile shape \(\tilde{U}\) .

Possible tile shapes \(\tilde{U}\) are parameterized using templates of isohedral tilings, where only the boundary points are constrained by the template, while the inner points are freely moved. Figure 2 shows an example of the template of IH4 represented as an n-point polygon; exactly one point must be placed on every corner of the template, and zero or more points are placed on each edge of the template, but each pair of J edges must be assigned the same number of points. We denote the lengths (numbers of segments divided by points) of the edges as \(k_1, k_2\), ....1 The n points on the template are numbered clockwise from 1 to n, starting from one of the vertices of the template. We call this the original numbering.

The n points on the template can move freely under the constraints imposed by the template. For example, Figure 2 shows a tile shape U obtained by deforming the template. As in this example, the constraint conditions imposed by any template can be expressed as a homogeneous system of linear equations of the form \(A \mathbf {u} = \mathbf {0}\) with a matrix A [Koizumi and Sugihara 2011; Nagata and Imahori 2020]. Therefore, possible values of \(\mathbf {u}\) can be parameterized as the general solutions of this system in the form of (2) \(\begin{equation} \mathbf {u} = B \mathbf {\xi }, \end{equation}\) where B is a matrix and \(\mathbf {\xi }\) is a parameter vector.

Let I be a set of indices for the isohedral types and \(K_i \ (i \in I)\) be defined as the set of all possible configurations of \((k_1, k_2, \dots)\) for the template of IHi. For example, for IH4, template configuration is specified by \((k_1, k_2, k_3, k_4)\), from which \(k_5\) is automatically determined. As the matrix B depends on \(i \in I\) and \(k \in K_i\), we denote it as \(B_{ik}\). In addition, we consider n different numbering schemes for the n points of the template. Let \(J = \lbrace 1, 2, \dots , n\rbrace\) be a set of indices that specify the n different numbering schemes; if \(j \in J\) is selected, then the points of the template are renumbered such that the first point in the original numbering is assigned as j.2 Indices k and j specify the correspondence between the edges of the template and the boundary of the goal shape W. The matrix B also depends on \(j \in J\) and is denoted as \(B_{ikj}\), which is obtained from \(B_{ik}\) simply by cyclically shifting up the row elements.

To measure the similarity between the tile shape \(\tilde{U}\) and goal shape \(\tilde{W}\), a distance function based on the ARAP deformation technique [Sorkine and Alexa 2007] was developed. Let \(\mathcal {N}(i)\) be the set of points of \(\tilde{W}\) (\(\tilde{U}\)) connected to point i. For each point i of \(\tilde{W}\) (\(\tilde{U}\)), cell \(\mathcal {W}_i\) (\(\mathcal {U}_i\)) is defined by the edges between point i and its neighboring points \(j \in \mathcal {N}(i)\). The distance function is then defined by (3) \(\begin{equation} d^2_{IR}(\tilde{U},\tilde{W}) = \frac{1}{2} \sum _{i=1}^{n+n^{\prime }} \alpha _i \sum _{j \in \mathcal {N}(i)} {\left\Vert ({\mathbf {u}}_i - {\mathbf {u}}_j) - R_i ({\mathbf {w}}_i - {\mathbf {w}}_j) \right\Vert }^2, \end{equation}\) where \(R_i\) denotes a rotation matrix. For each point i, \(R_i\) is determined to minimize (4) \(\begin{equation} \sum _{j \in \mathcal {N}(i)} {\left\Vert ({\mathbf {u}}_i - {\mathbf {u}}_j) - R_i ({\mathbf {w}}_i - {\mathbf {w}}_j) \right\Vert }^2, \end{equation}\) which measures the degree of local deformation between \(\mathcal {U}_i\) and \(\mathcal {W}_i\). Therefore, this distance function is defined as the weighted sum of the degrees of local deformation over all cells, where \(\alpha _i\) is the weight assigned to the cells. The value of \(\alpha _{i}\) was set to 1.0 (\(1 \le i \le n\)) and 0.5 (\(n+1 \le i \le n+n^{\prime }\)), and we used the same setting in the proposed method. This distance function is expected to be less sensitive to physically plausible deformations with well-preserved local structures between \(\tilde{U}\) and \(\tilde{W}\). This allows for the generation of satisfactory tilings even when large deformations of the goal shape are indispensable to form possible tile shapes.

For a given distance function, the exhaustive search of templates (EST) refers to minimizing the distance function between \(\tilde{U}\) and \(\tilde{W}\) under the constraint \({\mathbf {u}} = B_{ikj} {\mathbf {\xi }}\) for all possible configurations of \(i \in I\), \(k \in K_i\), and \(j \in J\). After performing the EST, the top \(n_\mathrm{top}\) (e.g., 10) tile shapes in terms of distance value are displayed to the user.

3.2 Optimization

We outline how to minimize the distance function \(d^2_{IR}(\tilde{U},\tilde{W})\) under the constraint \(\mathbf {u} = B_{ikj} \mathbf {\xi }\). Although this optimization problem cannot be solved analytically because the matrices \(R_i \ (1 \le i \le n+n^{\prime })\) depend on \(\mathbf {\tilde{u}}\), a near-optimal solution can be obtained through a two-step iterative procedure described later.

If the rotation matrices \(R_i\) are fixed, then \(d^2_{IR}(\tilde{U},\tilde{W})\) can be written as a quadratic form of \(\tilde{\mathbf {u}}\): (5) \(\begin{equation} d^2_{IR}(\tilde{U},\tilde{W}) = {\tilde{\mathbf {u}}}^{\top } \tilde{G} {\tilde{\mathbf {u}}} - 2 {\tilde{\mathbf {u}}}^{\top } \tilde{T} {\tilde{\mathbf {w}}} + {\tilde{\mathbf {w}}}^{\top } \tilde{G} {\tilde{\mathbf {w}}}, \end{equation}\) where \(\tilde{G}\) and \(\tilde{T}\) are matrices. The matrix \(\tilde{T}\) is constructed as follows, where \(\tilde{T}.block(i,j)\) is the \(2 \times 2\) block matrix of \(\tilde{T}\) beginning at location \((i,j)\).

The matrix \(\tilde{G}\) is obtained by replacing \(R_i\) with the identity matrix in the above procedure.

Since the inner points of \(\tilde{U}\) can move freely, \(d^2_{IR}(\tilde{U},\tilde{W})\) can be written as a function of \({\mathbf {u}}\) by determining their positions to minimize this function. Let T and \(T^{\prime }\) be the first 2n rows and the last \(2n^{\prime }\) rows of \(\tilde{T}\), respectively. Then, \(d^2_{IR}(\tilde{U},\tilde{W})\) can be written as a quadratic form of \({\mathbf {u}^{\prime }}\): (6) \(\begin{align} d^2_{IR}(\tilde{U},\tilde{W}) =&\, {\mathbf {u}}^{\top } G {\mathbf {u}} + 2 {\mathbf {u}}^{\top } G^{\prime \prime } {\mathbf {u}^{\prime }} + {\mathbf {u}^{\prime }}^{\top } G^{\prime } {\mathbf {u}^{\prime }} \nonumber \nonumber\\ & -2 ({\mathbf {u}}^{\top } T {\tilde{\mathbf {w}}} + {\mathbf {u}^{\prime }}^{\top } T^{\prime } {\tilde{\mathbf {w}}}) + {\tilde{\mathbf {w}}}^{\top } \tilde{G} {\tilde{\mathbf {w}}}, \end{align}\) where \(G \ (\in \mathbb {R}^{2n \times 2n})\) is the top-left corner of \(\tilde{G}\), \(G^{\prime \prime } \ (\in \mathbb {R}^{2n \times 2n^{\prime }})\) is the top-right corner of \(\tilde{G}\), and \(G^{\prime } \ (\in \mathbb {R}^{2n^{\prime } \times 2n^{\prime }})\) is the bottom-right corner of \(\tilde{G}\). The matrices \(\tilde{G}\), G, and \(G^{\prime }\) are symmetric. By solving \(\frac{\partial d^2_{IR}(\tilde{U},\tilde{W})}{\partial {\mathbf {u}^{\prime }}} = 0\), we have the positions of the inner points: (7) \(\begin{equation} {\mathbf {u}^{\prime }} = {G^{\prime }}^{-1} (T^{\prime } {\tilde{\mathbf {w}}} - {G^{\prime \prime }}^{\top } {\mathbf {u}}). \end{equation}\) By substituting Equation (7) into Equation (6), we finally obtain the following energy function with respect to \({\mathbf {u}}\): (8) \(\begin{align} E_{IR}({\mathbf {u}}) =&\, \min _{\mathbf {u}^{\prime }} d^2_{IR}(\tilde{U},\tilde{W}) \nonumber \nonumber\\ =&\,\, {\mathbf {u}}^{\top } G_I {\mathbf {u}} -2 {\tilde{\mathbf {w}}}^{\top } H^{\top } {\mathbf {u}} + {\tilde{\mathbf {w}}}^{\top } (\tilde{G} - {T^{\prime }}^{\top } {G^{\prime }}^{-1} {T^{\prime }}) {\tilde{\mathbf {w}}}, \end{align}\) where \(G_I = G - G^{\prime \prime } {G^{\prime }}^{-1} {G^{\prime \prime }}^{\top }\) and \(H = T - G^{\prime \prime } {G^{\prime }}^{-1} T^{\prime }\). Because this is a quadratic form of \(\mathbf {u}\), the minimization of this function under the constraint \({\mathbf {u}} = B_{ikj} {\mathbf {\xi }}\) is straightforward.

For some isohedral types (IH2, IH3, IH5, and IH6), however, the energy function \(E_{IR}({\mathbf {u}})\) should be rotation invariant because the parameterized tile shape U can only appear in a specific orientation. Let \(R_n(\theta) \ (\in \mathbb {R}^{2n \times 2n})\) be the matrix that rotates n points represented by \({\mathbf {u}}\) by angle \(\theta\). A rotation-invariant version of \(E_{IR}({\mathbf {u}})\) is defined and calculated as follows: (9) \(\begin{align} E_{IRP}({\mathbf {u}}) =&\, \min _{\theta } E_{IR}(R_n(\theta) {\mathbf {u}}) \nonumber \nonumber\\ =&\,\, {\mathbf {u}}^{\top } G_I {\mathbf {u}} - 2 \sqrt {{\mathbf {u}}^{\top } H \tilde{V} H^{\top } {\mathbf {u}}} + {\tilde{\mathbf {w}}}^{\top } (\tilde{G} - {T^{\prime }}^{\top } {G^{\prime }}^{-1} {T^{\prime }}) {\tilde{\mathbf {w}}}, \end{align}\) where \(\tilde{V} = \tilde{\mathbf {w}} \tilde{\mathbf {w}}^{\top } + \tilde{\mathbf {w_c}} \tilde{\mathbf {w_c}}^{\top }\) and \(\mathbf {\tilde{w_c}} = (y^w_1, -x^w_1, \ldots , y^w_{n+n^{\prime }}, -x^w_{n+n^{\prime }})^{\top }\). The minimization of \(E_{IRP}({\mathbf {u}})\) under the constraint \({\mathbf {u}} = B_{ikj} {\mathbf {\xi }}\) can be reduced to finding the maximum eigenvalue for a generalized eigenvalue problem given by \({B_{ikj}}^{\top } H \tilde{V} H^{\top } B_{ikj} {\mathbf {\xi }} = \lambda {B_{ikj}}^{\top } G_I B_{ikj} {\mathbf {\xi }}\).

The two-step iterative procedure is then constructed as follows:

(1)

Minimize \(E_{IR}({\mathbf {u}})\) or \(E_{IRP}({\mathbf {u}})\) (if necessary) under the constraint \({\mathbf {u}} = B_{ikj} {\mathbf {\xi }}\) with the matrix \(\tilde{T}\) being fixed.

(2)

For the tile shape \(\tilde{U}\) obtained in Step (1), \(R_i \ (1 \le i \le n+n^{\prime })\) are determined to minimize Equation (4). Then, \(\tilde{T}\) is updated.

In the above procedure, the matrix \(\tilde{T}\) is initialized by setting the rotation matrices \(R_i\) to the identity matrix, and the iteration is repeated until the value of the energy function converges.

Note that the energy function \(E_{IR}({\mathbf {u}})\) is rotation invariant in the sense that the rotation matrices \(R_i\) are optimized separately during the two-step iterative procedure. Therefore, the same result can be obtained using either energy function \(E_{IR}({\mathbf {u}})\) or \(E_{IRP}({\mathbf {u}})\). However, for some isohedral types (IH2, IH3, IH5, and IH6), the value of the energy function converges faster with the latter, especially when the global rotation angle \(\theta\) is large.

Skip 4PROPOSED METHODS Section

4 PROPOSED METHODS

The dihedral Escherization approach proposed in this article is based on the Escherization approach described in the previous section combined with the split isohedral method.

4.1 Parametrization of Tile Shapes

Given two goal shapes, corresponding tile shapes are defined for each. The two goal shapes and two tile shapes are represented in the manner described in Section 3.1. Let the two goal shapes represented as triangular meshes be denoted as \(\tilde{W}_1\) and \(\tilde{W}_2\). The other variables, constants, and symbols listed in Table 1 are also denoted in the same way.

For each isohedral type IHi, possible tile shapes \(U_1\) and \(U_2\) are parameterized by a template constructed by adding a splitting path to the template of IHi. For example, Figure 5(a) shows the template of split isohedral tilings constructed from the template of IH4 shown in Figure 2, where the templates of the tile shapes \(U_1\) and \(U_2\) are indicated by the same symbols. Recall that in the template of IHi, the lengths of the edges are denoted as \((k_1, k_2\), ...), which are abbreviated as k. In the split isohedral case, two parameters, s and \(k_0\), are added. The parameter s specifies the position of the end of the splitting path in the original numbering of the template of IHi (see Figure 2), while the position of another end is denoted as e, which is determined automatically. The parameter \(k_0\) specifies the length of the splitting path. The points of \(U_1\) (\(U_2\)) are indexed clockwise from 1 to \(n_1\) (\(n_2\)) starting from the point s (e). Let n denote the number of points on the perimeter of the template, which is determined by \(n = n_1 + n_2 - 2k_0\). The value of e is given by \(e = s+n_1-k_0\). Note that if \(n \lt e\), then n is subtracted from e, and the same applies to other variables thereafter as needed.

Fig. 5.

Fig. 5. A template of split isohedral tilings based on IH4: (a) original representation and (b) detailed representation based on the adjacency relationship (see Figure 3).

Given that the positions of points on the template of IHi with the original numbering are parameterized by \(\mathbf {u} = B_{ik} \mathbf {\xi }\) and points on the splitting path (not including both ends) can be freely moved, possible tile shapes \(U_1\) and \(U_2\) for a given template configuration \((i,k_0,k,s)\) can be parameterized as follows: (10) \(\begin{equation} \mathbf {u}_1 = B_1 \mathbf {\xi } \ \ \mbox{and} \ \mathbf {u}_2 = B_2 \mathbf {\xi }, \end{equation}\) where the matrices \(B_1\) and \(B_2\) are given by

(11)
In the above formula, \(B^p_1\) is the matrix consisting of the \((2s-1)\)-th through 2e-th rows of the matrix \(B_{ik}\), where the last row of \(B_{ik}\) is assumed to be followed by the first row. The matrix \(B^p_1\) parametrizes the part of tile shape \(U_1\) from point s to point e. The lower right part of \(B_1\) parameterizes the part of tile shape \(U_1\) represented by the splitting path (not including both ends), where E is the two-dimensional identity matrix and \(k_0-1\) (the number of points in the splitting path) of them are arranged diagonally. In the same way, \(B^p_2\) is the matrix consisting of the \((2e-1)\)-th through 2s-th rows of the matrix \(B_{ik}\), which parameterizes the part of tile shape \(U_2\) from point e to point s. In the lower right part of \(B_2\), \(k_0-1\) matrices E are arranged anti-diagonally because points of \(U_2\) are numbered in the opposite direction to the points of \(U_1\) on the splitting path. The matrices \(B_1\) and \(B_2\) depend on \((i,k_0,k,s)\), and we denote them as \(B^{(1)}_{ik_0ks}\) and \(B^{(2)}_{ik_0ks}\).

As in the Escherization case, we need to consider \(n_1\) (\(n_2\)) different numbering schemes for the points of \(U_1\) (\(U_2\)). Let \(J_1 = \lbrace 1, 2, \dots , n_1\rbrace\) be the set of indices that specify the \(n_1\) different numbering schemes; if \(j_1 \in J_1\) is selected, then the points of \(U_1\) are renumbered such that the first point (point s) is assigned as \(j_1\). For each value of \(j_1 \in J_1\), the matrix \(B^{(1)}_{ik_0ks}\) depends on \(j_1\) and is denoted as \(B^{(1)}_{ik_0ksj_1}\), which is obtained from \(B^{(1)}_{ik_0ks}\) simply by cyclically shifting up the row elements. For the tile shape \(U_2\), \(J_2\), and \(B^{(2)}_{ik_0ksj_2} \ (j_2 \in J_2)\) are defined in the same manner.

4.2 Energy Function

Recall that the energy function \(E_{IR}({\mathbf {u}})\) (Equation (8)) can be regarded as a metric of the similarity between the tile shape U (represented as a polygon) and goal shape \(\tilde{W}\) (represented as a mesh), where the positions of the inner points of the tile shape \(\tilde{U}\) (represented as a mesh) are determined automatically. For the parameterized tile shapes \(U_1\) and \(U_2\), we evaluate the similarity between \(U_1\) and \(\tilde{W}_1\) (\(U_2\) and \(\tilde{W}_2\)) using a similar function.

Recall that the energy function \(E_{IRP}({\mathbf {u}})\) (Equation (9)) is a rotation-invariant version of \(E_{IR}({\mathbf {u}})\) and this property is always required in the dihedral case because the parameterized tile shapes \(U_1\) and \(U_2\) cannot be rotated independently. In addition, scale invariance is also required because \(U_1\) and \(U_2\) cannot be scaled independently. Therefore, we need to modify the energy function \(E_{IR}({\mathbf {u}})\) so that it is scale and rotation invariant.

The scale- and rotation-invariant version of the energy function \(E_{IR}({\mathbf {u}})\) is defined and calculated as follows: (12) \(\begin{align} E({\mathbf {u}}) & = \min _{s, \theta } E_{IR}(sR_n(\theta) {\mathbf {u}}) \nonumber \nonumber\\ & = {\tilde{\mathbf {w}}}^{\top } (\tilde{G} - {T^{\prime }}^{\top } {G^{\prime }}^{-1} {T^{\prime }}) {\tilde{\mathbf {w}}} - \frac{{\mathbf {u}}^{\top } H \tilde{V} H^{\top } {\mathbf {u}}}{{\mathbf {u}}^{\top } G_I \mathbf {u}}. \end{align}\) Let the optimal values of s and \(\theta\) in Equation (12) be denoted as \(s^*\) and \(\theta ^*\). These values are given by (13) \(\begin{equation} s^* \cos \theta ^* = \frac{{\tilde{\mathbf {w}}}^{\top } H^{\top } {\mathbf {u}}}{{\mathbf {u}}^{\top } G_I \mathbf {u}} \quad \mbox{and} \quad s^* \sin \theta ^* = \frac{{\tilde{\mathbf {w_c}}}^{\top } H^{\top } {\mathbf {u}}}{{\mathbf {u}}^{\top } G_I \mathbf {u}}, \end{equation}\) from which \(s^*\), \(\cos \theta ^*\), and \(\sin \theta ^*\) are easily obtained. The derivation of Equations (12) and (13) is presented in Appendix A.

Let \(E_1({\mathbf {u}}_1)\) and \(E_2({\mathbf {u}}_2)\) be the energy functions that measure the similarity between \(U_1\) and \(\tilde{W}_1\) and between \(U_2\) and \(\tilde{W}_2\), respectively. That is, \(E_1({\mathbf {u}}_1)\) is defined by (14) \(\begin{equation} E_1({\mathbf {u}_1}) = {\tilde{\mathbf {w}}_1}^{\top } (\tilde{G}_1 - {T^{\prime }_1}^{\top } {G^{\prime }_1}^{-1} {T^{\prime }_1}) {\tilde{\mathbf {w}}_1} - \frac{{\mathbf {u}}_1^{\top } H_1 \tilde{V}_1 H_1^{\top } {\mathbf {u}}_1}{\mathbf {u}_1^{\top } G_{1I} \mathbf {u}_1}, \end{equation}\) and \(E_2({\mathbf {u}}_2)\) is defined in the same manner. We define an objective function for the dihedral Escherization problem as follows: (15) \(\begin{equation} E({\mathbf {u}_1}, {\mathbf {u}_2}) = \frac{n_1}{a_1} E_1({\mathbf {u}}_1) + \frac{n_2}{a_2} E_2({\mathbf {u}}_2), \end{equation}\) where \(a_1 = {\mathbf {w}_1}^{\top } G_{1I} \mathbf {w}_1\) and \(a_2 = {\mathbf {w}_2}^{\top } G_{2I} \mathbf {w}_2\). The coefficients \(\frac{1}{a_1}\) and \(\frac{1}{a_2}\) normalize the two energy functions such that \(\frac{1}{a_1} E_1({\mathbf {u}}_1)\) and \(\frac{1}{a_2} E_2({\mathbf {u}}_2)\) take values between 0 and 1 when the rotation matrices \(R_i\) are all set to the identity matrix. The coefficients \(n_1\) and \(n_2\) balance the magnitude of change in the two energy functions. Having \(n_1 \lt n_2\) without this adjustment is likely to minimize \(E({\mathbf {u}_1}, {\mathbf {u}_2})\) in favor of \(\frac{1}{a_1} E_1({\mathbf {u}}_1)\) over \(\frac{1}{a_2} E_2({\mathbf {u}}_2)\) because local changes at the boundary of two tile shapes affect \(\frac{1}{a_1} E_1({\mathbf {u}}_1)\) more significantly than \(\frac{1}{a_2} E_2({\mathbf {u}}_2)\).

After minimizing the energy function \(E({\mathbf {u}_1}, {\mathbf {u}_2})\) in the manner described later, tile shapes \(U_1\) and \(U_2\) are optimized to be similar to \(\tilde{W}_1\) and \(\tilde{W}_2\), respectively, in the sense of the ARAP deformation energy. Depending on the template configuration, various tile shapes are obtained. Figure 6 shows three pairs of tile shapes \(U_1\) and \(U_2\); the two on the left, which are included in the top-10 solutions of the EST (see Section 4.4), have small energy function values while the one on the right has a much larger value than them.

Fig. 6.

Fig. 6. Various tile shapes \(U_1\) and \(U_2\) obtained by minimizing the energy function \(E({\mathbf {u}_1}, {\mathbf {u}_2})\) under different template configurations.

When their mesh representations \(\tilde{U}_1\) and \(\tilde{U}_2\) are required, we need to compute \(\mathbf {u^{\prime }}_1\) and \(\mathbf {u^{\prime }}_2\) from \({\mathbf {u}}_1\) and \({\mathbf {u}}_2\), which can be achieved as follows (see Figure 7 for illustration). First, \(U_1\) and \(U_2\) are scaled and rotated according to \((s_1^*, \theta _1^*)\) and \((s_2^*, \theta _2^*)\). Then, the coordinates of the inner points are computed from the resulting tile shapes using Equation (7). Finally, the obtained tile meshes are re-scaled and re-rotated according to \((\frac{1}{s_1^*}, -\theta _1^*)\) and (\(\frac{1}{s_2^*}, -\theta _2^*\)) to obtain \(\tilde{U}_1\) and \(\tilde{U}_2\).

Fig. 7.

Fig. 7. Procedure for computing the mesh representations \(\tilde{U}_1\) and \(\tilde{U}_2\) of the tile shapes \(U_1\) and \(U_2\) .

Some readers may think that the energy function \(E_1({\mathbf {u}}_1)\) (and \(E_2({\mathbf {u}}_2)\)) need not to be rotation invariant because the rotation matrices \(R_i\) are optimized. As in the Escherization problem (see the end of Section 3.2), rotation invariance is preferred because this reduces the number of iterations required in the two-step iterative procedure. Furthermore, we observed that without this property, the solution sometimes got stuck in a bad local optimum during the two-step iterative procedure, although this was a rare occurrence.

As shown in Figures 6 and 7, good tile shapes \(U_1\) and \(U_2\) tend to be optimized so that the lengths of all edges of \(U_1\) and \(U_2\) are roughly the same (even if \(\tilde{W}_1\) and \(\tilde{W}_2\) are given in arbitrary size) because some of the edges of \(U_1\) and \(U_2\) are shared at the boundary. Therefore, on condition that the goal shape \(\tilde{W}_2\) is scaled so that the average length of the edges of \(W_2\) is equal to that of \(W_1\), we would have roughly the same result even if scale invariance is dropped from the energy functions \(E({\mathbf {u}_1})\) and \(E({\mathbf {u}_2})\).3 Nevertheless, scale invariance is preferred because there also exist the tile boundary where \(U_1\) (\(U_2\)) is adjacent to itself.

4.3 Optimization

For each configuration \((i,k_0,k,s,j_1,j_2)\), we want to solve the following optimization problem: (16) \(\begin{align} \begin{split}\mbox{min} & \quad E({\mathbf {u}_1}, {\mathbf {u}_2}) \\ \mbox{s.t.} & \quad \mathbf {u}_1 = B^{(1)}_{ik_0ksj_1}\mathbf {\xi }, \ \mathbf {u}_2 = B^{(2)}_{ik_0ksj_2}\mathbf {\xi }.\end{split} \end{align}\) As in the Escherization problem (see Section 3.2), we use the two-step iterative procedure to solve this optimization problem.

Let the matrices \(\tilde{T}_1\) and \(\tilde{T}_2\) be initialized by setting the rotation matrices \(R_i\) to the identity matrix for both \(\tilde{W}_1\) and \(\tilde{W}_2\). In the first step, the matrices \(\tilde{T}_1\) and \(\tilde{T}_2\) (and in turn, \(T^{\prime }_1\), \(T^{\prime }_2\), \(H_1\), and \(H_2\)) are fixed in the energy function \(E({\mathbf {u}_1}, {\mathbf {u}_2})\). By substituting the constraint equations into the objective function, the optimization problem to be solved is equivalent to the following problem: (17) \(\begin{equation} \text{argmax}_{\mathbf {\xi }} \left\lbrace \frac{n_1}{a_1} \frac{{\mathbf {\xi }}^{\top } B_1^{\top } H_1 \tilde{V}_1 H_1^{\top } B_1 \mathbf {\xi } }{{\mathbf {\xi }}^{\top } B_1^{\top } G_{1I} B_1 \mathbf {\xi }} + \frac{n_2}{a_2} \frac{{\mathbf {\xi }}^{\top } {B_2}^{\top } H_2 \tilde{V}_2 H_2^{\top } B_2 \mathbf {\xi } }{{\mathbf {\xi }}^{\top } B_2^{\top } G_{2I} B_2 \mathbf {\xi }} \right\rbrace , \end{equation}\) where \(B_1 = B^{(1)}_{ik_0ksj_1}\) and \(B_2 = B^{(2)}_{ik_0ksj_2}\). By solving this optimization problem, we obtain the tile shapes \(U_1\) and \(U_2\). The solution of this optimization problem will be explained later.

In the second step, the rotation matrices \(R_i\) are determined to minimize Equation (4) for the mesh representations of the tile shapes \(U_1\) and \(U_2\) obtained in the first step. Note that the mesh representations used here are those obtained after scaling and rotating \(U_1\) and \(U_2\) according to \((s_1^*, \theta _1^*)\) and (\(s_2^*, \theta _2^*)\) in the procedure shown in Figure 7. Then, the matrices \(\tilde{T}_1\) and \(\tilde{T}_2\) are updated.

In our setting, the first and second steps are repeated three times. Tile shapes \(U_1\) and \(U_2\) are finally determined at the first step of the final iteration. If \(U_1\) and \(U_2\) contain self-intersections, then they are discarded. After the matrices \(\tilde{T}_1\) and \(\tilde{T}_2\) are updated at the second step of the final iteration, the value of the energy function \(E({\mathbf {u}_1}, {\mathbf {u}_2})\) is re-computed to evaluate the obtained tile shapes.

Now, we describe how to solve Equation (17). For symmetric matrices B and D and positive definite matrices W and V, a function (18) \(\begin{equation} \frac{{\mathbf {x}}^{\top } B \mathbf {x}}{{\mathbf {x}}^{\top } W \mathbf {x}} + \frac{{\mathbf {x}}^{\top } D \mathbf {x}}{{\mathbf {x}}^{\top } V \mathbf {x}} \end{equation}\) is called the sum of a generalized Rayleigh quotient, and the function to be maximized in Equation (17) is of this type. In general, this type of function has many local optima [Nguyen et al. 2016; Zhang 2013], and it is difficult to maximize it.

To maximize the objective function in Equation (17), we employed the conjugate gradient method with the Fletcher–Reeves rule. Utilizing the structure of the objective function, we constructed an efficient algorithm to perform the line search performed in the process of the conjugate gradient method; if some matrix computations are completed in \(O(n^2)\) time at the beginning of the linear search, then each of the function values of the points to be sampled can be computed in a constant time. Because the objective function is scale invariant, \(\mathbf {\xi }\) is normalized each time the line search is completed to avoid the divergence of \(\mathbf {\xi }\).

Because the sum of a generalized Rayleigh quotient generally has many local maxima, a conjugate gradient method does not yield a global optimal solution. However, we infer that the objective function in Equation (17) appearing in the two-step iterative procedure is convex for almost all template configurations. This is because we have confirmed that the conjugate gradient method always converges to the same point, even when starting from multiple randomly generated initial points. This is not theoretically guaranteed, but at least we can expect that this objective function will not have many local optima because \(\tilde{V}_1\) and \(\tilde{V}_2\) are matrices of rank 2 (see Equation (9)).

4.4 EST and HH-EST

For the dihedral Escherization problem, we define the EST as solving the optimization problem (16) for all possible configurations of \((i,k_0,k,s,j_1,j_2)\). If the template configuration is restricted to Heaven and Hell patterns, then we call this HH-EST.

In the EST of the Escherization problem [Nagata and Imahori 2021], nine isohedral types were considered, but most of the top-ranked solutions were generated from the three isohedral types IH4, IH5, and IH6 (see Figure 1). This is because the templates of these isohedral types, especially IH4, can be deformed with the highest degrees of freedom. Therefore, we consider only these isohedral types for the EST of the dihedral Escherization problem.

However, performing the EST is computationally impractical because the number of all possible configurations of \((i,k_0,k,s,j_1,j_2)\) is huge. If we consider IH4, then k is the abbreviation of \((k_1, k_2, k_3, k_4)\), and, therefore, the order of the number of all possible template configurations is \(O(n^8)\), where n is defined here as \(n_1+n_2\). In the same way, this order is \(O(n^7)\) for IH5 and IH6. For example, if \(n_1=n_2=60\), then the number of template configurations that must be examined in the EST is approximately \(1.7 \times 10^{11}\). We estimate that it would take approximately 4 years to perform the EST using the modern PC used in our experiments.

We developed an alternative approach to obtain results in a reasonable computation time. The basic idea is to solve the optimization problem (16) only for promising template configurations, which are selected from all possible configurations based on a low-cost evaluation function. This process is described in the next section.

The overall procedure of the EST is summarized as follows.

(1)

Select \(n_\mathrm{conf}\) (\(10^6\) in the experiments) promising template configurations using the pre-processing described in Section 5.

(2)

For each of the selected template configurations, solve the optimization problem (16).

(3)

The top-\(n_\mathrm{top}\) (10 in the experiments) solutions (tile shapes and tilings) with the smallest energy function values are displayed to the user.

One thing needs to be added to this procedure. If one of the goal shapes is reflected, then different results are obtained. Therefore, reflection of \(\tilde{W}_2\) is also considered.

Of course, there is no guarantee that the top-\(n_\mathrm{top}\) solutions obtained with this approach match the true top-\(n_\mathrm{top}\) solutions. This concern is verified in Section 6.4.

When Heaven and Hell patterns are considered, we use only the three isohedral types IH1, IH2, and IH3 among the 12 possible (see Section 2.3) because the templates of split isohedral tilings constructed from other isohedral types have lower degrees of freedom in possible deformations. For the HH-EST, the value of s is fixed so that the end of the splitting path is at the specified position (see Figure 3). Because \(k = (k_1, k_2)\) for IH1, IH2, and IH3, and the value of s is fixed, the order of the number of all possible template configurations is \(O(n^5)\). For example, if \(n_1=n_2=60\), then the number of template configurations that must be examined is approximately \(3.0 \times 10^{8}\). Although this number is much smaller than in the case of the EST, it is still too large to perform the HH-EST in a realistic computation time. As in the case of the EST, we developed a method to select promising template configurations. Unlike the case of the EST, \(n_1\) must be equal to \(n_2\), and reflection of \(\tilde{W}_2\) is not necessary.

Skip 5SELECTION OF PROMISING TEMPLATE CONFIGURATIONS Section

5 SELECTION OF PROMISING TEMPLATE CONFIGURATIONS

This section describes how the promising template configurations are selected for both the EST and HH-EST. First, we focus on the EST.

Once a configuration \((i,k_0,k,s,j_1,j_2)\) is given, the corresponding template specifies not only the constraints imposed on the tile shapes \(U_1\) and \(U_2\) but also the adjacency relationship between the tiles (see Figure 3). At the boundary of tiles in a dihedral tiling, three situations exist: (i) \(U_1\) is adjacent to itself, (ii) \(U_2\) is adjacent to itself, and (iii) \(U_1\) and \(U_2\) are adjacent. We consider dividing edges of the template according to these situations. Figure 5(b) shows the template of split isohedral tilings (points on the edges are omitted) created in this way from the template presented in Figure 5(a), where some of the original J and S edges are divided into several pieces according to the three situations (see also Figure 3). As illustrated in this template, \(l_1\), \(l^{\prime }_1\), \(l_2\), and \(l^{\prime }_2\) denote the lengths of the four segments obtained when two edges of the template are divided at the ends of the splitting path.

Given a template configuration \((i,k_0,k,s,j_1,j_2)\), the indices of the points of \(U_1\) (\(U_2\)) in the template are determined. These indices are denoted by \(a_s\), \(a_e\), and \(a_1, a_2, \dots\) (\(b_s\), \(b_e\), and \(b_1, b_2, \dots\)) at both ends of the splitting path and corners of the template, as illustrated in Figure 5(b). From the definition, \(a_s = j_1\) and \(b_s = j_2\), and the values of the other variables can be also determined.

For each template configuration, we want to evaluate the likelihood that it can be deformed so that \(U_1\) and \(U_2\) are similar to \(\tilde{W}_1\) and \(\tilde{W}_2\) in the sense of reducing the energy function \(E({\mathbf {u}_1}, {\mathbf {u}_2})\) at a low computational cost. The basic idea is that for each S edge and each pair of J edges in the template, we evaluate how much the shapes of the corresponding segments of \(W_1\) and \(W_2\) deviate from the imposed constraints. For example, if the segments of \(W_1\) and \(W_2\) corresponding to the splitting path are not compatible, then there is little chance of deforming this template to make \(U_1\) and \(U_2\) similar to \(\tilde{W}_1\) and \(\tilde{W}_2\).

To perform such an evaluation, we define two functions for measuring the similarity between two segments selected from \(W_1\) and \(W_2\). Let \(W_2\) be scaled so that the average length of the edges of \(W_2\) is equal to that of \(W_1\). This scaling is necessary because the two functions to be defined are not scale invariant. We denote the coordinates of the ith points of \(W_1\) and \(W_2\) as \(\mathbf {w}^{(1)}_i\) and \(\mathbf {w}^{(2)}_i\), respectively. Let \(p = ({\mathbf {v}}_0, {\mathbf {v}}_1, \dots , {\mathbf {v}}_l)\) and \(p^{\prime } = ({\mathbf {v}^{\prime }}_0, {\mathbf {v}^{\prime }}_1, \dots , {\mathbf {v}^{\prime }}_l)\) be two segments of length l selected from one or both of \(W_1\) and \(W_2\). We evaluate the similarity between the two segments using the following function: (19) \(\begin{equation} d(p, p^{\prime }) = \sum _{i=0}^{l-1} {\left\Vert ({\mathbf {v}}_{i+1} - {\mathbf {v}}_{i}) - \left(\mathbf {v^{\prime }}_{i+1} - \mathbf {v^{\prime }}_{i}\right) \right\Vert }^2. \end{equation}\) A rotation-invariant version of this function is also defined by (20) \(\begin{equation} d_P(p, p^{\prime }) = \min _\theta \sum _{i=0}^{l-1} {\left\Vert R(\theta) (\mathbf {v}_{i+1} - \mathbf {v}_{i}) - \left(\mathbf {v^{\prime }}_{i+1} - \mathbf {v^{\prime }}_{i}\right) \right\Vert }^2, \end{equation}\) where \(R(\theta)\) is the rotation matrix of angle \(\theta\). The value of this function can be efficiently computed using the formula of the simplified Procrustes distance [Nagata and Imahori 2021].

Based on the two functions defined above, we define the following arrays:

\(d^{(1)}_J(a,a^{\prime };l)\): the value of \(d(p, p^{\prime })\), where \(p = ({\mathbf {w}}^{(1)}_a\!, {\mathbf {w}}^{(1)}_{a+1}, \dots , {\mathbf {w}}^{(1)}_{a+l})\) and \(p^{\prime } = ({\mathbf {w}}^{(1)}_{a^{\prime }+l}, {\mathbf {w}}^{(1)}_{a^{\prime }+l-1}, \dots , {\mathbf {w}}^{(1)}_{a^{\prime }})\).

\(d^{(1)}_{JP}(a,a^{\prime };l)\): same as above, but the function \(d_P(p,p^{\prime })\) is used.

\(d^{(12)}_{JP}(a,b;l)\): the value of \(d_P(p,p^{\prime })\), where \(p = ({\mathbf {w}}^{(1)}_a, {\mathbf {w}}^{(1)}_{a+1}, \dots ,\) \({\mathbf {w}}^{(1)}_{a+l})\) and \(p^{\prime } = ({\mathbf {w}}^{(2)}_{b+l}, {\mathbf {w}}^{(2)}_{b+l-1}, \dots , {\mathbf {w}}^{(2)}_{b})\).

\(d^{(1)}_S(a;l)\): the value of \(d(p,p^{\prime })\), where \(p = ({\mathbf {w}}^{(1)}_a, {\mathbf {w}}^{(1)}_{a+1}, \dots , {\mathbf {w}}^{(1)}_{a+l})\) and \(p^{\prime } = (-{\mathbf {w}}^{(1)}_{a+l}, -{\mathbf {w}}^{(1)}_{a+l-1}, \dots , -{\mathbf {w}}^{(1)}_{a})\).

In the four arrays defined above, the first one evaluates the compatibility between the two segments p and \(p^{\prime }\) corresponding to J edges that must be parallel to each other. The second and third evaluate the compatibility between the two segments p and \(p^{\prime }\) corresponding to J edges that do not have to be parallel to each other. The last evaluates the compatibility of the segment p corresponding to an S edge, where the segment \(p^{\prime }\) is the one obtained by rotating p 180\(^\circ\). Similarly, \(d^{(2)}_J(b,b^{\prime };l)\), \(d^{(2)}_{JP}(b,b^{\prime };l)\), and \(d^{(2)}_S(b;l)\) are defined for \(W_2\). The values of these arrays for all possible arguments are computed once at the beginning.

For a given configuration \((i,k_0,k,s,j_1,j_2)\), we evaluate the corresponding template by summing the evaluation values of the compatibility for all edges of the template. For example, this evaluation value for the template shown in Figure 5(b) is calculated as follows: (21) \(\begin{align} & d^{(12)}_{JP}(a_e,b_e;k_0) + d^{(12)}_{JP}(a_s,b_4;l_1) + d^{(2)}_J(b_1,b_4+l_1;l^{\prime }_2) \nonumber \nonumber\\ & + d^{(1)}_S(a_2;k_2) + d^{(12)}_{JP}(a_3,b_s;l_2) + d^{(1)}_S(a_3+l_2;l^{\prime }_1-l_2) \nonumber \nonumber\\ & + d^{(2)}_S(b_5;k_4) + d^{(2)}_S(b_6;k_5), \end{align}\) where the first row corresponds to the splitting path and red edges, the second row corresponds to the green and dark blue edges, and the third row corresponds to the light blue and gray edges. As opposed to the given example, if \(l^{\prime }_1 \lt l_2\), then the second row is replaced with \(d^{(1)}_S(a_2;k_2) + d^{(12)}_{JP}(a_3,b_s+l_2-l^{\prime }_1;l^{\prime }_1) + d^{(2)}_S(b_s;l_2-l^{\prime }_1)\).

For all possible template configurations, the evaluation values can be computed in a similar manner, although some additional arrays must be defined for the templates based on IH5 and IH6. This evaluation method is rather coarse because the constraints imposed on the S edges and J edge pairs are considered independently and their dependencies are ignored. However, as we will show later, this evaluation method works well.

We want to select the top-\(n_\mathrm{conf}\) configurations with the smallest evaluation values among all possible configurations of \((i,k_0,k,s,j_1,j_2)\). The evaluation value of any template configuration can be obtained in constant time, but it is still impractical to compute the evaluation value for all possible template configurations; if \(n_1=n_2=60\), then it took 18.6 hours in our experiment.

To overcome this problem, we developed a tree search algorithm with efficient pruning strategies, which makes it possible to obtain the same result in realistic computation time. The developed algorithm is somewhat complex and is outlined in Appendix B.

The same approach is taken for the HH-EST, where the evaluation value is computed in the same way as in Equation (21). Compared to the EST case, the computation of the evaluation value is simpler because the boundaries of \(U_1\) and \(U_2\) are always adjacent to each other. Moreover, it is possible to compute the evaluation value for all template configurations in a reasonable computation time.

Skip 6EXPERIMENTS Section

6 EXPERIMENTS

Experimental results are presented to verify the quality of dihedral tilings obtained by the proposed methods. Analytical results on the behavior of the proposed methods are also presented.

6.1 Experimental Settings

We developed two algorithms to perform the EST and HH-EST. Note that these algorithms solve the optimization problem (16) only for the promising \(n_\mathrm{conf}\) template configurations selected through the preliminary estimate described in Section 5. In our setting, \(n_\mathrm{conf}\) was set to \(10^6\). These algorithms were applied to all 15 pairs that could be composed of the six goal figures shown in Figure 8. In this figure, the corresponding mesh representations are also displayed, where the numbers of points on the boundaries are all 60. After performing the EST or HH-EST, the top-10 solutions (tile shapes and tilings) were displayed, where the textures of the tile figures were generated by deforming the textures of the goal figures according to the mesh deformation. The results presented here are those that the authors thought were the best among the top-10 solutions, unless otherwise stated.

Fig. 8.

Fig. 8. Goal figures used in the experiments and their mesh representation ( \(n=60\) ).

The algorithms were implemented in C++ with the Eigen library on Ubuntu 20.04 and executed on PCs with Intel Core i7-12700 CPU (12 Cores/20 Threads/2.1 GHz) and 32 GB of DDR4-3200 memory. The program can be executed in parallel using OpenMP. The source code is available at https://github.com/nagata-yuichi/Dihedral-Escher-Tiling.

6.2 Main Results

First, the results of the EST are described. Figure 9 shows the tile figures obtained by the EST for the 15 pairs of goal figures. The comparison here focuses on the differences between the tile figures and goal figures rather than the tiling results, so individual tile figures are shown scaled and rotated to match the goal figures. Although the obtained tile figures are deformed from the goal figures to a greater or lesser extent, they retain the local structures of the goal figures even when the deformations are somewhat large. As a result, all tile figures are generally obtained by natural deformations of the goal figures. Figure 10 shows the tiling results created from the tile figures presented in Figure 9, where congruent tile figures are painted in two different tones so that tiles of the same tone are adjacent to each other as little as possible. The resulting tilings are generally satisfactory because the tile figures retain the features of the goal figures well. More detailed results, including all of the top-10 solutions, are provided in the online supplementary file 1. In addition, results for goal shapes other than the six used in the experiment are also included in the supplementary file 2 to verify the robustness of the EST.

Fig. 9.

Fig. 9. Tile figures obtained by the EST for the 15 pairs of goal figures. They are paired two-by-two from the left. Corresponding template types (see Figure 18) are also shown.

Fig. 10.

Fig. 10. Tilings created from the tile figures presented in Figure 9. (continued on the next page).

Fig. 10. Tilings created from the tile figures presented in Figure 9. (continued on the next page).

The artistry of the tiling may also depend on how the tile figures are arranged. For example, the displayed tiling for the goal figures Pegasus and camel (fifth row of Figure 10) may seem uninteresting because the two types of tile figures are so tidily arranged, and it might be more interesting to have two types of tile figures arranged in an intricate manner. For example, interesting tilings are often obtained when two adjacent A tiles are completely surrounded by B tiles, e.g., see the tiling for the goal figures camel and squirrel (third row of Figure 10). Figure 11 shows tilings of this type and individual tile figures for three pairs of goal figures, for which tilings with relatively regular tile layout are presented in the last row of Figure 10. Note that these tilings were selected from the top-100 solutions obtained by the EST, but it is also possible to display only this type of tiling. While the individual tile figures appear somewhat unnatural compared to those presented in the last row of Figure 9, the artistry of the tilings is enhanced.

Fig. 11.

Fig. 11. Tilings obtained by the EST and tile figures that make them up, selected in consideration of the arrangement of the tile figures.

Next, we present the results of the HH-EST. Figure 12 shows tile figures and the corresponding tilings obtained by the HH-EST. To save space, only the results for the six pairs of goal figures that produced relatively good tilings are presented, where the six pairs were chosen so that each goal figure was selected twice. See the online supplementary file 1 for the results for all 15 pairs of goal figures. Compared to the results of the EST (mostly fourth and fifth rows of Figures 9 and 10), the obtained tile figures seem to have unnatural deformations, but this is expected because the templates have fewer degrees of freedom in possible deformations. Intuitively, it is difficult to construct satisfactory tilings of Heaven and Hell patterns unless the two goal shapes are suitably compatible because the two types of tiles are always adjacent at the boundaries. Nevertheless, the obtained tile figures are sufficiently reminiscent of the goal figures, while the resulting tilings also have the artistry inherent in the Heaven and Hell patterns.

Fig. 12.

Fig. 12. Tilings obtained by the HH-EST and the tile figures that make them up. Corresponding IH types are also shown.

6.3 Influence of the Values of \(n_1\) and \(n_2\)

For the main results, the numbers of boundary points of the goal figures were all set to 60 (\(n_1=n_2=60\)), but \(n_1\) and \(n_2\) can have different values for the EST. To verify the effect of different \(n_1\) and \(n_2\), mesh representations with \(n_1=90\) and 120 were also created.

Figure 14 shows the tile meshes \(\tilde{U}_1\) and \(\tilde{U}_2\) obtained for a pair of the goal figures elephant \((n_1=60, 90,\) and \(120)\) and seahorse \((n_2=60)\), where \(\tilde{U}_1\) and \(\tilde{U}_2\) are drawn so that the area of \(\tilde{U}_2\) is the same. As shown in this figure, the size of \(\tilde{U}_1\) increases as the value of \(n_1\) increases; the ratios of the area of \(\tilde{U}_1\) to the area of \(\tilde{U}_2\) are \(0.81 \ (n_1=60)\), \(2.52 \ (n_1=90)\), and \(3.82 \ (n_1=120)\). This is a natural consequence because each tile mesh is generated so that points of the boundary have an approximately equal interval and parts of the boundaries are shared by the two tile meshes. Figure 13 shows the tiling results obtained from the tile meshes presented in Figure 14.

Fig. 13.

Fig. 13. Tilings obtained by the EST for the elephant goal figure with different values of \(n_1\) : 60 (left), 90 (middle), and 120 (right). For the other goal figure, \(n_2=60\) .

Fig. 14.

Fig. 14. Tile meshes obtained by the EST for the elephant goal figure with different values of \(n_1\) : 60 (left), 90 (middle), and 120 (right). For the other goal figure, \(n_2=60\) .

6.4 Analysis of Search Restrictions on the EST

In the proposed algorithm for the EST, the optimization problem (16) is solved only for \(n_\mathrm{conf} \ (=10^6)\) template configurations selected in advance. Therefore, the true \(n_\mathrm{top} \ (=10)\) solutions that would be obtained by the EST without restrictions may not have been obtained. We want to verify how many of the true top-10 solutions were actually obtained. However, obtaining the true top-10 solutions was impractical, so we regard the top-10 solutions obtained when \(n_\mathrm{conf}\) was set to \(5\times 10^8\) as the pseudo true top-10 solutions. This assumption seems reasonable because no change was observed in the top-10 solutions when \(n_\mathrm{conf}\) was increased beyond \(10^8\) for the pairs of goal figures we tested below.

Table 2 shows how many template configurations that yielded the pseudo true top-10 solutions were included in the promising template configurations obtained for various values of \(n_\mathrm{conf}\). The results for the pseudo true top-100 solutions are also listed for reference. We can see that more than half of the pseudo true top-10 solutions were found with the default setting of \(n_\mathrm{conf}=10^6\). As shown in the table, increasing \(n_\mathrm{conf}\) reduces the number of pseudo true top-10 solutions that are overlooked. However, the computation time required to solve the optimization problem (16) increases in proportion to the value of \(n_\mathrm{conf}\), while the computation time for obtaining the \(n_\mathrm{conf}\) template configurations did not change significantly if \(n_\mathrm{conf} \lt 10^7\).

Table 2.
\(n_\mathrm{conf}\)\(10^6\)\(10^7\)\(10^8\)
seahorse(\(n_1\!=\!60\)), Pegasus(\(n_2\!=\!60\)) 9 (76) 10 (98)10 (100)
dolphin(\(n_1\!=\!60\)), camel(\(n_2\!=\!60\)) 9 (82) 10 (94)10 (100)
elephant(\(n_1\!=\!60\)), squirrel(\(n_2\!=\!60\)) 6 (29) 9 (69)10 (100)
elephant(\(n_1\!=\!90\)), seahorse(\(n_2\!=\!60\)) 9 (85) 10 (100)10 (100)
elephant(\(n_1\!=\!120\)), seahorse(\(n_2\!=\!60\)) 10 (91) 10 (96)10 (100)

Table 2. Number of Template Configurations that Produce the Pseudo True Top-10 (or Top-100 in Parentheses) Solutions Included in the Promising Template Configurations Obtained with Different Values of \(n_\mathrm{conf}\)

Finally, we mention the computation time for the EST with the default setting (\(n_\mathrm{conf}=10^6\)). Table 3 shows the computation times for (i) selecting template configurations and (ii) the optimization process for the selected template configurations, where the average computation times for the goal figure pairs in Table 2 are presented. Results are shown without and with parallelization, respectively. The parallel version was executed with 20 threads, although the effect of parallelization was almost saturated at 10 threads. If the tree search was not introduced in the algorithm of selecting template configurations, then the computation time without parallelization was 18.6 hours (\(n_1=60, n_2=60\)), which indicates that the pruning strategies are working effectively. As for the HH-EST, the computation time without parallelization for selecting template configurations was 8.1 seconds.

Table 3.
Serial computationParallel computation
\(n_1, \ n_2\)(i)(ii)(i)(ii)
\(60, \ 60\)710745131113
\(90, \ 60\)2,3661,657423199
\(120,\ 60\)5,7413,8121,097629

Table 3. Computation Time in Seconds to Perform the EST: (i) Selecting Template Configurations and (ii) the Optimization Process

6.5 Comparison with Other Methods

As described in Section 1, at least four methods [Kaplan and Salesin 2004; Kawade and Imahori 2015; Lin et al. 2017; Liu et al. 2020] that can tackle the dihedral Escherization problem have been proposed. We compared the EST and HH-EST with Liu et al. [2020] because this method seems to produce the highest-quality dihedral Escher-like tilings among these four methods.

Liu et al. [2020] can only generate dihedral tilings of Heaven and Hell patterns. As described in their paper, the compatibility of two goal shapes is important to obtain satisfactory dihedral tilings of Heaven and Hell patterns, and one example that they considered difficult to obtain good results for was presented. Figure 15 shows this example, where two goal shapes and two tile shapes obtained are displayed. We applied the EST and HH-EST to the mesh representations (\(n_1 = n_2 = 75\)) created for this pair of goal shapes. The obtained tile shapes are also shown in Figure 15. As a result of a questionnaire of 12 people, 10 answered that the result of the EST, HH-EST, and Liu et al. [2020] were better, in that order.

Fig. 15.

Fig. 15. Goal and tile shapes presented in Figure 11 of Liu et al. [2020] (@2020 Elsevier Ltd) and the tile shapes obtained by the HH-EST and EST.

Skip 7LIMITATIONS Section

7 LIMITATIONS

We applied the EST to several pairs of goal shapes with more complex geometries than those shown in Figure 8. For those goal figures, satisfactory monohedral Escher-like tilings were generated [Nagata and Imahori 2021]. However, for such complex goal shapes, the EST often produced tile shapes with rather unnatural deformations. For example, Figure 16 shows the two goal figures of dragon (\(n=116\)) and spider (\(n=120\)), tile figures obtained in Nagata and Imahori [2021] that make up monohedral tilings, and tile figures obtained by the EST that make up a dihedral tiling. It is natural that the more complex the goal shape is, the more difficult it is to obtain a satisfactory Escher-like tiling, but it seems to be more difficult to obtain satisfactory results in the dihedral case than in the monohedral case.

Fig. 16.

Fig. 16. Complex goal figures and tile figures that make up monohedral tilings presented in Nagata and Imahori [2021] (https://doi.org/10.1145/3487017) and tile figures obtained by the EST that make up a dihedral tiling.

The EST allows some control over the ratio of sizes of the two tile shapes \(U_1\) and \(U_2\) by changing the values (or ratio) of \(n_1\) and \(n_2\) (Section 6.3). In addition, different values of \(n_1\) and \(n_2\) will change the compatibility of the two goal shapes. Therefore, there may be values of \(n_1\) and \(n_2\) that can yield satisfactory results for complex goal shapes such as the dragon and spider. However, it is computationally expensive to simply run the EST for various values of \(n_1\) and \(n_2\). Moreover, it is not appropriate to evaluate the goodness of tile shapes by comparing the value of the energy function (15) defined by different mesh representations. In the future, we would like to extend the EST to include \(n_1\) and \(n_2\) as decision variables.

Skip 8CONCLUSION Section

8 CONCLUSION

In this study, we developed algorithms for the dihedral Escherization problem. The basic idea is an extension of the EST with the ARAP-based similarity metric developed for the Escherization problem [Nagata and Imahori 2021] coupled with the split isohedral method [Kaplan and Salesin 2004], but we have developed several techniques that address the difficulties caused by this extension.

The EST for the dihedral Escherization problem exhaustively explores templates for split isohedral tiling, but the order of all possible template configurations reaches \(O(n^8)\), where n is the number of points of the polygons representing two goal shapes. To obtain results in a realistic computation time, we developed an efficient algorithm for selecting promising template configurations without losing too many templates that would yield the most highly ranked results (Table 2).

The similarity between two pairs of tile and goal shapes was evaluated by the ARAP deformation energy, which is rotation and scale invariant for each pair. As a result, for each template configuration, we need to maximize the sum of a generalized Rayleigh quotient in the two-step iterative procedure. We confirmed that this function seems to be convex in most situations encountered in the course of the EST. In addition, we developed an efficient conjugate gradient algorithm suitable for maximizing this function.

The developed method was able to generate dihedral tilings consisting of two tile shapes formed by physically plausible deformations of the two goal shapes (Figures 9 and 10). This allows for the generation of satisfactory dihedral tilings even when large deformations of the goal shapes are indispensable to form a tiling. In addition, it is possible to preferentially output dihedral tilings with relatively intricate tile arrangements (Figure 11). As a special case, dihedral tilings of Heaven and Hell patterns can also be generated (Figure 12), although the quality of tile shapes is somewhat degraded.

In recent years, there has been significant progress in the research on mathematical structures of spiral tiling [Ouyang et al. 2022a], interlocking spiral tiling [Ouyang et al. 2022b], and fractal tiling [Ouyang et al. 2021]. This progress enables the automatic generation of such tilings by arranging units of a given (manually designed) Escher-like tiling. Our method can also be utilized to generate fundamental units for these approaches, although templates would require modifications to suit their specific requirements. For example, two similar edges with a defined ratio of magnitudes need to be parameterized.

APPENDICES

A DERIVATION OF EQUATIONS (12) AND (13)

Let the first and second terms of Equation (8) be represented by (22) \(\begin{equation} f(\mathbf {u}) = {\mathbf {u}}^{\top } G_I {\mathbf {u}} - 2 {\mathbf {b}}^{\top } {\mathbf {u}}, \end{equation}\) where \({\mathbf {b}} = H {\mathbf {\tilde{w}}}\). Define \(\mathbf {b}_i \ (i = 1, \dots , n)\) and \(\mathbf {b_c}\) for the vector \(\mathbf {b}\) in the same way that \(\mathbf {w}_i\) and \({\mathbf {\tilde{w}_c}}\) are defined for \({\mathbf {\tilde{w}}}\) (see Equations (1) and (9)). Because \({R_n(\theta)}^{\top } G_I R_n(\theta) = G_I\) from the definition of \(G_I\), we have (23) \(\begin{align} f(s R_n(\theta) \mathbf {u}) =&\, s^2 {\mathbf {u}}^{\top } G_I {\mathbf {u}} -2s \sum _{i=1}^n {{\mathbf {b}}_i}^{\top } \begin{pmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \\ \end{pmatrix} {\mathbf {u}}_i \nonumber \nonumber\\ =&\, (\alpha ^2 + \beta ^2) {\mathbf {u}}^{\top } G_I {\mathbf {u}} -2 \sum _{i=1}^n {{\mathbf {b}}_i}^{\top } \begin{pmatrix} \alpha & -\beta \\ \beta & \alpha \\ \end{pmatrix} {\mathbf {u}}_i \nonumber \nonumber\\ =&\, (\alpha ^2 + \beta ^2) {\mathbf {u}}^{\top } G_I {\mathbf {u}} -2 \alpha {\mathbf {b}}^{\top } {\mathbf {u}} -2 \beta {\mathbf {b}_c}^{\top } {\mathbf {u}}, \end{align}\) where \(\alpha = s \cos \theta\) and \(\beta = s \sin \theta\). By solving \(\frac{\partial f}{\partial \alpha } = 0\) and \(\frac{\partial f}{\partial \beta } = 0\) to obtain the values of \(\alpha\) and \(\beta\) that minimize the above function, we have (24) \(\begin{equation} \alpha = \frac{{\mathbf {b}}^{\top } {\mathbf {u}}}{{\mathbf {u}}^{\top } G_I {\mathbf {u}}} \quad \mbox{and} \quad \beta = \frac{{\mathbf {b}_c}^{\top } {\mathbf {u}}}{{\mathbf {u}}^{\top } G_I {\mathbf {u}}}. \end{equation}\) By substituting Equation (24) into Equation (23) and considering that \({\mathbf {b}}= H {\mathbf {\tilde{w}}}\) and \({\mathbf {b}_c}= H {\mathbf {\tilde{w}_c}}\), we obtain (25) \(\begin{align} \min _{s, \theta } f(s R_n(\theta) \mathbf {u}) & = -\frac{{\mathbf {u}}^{\top }(\mathbf {b} \mathbf {b}^{\top } + \mathbf {b_c} \mathbf {b_c}^{\top }){\mathbf {u}}}{{\mathbf {u}}^{\top } G_I {\mathbf {u}}} \nonumber \nonumber\\ & = -\frac{{\mathbf {u}}^{\top } H^{\top } (\tilde{\mathbf {w}} \tilde{\mathbf {w}}^{\top } + \tilde{\mathbf {w_c}} \tilde{\mathbf {w_c}}^{\top }) H {\mathbf {u}}}{{\mathbf {u}}^{\top } G_I {\mathbf {u}}}. \end{align}\) Equations (24) and (25) correspond to Equations (13) and (12), respectively.

B TREE SEARCH ALGORITHMS

We describe the efficient tree search algorithm for selecting the top-\(n_\mathrm{conf}\) template configurations with the smallest evaluation values among all possible configurations of \((i,k_0,k,s,j_1,j_2)\) (see Section 5). However, depending on which edges of the template the ends of the splitting path are on, different algorithms are needed to introduce efficient pruning strategies. For example, in the template presented in Figure 5, points s and e are on the first and third edges of the template, respectively. If one end of the splitting path is on a corner of the template, then it can belong to either of the edges incident to it. Contrary to this example, there is a case where points s and e are on the third and first edges, respectively, but the later case is equivalent to the former case if \(\tilde{W}_1\) and \(\tilde{W}_2\) are swapped. Therefore, 15 (\(={}_6 C_2\)) different algorithms are required to be constructed for IH4, but we need to consider the case where \(\tilde{W}_1\) and \(\tilde{W}_2\) are swapped. This is also the case for IH5 and IH6; therefore, a total of 45 algorithms are needed. Note that we do not consider the case where both ends of the splitting path are on the same edge because good tile shapes are unlikely to be generated from such templates. In fact, some of the 45 template types are essentially the same and it is sufficient to explore only the 15 types presented in Figure 17.

Fig. 17.

Fig. 17. Fifteen template types that must be examined in the EST.

In the proposed method, the 15 algorithms are performed in any order, storing the top-\(n_\mathrm{conf}\) template configurations in terms of the evaluation value. Since it is not practical to describe all algorithms, Figure 18 shows one representative example, which corresponds to the template type presented in Figure 5(b). Note that this template type is not included in the 15 template types, but we use it for explanation because this type contains a good balance of the essential elements of the pruning strategies used in the 15 algorithms.

Fig. 18.

Fig. 18. Tree search algorithm for the template type shown in Figure 5(b).

In this algorithm, L is a list for storing the top-\(n_\mathrm{conf}\) template configurations found so far, and \(eval_\mathrm{best}\) is the worst evaluation value of the template configurations stored in L. A summary of this algorithm is provided below, where the evaluation function refers to Equation (21).

The first for loop (line 1) is actually a quadruple for loop.

In the second for loop (lines 2–9), all the information needed to compute the first row of the evaluation function, denoted as \(eval_A\), is determined (line 4), and it is computed (line 5). The value of eval (line 8) gives a lower bound on the evaluation values of the templates determined at the lower level, where the two functions \(\text{comp}\_{*}()\) are explained later. If \(eval \gt eval_\mathrm{best}\), then the lower-level search is pruned (line 9).

In the third for loop (lines 10–14), all the information needed to compute the second row of the evaluation function is determined (line 11), and the sum of the first and second rows, denoted as \(eval_B\), is computed (line 12). As in the second for loop, the lower-level search is pruned based on the lower bound obtained at this point (lines 13–14).

In the fourth for loop (lines 15–21), the template configuration is completely determined (line 16), and the evaluation value is computed (line 17). Then, L and \(eval_\mathrm{best}\) are updated according to the situation (lines 18–21).

In the second (third) for loop, the value of \(eval_A\) (\(eval_B\)) can be used as a lower bound, but a tighter lower bound can be obtained by adding the values of the functions \(\text{comp}\_{*}()\). The value of \(\text{comp}\_S_{2}\_\text{S}_{2}(b_5;l_2)\) represents the the minimum possible value for the third row of the evaluation function under the condition that only the values of \(b_5\) and \(k_4+k_5 \ (=l_2)\) are given. Specifically, it is given by \(\min _{1 \le k_4 \le l_2} d^{(2)}_S(b_5;k_4) + d^{(2)}_S(b_6;l_2-k_4)\). Similarly, \(\text{comp}\_\text{S}_{1}\_\text{S}_{12}(a_3;l_1,b_s;l_2)\) represents the minimum possible value for the second row of the evaluation function under the condition that only the values of \(a_3, k_2+l^{\prime }_1 \ (=l_1), b_s,\) and \(l_2\) are given. The values of the functions \(\text{comp}\_{*}()\) for all possible arguments are computed once at the beginning and are referred to as needed.

For the 15 template types, efficient tree search algorithms can be constructed based on similar approaches. Due to the symmetry of the templates, templates with different configurations may be essentially the same, in which case the evaluation values are the same. The top-\(n_\mathrm{conf}\) configurations exclude such duplications.

Footnotes

  1. 1 In Nagata and Imahori [2021], \(k_i\) represents the number of points placed on an edge (not including both ends), but we use the definition described in the text.

    Footnote
  2. 2 In Nagata and Imahori [2021], points are renumbered starting from the jth point, but we use the definition described in the text.

    Footnote
  3. 3 Such an energy function can be obtained from Equation (12) by defining \(\tilde{V} = \tilde{\mathbf {w}} \tilde{\mathbf {w}}^{\top }\).

    Footnote
Skip Supplemental Material Section

Supplemental Material

REFERENCES

  1. Arkin Esther M., Chew L. Paul, Huttenlocher Daniel P., Kedem Klara, and B J. S.. Mitchell1991. An efficiently computable metric for comparing polygonal shapes. IEEE Trans. Pattern Anal. Mach. Intell. 13, 3 (1991), 209216.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Dress Andreas W. M.. 1986. The 37 combinatorial types of regular “heaven and hell” patterns in the euclidean plane. In M. C. Escher: Art and Science. Elsevier, Amsterdam, 3543.Google ScholarGoogle Scholar
  3. Grünbaum Branko and Shephard Geoffrey Colin. 1987. Tilings and Patterns. W. H. Freeman and Co.Google ScholarGoogle Scholar
  4. Hisatomi Asuka, Koba Hitomi, Mizuno Kazunori, and Ono Satoshi. 2021. ELTHON: An escher-like tile design method using hierarchical optimization. Appl. Soft Comput. 112, 107771 (2021), 1–19.Google ScholarGoogle ScholarCross RefCross Ref
  5. Imahori Shinji, Kawade Shizuka, and Yamakata Yoko. 2015. Escher-like tilings with weights. In Discrete and Computational Geometry and Graphs. Springer, 132142.Google ScholarGoogle Scholar
  6. Kaplan Craig S.. 2009. Introductory Tiling Theory for Computer Graphics. Morgan & Claypool.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Kaplan Craig S. and Salesin David H.. 2000. Escherization. In SIGGRAPH ’00: Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Techniques. ACM Press, 499510.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Kaplan Craig S. and Salesin David H.. 2004. Dihedral escherization. In Proceedings of Graphics Interface 2004. Canadian Human-Computer, 255262.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Kawade Shizuka and Imahori Shinji. 2015. A selection method of target shapes in the creationg of dihedral tilings [Translated from Japanese.]. RIMS Kokyuroku1931 (2015), 107128.Google ScholarGoogle Scholar
  10. Koizumi Hiroshi and Sugihara Kokichi. 2011. Maximum eigenvalue problem for Escherization. Graphs Combin. 27, 3 (2011), 431439.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Lin Shih-Syun, Morace Charles C., Lin Chao-Hung, Hsu Li-Fong, and Lee Tong-Yee. 2017. Generation of escher arts with dual perception. IEEE Trans. Vis. Comput. Graph. 24, 2 (2017), 11031113.Google ScholarGoogle ScholarCross RefCross Ref
  12. Liu Xiaokang, Lu Lin, Sharf Andrei, Yan Xin, Lischinski Dani, and Tu Changhe. 2020. Fabricable dihedral Escher tessellations. Comput.-Aid. Des. 127 (2020), 102853.Google ScholarGoogle ScholarCross RefCross Ref
  13. Nagata Yuichi and Imahori Shinji. 2020. An efficient exhaustive search algorithm for the escherization problem. Algorithmica 82, 9 (2020), 25202534.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Nagata Yuichi and Imahori Shinji. 2021. Escherization with large deformations based on as-rigid-as-possible shape modeling. ACM Trans. Graph. 41, 2 (2021), 116.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Nguyen Van-Bong, Sheu Ruey-Lin, and Xia Yong. 2016. Maximizing the sum of a generalized Rayleigh quotient and another Rayleigh quotient on the unit sphere via semidefinite programming. J. Global Optim. 64, 2 (2016), 399416.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Ono Satoshi, Kisanuki Megumi, Machii Hirofumi, and Mizuno Kazunori. 2014. Creation support for Escher-like tiling patterns by interactive genetic algorithms. In SIGGRAPH Asia 2014 Posters. ACM, 1.Google ScholarGoogle Scholar
  17. Ono Satoshi, Kisanuki Megumi, Machii Hirofumi, and Mizuno Kazunori. 2015. Figure pattern creation support for escher-like tiling by interactive genetic algorithms. In Proceedings of the 18th Asia Pacific Symposium on Intelligent and Evolutionary Systems, Volume 1. Springer, 421432.Google ScholarGoogle ScholarCross RefCross Ref
  18. Ouyang Peichang, Chung Kwok Wai, Bailey David, Nicolas Alain, and Gdawiec Krzysztof. 2022a. Generation of advanced Escher-like spiral tessellations. Vis. Comput. 38, 11 (2022), 39233935.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Ouyang Peichang, Chung Kwok Wai, Nicolas Alain, and Gdawiec Krzysztof. 2021. Self-similar fractal drawings inspired by MC Escher’s print square limit. ACM Trans. Graph. 40, 3 (2021), 134.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Ouyang Peichang, Gdawiec Krzysztof, Nicolas Alain, Bailey David, and Chung Kwok Wai. 2022b. Interlocking spiral drawings inspired by MC Escher’s print whirlpools. ACM Trans. Graph. 42, 2 (2022), 117.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Schattschneider Doris. 2004. M. C. Escher: Visions of Symmetry. Harry N. Abrams.Google ScholarGoogle Scholar
  22. Sorkine Olga and Alexa Marc. 2007. As-rigid-as-possible surface modeling. In Symposium on Geometry Processing, Vol. 4. 109116.Google ScholarGoogle Scholar
  23. Sugihara Kokichi. 2009. Computer-aided generation of Escher-like sky and water tiling patterns. J. Math. Arts 3, 4 (2009), 195207.Google ScholarGoogle ScholarCross RefCross Ref
  24. Werman Michael and Weinshall Daphna. 1995. Similarity and affine invariant distances between 2d point sets. IEEE Trans. Pattern Anal. Mach. Intell. 17, 8 (1995), 810814.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Zhang Lei-Hong. 2013. On optimizing the sum of the Rayleigh quotient and the generalized Rayleigh quotient on the unit sphere. Comput. Optim. Appl. 54, 1 (2013), 111139.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Creation of Dihedral Escher-like Tilings Based on As-Rigid-As-Possible Deformation

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Graphics
        ACM Transactions on Graphics  Volume 43, Issue 2
        April 2024
        199 pages
        ISSN:0730-0301
        EISSN:1557-7368
        DOI:10.1145/3613549
        • Editor:
        • Carol O'Sullivan
        Issue’s Table of Contents

        Copyright © 2024 Copyright held by the owner/author(s).

        This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike International 4.0 License.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 22 January 2024
        • Online AM: 21 December 2023
        • Accepted: 12 December 2023
        • Revised: 13 November 2023
        • Received: 4 June 2023
        Published in tog Volume 43, Issue 2

        Check for updates

        Qualifiers

        • research-article
      • Article Metrics

        • Downloads (Last 12 months)684
        • Downloads (Last 6 weeks)104

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader