Skip to main content
Log in

An Efficient Exhaustive Search Algorithm for the Escherization Problem

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

In the Escherization problem, given a closed figure in the plane, the objective is to find a closed figure that is as close as possible to the input figure that tiles the plane. Koizumi and Sugihara’s formulation reduces this problem to an eigenvalue problem. In their formulation, only one of the potentially numerous templates is used to parameterize the possible tile shapes for each isohedral type. In this research, we try to search for the best tile shape using all possible templates for the nine most general isohedral types. This extension provides a considerable flexibility in possible tile shapes and improves the quality of the obtained tile shapes. However, the exhaustive search of all possible templates is computationally unrealistic using conventional calculation methods, and we develop an efficient algorithm to perform this in a reasonable computation time.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. It is possible to compute the basis of \(\text{ Ker }(A)\) in \(O(n^2)\) time by utilizing the sparsity of the matrix B, but it takes \(O(n^3)\) time to orthonormalize the obtained basis vectors because they are no longer sparse.

  2. The property of scale-invariance is not necessary here. Therefore, a distance measure defined as \(\min _{\theta } {\left\| R(\theta ) U - W \right\| }^2\) gives the same result, except for the size.

  3. We created this goal polygon by measuring the coordinates of the points from the figure in their paper, and the obtained tile shape is slightly different from theirs.

References

  1. Arkin, E.M., Chew, L.P., Huttenlocher, D.P., Kedem, K., Joseph, S.B.: An efficiently computable metric for comparing polygonal shapes. IEEE Trans. Pattern Anal. Mach. Intell. 13(3), 209–216 (1991)

    Article  Google Scholar 

  2. Grünbaum, B., Shephard, G.C.: Tilings and Patterns. WH Freeman and Company, New York (1987)

    MATH  Google Scholar 

  3. Heesch, H., Kienzle, O.: Flächenschluß: System der formen lückenlos aneinanderschließender Flachteile. Springer-Verlag, Berlin (1963)

    Book  Google Scholar 

  4. Imahori, S., Kawade, S., Yamakata, Y.: Escher-like tilings with weights. In: Proceedings of Discrete and Computational Geometry and Graphs, JCDCGG 2015. Lecture Notes in Computer Science, vol. 9943, pp. 132–142. Springer, Cham (2015)

    Google Scholar 

  5. Imahori, S., Sakai, S.: A local-search based algorithm for the escherization problem. In: The IEEE International Conference on Industrial Engineering and Engineering Management, pp. 151–155 (2012)

  6. Kaplan, C.S.: Introductory tiling theory for computer graphics. Synth. Lect. Comput. Graph. Anim. 4(1), 1–113 (2009)

    MATH  Google Scholar 

  7. Kaplan, C.S., Salesin, D.H.: Escherization. In: Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Techniques, pp. 499–510. ACM Press/Addison-Wesley Publishing Co. (2000)

  8. Koizumi, H., Sugihara, K.: Maximum eigenvalue problem for escherization. Graphs Combin. 27(3), 431–439 (2011)

    Article  MathSciNet  Google Scholar 

  9. Liu, X., Li, X., et al.: The artwork generating system of escher-like positive and negative pattern evolution. In: ACM SIGGRAPH 2017 Posters. ACM (2017)

  10. Ono, S., Kisanuki, M., Machii, H., Mizuno, K.: Creation support for escher-like tiling patterns by interactive genetic algorithms. In: SIGGRAPH Asia 2014 Posters, ACM (2014)

  11. Ono, S., Kisanuki, M., Machii, H., Mizuno, K.: 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, vol. 1, pp. 421–432. Springer, Berlin (2015)

  12. Saad, Y.: Numerical Methods for Large Eigenvalue Problems, revised edn. SIAM, New York (2011)

    Book  Google Scholar 

  13. Schattschneider, D., Escher, M.C.: Visions of Symmetry. Harry N. Abrams, New York (2004)

    Google Scholar 

  14. Werman, M., Weinshall, D.: Similarity and affine invariant distances between 2D point sets. IEEE Trans. Pattern Anal. Mach. Intell. 17(8), 810–814 (1995)

    Article  Google Scholar 

Download references

Acknowledgements

We would like to thank S. Sakai and S. Kawade for the goal figures used in the experiments. This work was supported by JSPS KAKENHI Grant No. 17K00342.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yuichi Nagata.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (pdf 1921 KB)

Appendix: Parameterization of Tile Shapes for IH7

Appendix: Parameterization of Tile Shapes for IH7

For any \(i \in I\) and \(k \in K_i\), the matrix \(B_{ik}\) can be constructed in O(n) time, as described in Sect. 3.3. However, this may be nontrivial if a template has two adjacent J edges that must form a specified angle. We present another example of how the matrix \(B_{ik}\) is constructed in O(n) time for the template of IH7, which includes such J edges.

Figure 12 shows the template of IH7 represented in the same way as in Fig. 3. The constraint conditions imposed on the tiling vertices are expressed by

$$\begin{aligned} \left\{ \begin{array}{l} x^v_{3} - x^v_{2} = \cos \theta (x^v_{1} - x^v_{2}) - \sin \theta (y^v_{1} - y^v_{2}) \\ y^v_{3} - y^v_{2} = \sin \theta (x^v_{1} - x^v_{2}) + \cos \theta (y^v_{1} - y^v_{2}) \\ x^v_{5} - x^v_{4} = \cos \theta (x^v_{3} - x^v_{4}) - \sin \theta (y^v_{3} - y^v_{4}) \\ y^v_{5} - y^v_{4} = \sin \theta (x^v_{3} - x^v_{4}) + \cos \theta (y^v_{3} - y^v_{4}) \\ x^v_{1} - x^v_{6} = \cos \theta (x^v_{5} - x^v_{6}) - \sin \theta (y^v_{5} - y^v_{6}) \\ y^v_{1} - y^v_{6} = \sin \theta (x^v_{5} - x^v_{6}) + \cos \theta (y^v_{5} - y^v_{6}) \end{array} \right. , \end{aligned}$$
(43)

where \(\theta = 120^{\circ }\). Then, we can obtain the matrix \(B_v\) in the same way as in Eq. (16).

The xy-coordinates of the n points are constrained by the following equations (only the constraints for the first and second tiling edges are shown):

$$\begin{aligned} \left\{ \begin{aligned} x_{h(2)+i}-x_{h(2)}&= \cos \theta (x_{h(2)-i}-x_{h(2)}) - \sin \theta (y_{h(2)-i}-y_{h(2)}) \ (i = 1, \dots , k_1)\\ y_{h(2)+i}-y_{h(2)}&= \sin \theta (x_{h(2)-i}-x_{h(2)}) + \cos \theta (y_{h(2)-i}-y_{h(2)}) \ (i = 1, \dots , k_1)\\&\vdots \end{aligned} \right. . \end{aligned}$$
(44)
Fig. 12
figure 12

Template of IH7 for a specific assignment of the points to the tiling edges

By parameterizing \(x_{h(2)-i}-x_{h(2)}\) and \(y_{h(2)-i}-y_{h(2)}\) as \(\xi _{2i}^s\) and \(\xi _{2i+1}^s\), respectively, the tile shape U is then parameterized as follows (only the xy-coordinates of the first and second tiling edges are shown):

(45)

where the blank elements in the column vectors are zero. The matrix \(B'_d\) (see Eq. 22) is then given by the following formula:

(46)

where the row vectors of \(B'_d\) are given by

$$\begin{aligned} \begin{bmatrix} {\varvec{d^b_2}}^{\top } \\ {\varvec{d^f_2}}^{\top } \\ {\varvec{d^b_{n_v+2}}}^{\top } \\ {\varvec{d^f_{n_v+2}}}^{\top } \end{bmatrix}= & {} \begin{bmatrix} {\varvec{d_2}}^{\top } \\ {\varvec{d_2}}^{\top } \\ {\varvec{d_{n_v+2}}}^{\top } \\ {\varvec{d_{n_v+2}}}^{\top } \end{bmatrix} - \dfrac{1}{2} { \begin{bmatrix} 1 \\ \cos \theta \\ 0 \\ \sin \theta \end{bmatrix} }^{\top } \begin{bmatrix} {\varvec{d_2}}^{\top } \\ {\varvec{d_2}}^{\top } \\ {\varvec{d_{n_v+2}}}^{\top } \\ {\varvec{d_{n_v+2}}}^{\top } \end{bmatrix} \begin{bmatrix} 1 \\ \cos \theta \\ 0 \\ \sin \theta \end{bmatrix}\nonumber \\&- \dfrac{1}{2} { \begin{bmatrix} 0 \\ -\sin \theta \\ 1 \\ \cos \theta \end{bmatrix} }^{\top } \begin{bmatrix} {\varvec{d_2}}^{\top } \\ {\varvec{d_2}}^{\top } \\ {\varvec{d_{n_v+2}}}^{\top } \\ {\varvec{d_{n_v+2}}}^{\top } \end{bmatrix} \begin{bmatrix} 0 \\ -\sin \theta \\ 1 \\ \cos \theta \end{bmatrix} . \end{aligned}$$
(47)

Obviously, we can construct the matrix \(B_{ik}\) in O(n) time because the matrix \(B_s\) is sparse, all column vectors of \(B_s\) are mutually orthogonal, and the matrix \(B'_d\) is obtained in O(n) time.

In fact, we must consider \(\theta =-120^{\circ }\) as well in the template of IH7. This can be easily implemented by considering the reverse numbering scheme of the goal polygon. The same process is necessary for IH21 and IH28.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Nagata, Y., Imahori, S. An Efficient Exhaustive Search Algorithm for the Escherization Problem. Algorithmica 82, 2502–2534 (2020). https://doi.org/10.1007/s00453-020-00695-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-020-00695-6

Keywords

Navigation