Next Article in Journal
An Independent Cascade Model of Graph Burning
Next Article in Special Issue
Total Perfect Roman Domination
Previous Article in Journal
Symmetry Analysis for the 2D Aw-Rascle Traffic-Flow Model of Multi-Lane Motorways in the Euler and Lagrange Variables
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Convex Polygon Triangulation Based on Symmetry

by
Predrag V. Krtolica
1,
Predrag S. Stanimirović
1,2,*,
Sead H. Mašović
1,
Islam A. Elshaarawy
3 and
Alena Stupina
2
1
Faculty of Sciences and Mathematics, University of Niš, Višegradska 33, 18000 Niš, Serbia
2
Laboratory “Hybrid Methods of Modelling and Optimization in Complex Systems”, Siberian Federal University, Prosp. Svobodny 79, 660041 Krasnoyarsk, Russia
3
Faculty of Engineering (at Shoubra), Benha University, Cairo 11672, Egypt
*
Author to whom correspondence should be addressed.
Symmetry 2023, 15(8), 1526; https://doi.org/10.3390/sym15081526
Submission received: 30 June 2023 / Revised: 28 July 2023 / Accepted: 31 July 2023 / Published: 2 August 2023
(This article belongs to the Special Issue Symmetry and Graph Theory)

Abstract

:
A polygon with n nodes can be divided into two subpolygons by an internal diagonal through node n. Splitting the polygon along diagonal δ i , n and diagonal δ n i , n , i { 2 , , n / 2 } results in mirror images. Obviously, there are n / 2 1 pairs of these reflectively symmetrical images. The influence of the observed symmetry on polygon triangulation is studied. The central result of this research is the construction of an efficient algorithm used for generating convex polygon triangulations in minimal time and without generating repeat triangulations. The proposed algorithm uses the diagonal values of the Catalan triangle to avoid duplicate triangulations with negligible computational costs and provides significant speedups compared to known methods.
MSC:
32B25; 14J33; 68R05

1. Introduction and Preliminaries

Polygon triangulation is an important problem in computer graphics, measuring, military, metrology, astrometry, and other areas. A triangulation of a convex polygon can be described by non-intersecting internal polygon diagonals. Let P n denote a polygon with n vertices { 1 , 2 , , n } . The number of triangulations of P n is denoted by T n . As it is known, all P n triangulations are counted by the Catalan number C n 2 . Readers can find excellent monographs, like in references [1] or [2], regarding Catalan numbers and their role in solving various combinatorial problems. For more details about the Catalan triangle, see [3,4].
According to the standard notation, a diagonal that connects vertices i and j is denoted by δ i , j . The set of all triangulations of P n defined by internal diagonals δ i , j is denoted by T n . Clearly, T 3 = { { } } . Also, the cardinality of the set T n is denoted by T n .
Different types of symmetries are known to appear in the form of convex polygons. A zonogon is a centrally-symmetric convex polygon; its sides are grouped into parallel pairs of equal lengths and opposite orientations [5]. The four-sided and six-sided zonogons are able to cover the plane by translating themselves. In addition, a regular polygon P k possesses exactly k lines of symmetry.
The following comment describes one type of symmetry that is important in generating triangulations.
Remark 1.
For a given equilateral convex polygon P n , the diagonal δ i , n splits the polygon P n into two polygons. Obviously, splitting made by diagonals δ i , n and δ n i , n produces mirror images, or reflexive symmetry, where the line of symmetry is placed between these two objects, as in Figure 1.
In this paper the TBS (triangulation based on symmetry) method for convex polygon triangulation is suggested, considering symmetry, as described in Remark 1. The goal of the current research is to examine how the symmetry splitting of a polygon affects the triangulation generation. An efficient algorithm for convex polygon triangulation was constructed as a result of this investigation. The performance of the TBS method is compared to the performance of the Block method described in [6]. In addition, in [6], the performance of the Block method is compared to the performance of the Hurtado–Noy method introduced in [7].
This manuscript is organized as follows. Several convex polygon triangulation methods are briefly described in Section 2. A brief survey of polygon triangulation papers concerning symmetry is presented in Section 3. The underlying theoretical results and the algorithm for the TBS method are presented in Section 4. Illustrative examples are presented in Section 5. A comparison between the TBS method and the Block method [6] is presented in Section 6. Our concluding remarks and some perspectives for further research are presented in Section 7.

2. Polygon Triangulation Literature Review

Several papers deal with the triangulation problem and suggest different solutions. A few of these papers are referred to below (thus, we are able to compare what is presented in these papers to the method that we are about to present).
Some of the proposed methods use previously generated triangulations of polygon P b , where b is an integer in the range 2 < b < n , and incorporate them into T n , using memoization. Such an algorithm was presented in [8].
In the Block method [6], it has been observed that each element in T n 1 presents a start of exactly two elements in T n . Hence, 2 T n 1 triangulations of P n can be derived recursively with minimal computational costs, while a more complicated process for generating the rest of the T n 2 T n 1 triangulations is required. The main flaw of this process involves the elimination of duplicate triangulations. Memoization and recursion are used to eliminate duplicates in conjunction with a suitable series of relatively complicated calculations. Yet, a certain speedup is achieved compared to the method described in [7].
A novel method for generating triangulations of a convex polygon, which was developed based on planted trivalent binary trees and ballot notations, was presented in [9].

3. Fundamental Concepts of Symmetry in Convex Polygon Triangulation

A geometrical presentation of polygon triangulations has led to the conclusion that different types of symmetry can be found in them. The number of papers that considered various symmetry properties in (convex) polygon triangulation is presented.
In [7], Hurtado and Noy constructed the graph of triangulations G T ( n ) , establishing the triangulation hierarchy. For that purpose, the authors used a process of splitting the polygon diagonal and introduced a relation of adjacency between triangulations. The adjacent triangles in a triangulation form a quadrilateral, where the common edge of the two triangles is a diagonal of the quadrilateral. So, given the current triangulation, another one can be created by flipping this diagonal, i.e., removing it from the quadrilateral and placing it to connect two different quadrilateral nodes (see Figure 2). Such a diagonal flipping is obviously based on a symmetry property.
In [10], the authors considered the set T n of all triangulations of a convex n-gon. Further, they studied some geometric features of a triangulation τ T n and the degree d i of a vertex v i , i = 0 , , n 1 , i.e., the number of diagonals incident to v i .
In [11] a k-dissection of an n-gon was defined as a partition of the n-gon into the k + 1 polygon by k non-crossing diagonals. So, the triangulation of n-gon is its ( n 3 ) -dissection. Further, the authors dealt with various classes of symmetry dissections and provided enumerating formulas for them.
In [12], the authors noticed and exploited symmetry in the proof of lemma 4.2.
Some symmetry properties were observed in [13], where the orbiting triangle method was described. The triangle that contained an ear in the n-gon was orbiting the ( n 1 ) -gon.
In [14], the authors noted the existence of isomorphic triangulations obtained by reflection and/or rotation and introduced the geometric classification of the convex polygon triangulations. Further, the authors defined and studied the reflectional symmetry of triangulations and, using such research, counted non-isomorphic triangulations of different classes.
The authors of [15] considered symmetry classes of triangulations derived by rotation and reflection (Figure 3). The authors noted that rotations and reflections preserved the number of fans in a triangulation and counted symmetry classes of two-eared triangulations.
In [16], the authors counted the number of dissections of an n-gon, when a dissection obtained by rotation, reflection, or both, was considered to be the same as the original one.
In [17], the author enumerated the triangulations of a regular convex polygon according to the number of diagonals parallel to a fixed polygon edge. There f x y ( n , k ) denoted a number of triangulations of a regular n-gon, which included exactly k diagonals parallel to the edge x y . Noting the symmetry, the author suggests that f x y ( n , k ) depended only on the value ( y x ) mod n and not on the choice of x and y.
In [18], the author investigated small polygons or polygons with a unit diameter, and found the axes of symmetry in the polygons. Centrally symmetric triangulations of convex polygons were used in [19]. The authors of [20] also studied the symmetry between triangulations and took it into consideration for counting purposes. In [21], the author observed the symmetry of triangulations by studying the acute polygon triangulations.

4. The Algorithm

Before exposing core theoretical observations, let us propose some notations.
Definition 1.
Let A = { A 1 , , A m } and B = { B 1 , , B n } be two sets of triangulations. The operation A B is defined as
A B = { A 1 B 1 , , A 1 B n , A 2 B 1 , , A 2 B n , , A m B 1 , , A m B n } .
Definition 2.
Let the notations { v 1 u 1 , , v m u m } refer to a substitution mapping of each vertex v j to the corresponding vertex u j , for j = 1 , , m , and every other vertex to itself.
The TBS method, which is about to be presented, similar to the Block method [6], uses triangulations of every P b , 2 < b < n , to generate triangulations T n of P n . Obviously, a polygon P n can arise from a polygon P n 1 by adding the vertex n. In the triangulations of P n , the newly added vertex n can be an ear or the endpoint of an internal diagonal. Let T n E denote the set of triangulations of P n that does not have a diagonal through the vertex n (or in which n is an ear). On the other hand, if a triangulation of P n has a diagonal through the vertex n, denoted by δ i , n , we observe two subpolygons P L , i n (resp. P R , i n ), with a set of triangulations T L , i n = T ( P L , i n ) (resp. T R , i n = T ( P R , i n ) ). Note that neither T L , i n nor T R , i n has a diagonal through n.
According to this observation, two cases are distinguished.
  • Case 1, n is an ear.
    When vertex n is an ear (cf. [14]), corresponding P n triangulations are generated as T n E : = T n 1 { { δ 1 , n 1 } } , which means appending the diagonal δ 1 , n 1 to every triangulation from the set of triangulations T n 1 .
  • Case 2, n is an endpoint of an internal diagonal.
    The given polygon P n is split in all possible ways through vertex n (using diagonals δ 2 , n , , δ n 2 , n ). Splitting the polygon P n by means of an arbitrary internal diagonal δ i , n , i { 2 , , n 2 } generates the left subpolygon P L , i n and the right subpolygon P R , i n . As noted in Remark 1, there is symmetry in the polygons split by diagonal δ i , n and those split by diagonal δ n i , n , because they represent the mirror images. Later, the possible differences in such cases will be checked. Such partitions ( P L , i n , P R , i n ) are defined as
    P L , i n : = { 1 , , i , n } , P R , i n : = { i , , n 1 , n } , i = 2 , , n 2 .
    So, consider all partitions ( P L , i n , P R , i n ) of P n
    { ( P L , i n , P R , i n ) | i = 2 , , n 2 } ,
    where P L , i n and P R , i n are defined as in (1).
Moreover, in certain cases, a suitable mapping of vertex indices of P b , b < n is needed. Namely, vertex indices appear as the endpoints of internal diagonals, which describe a polygon triangulation. When the vertex n is added, some of the diagonals describing the triangulations of P b can change the index of one or both of its endpoints.
In Case 1, such a mapping is not necessary. But, in Case 2, such a mapping is required. It is necessary to take into account that previously generated triangulations of P i + 1 contain the indices from the set { 1 , , i , i + 1 } as the endpoints of their own internal diagonals. Taking into account P L , i n : = { 1 , , i , n } , it can be concluded that the index i + 1 has to be transformed into n whenever it appears. Using the notation introduced by Definition 2, such a transformation can be described as P L , i n : = P i + 1 { i + 1 n } .
The polygon P R , i n is defined by the indices { i , , n 1 , n } , while previously generated triangulations of P n i + 1 are described by the set of indices { 1 , , n i , n i + 1 } .
Hence, P R , i n = P n i + 1 { j j + i 1 : j { 1 , 2 , , n i + 1 } } .
The cardinal number of T L , i n (resp. of T R , i n ) is denoted by T L , i n (resp. by T R , i n ).
Summarily,
T n = T n E i = 2 n 2 T L , i n { { δ i , n } } T R , i n
T n E = T n 1 { { δ 1 , n 1 } }
T L , i n = T ( P L , i n ) = T i + 1 { i + 1 n }
T R , i n = T n i { j j + i 1 : j { 1 , 2 , , n i } } { { δ i , n 1 } }
The triangulation numbers for P L , i n and P R , i n are determined by the corresponding values of the Catalan triangle (6).
C ( n , k ) = ( n + k ) ! ( n k + 1 ) k ! ( n + 1 ) ! ,
Lemma 1.
Partition (1) satisfies the following properties:
(a) 
T L , i n = C ( i 1 , i 1 ) = C i 1 .
(b) 
T R , i n = C ( n i 1 , n i 1 ) = C n i 1 .
Proof. 
According to the Catalan number formula and the Catalan triangle construction Formula (6), it follows that
C ( i 1 , i 1 ) = ( i 1 + i 1 ) ! ( i 1 i + 1 + 1 ) ( i 1 ) ! i ! = ( 2 i 2 ) ! ( i 1 ) ! i ! = C i 1 = T i + 1 .
Finally, the identities
T L , i n = T i + 1 , T R , i n = T n i + 1
complete the proof.    □
All the elements of T L , i n are necessary for generating T n . However, the repeated triangulations in generating T R , i n must be avoided. Hence, regardless of the mirror symmetry of T L , i n and T R , i n , from one side, and T L , n i n and T R , n i n , from the other side, there is a non-symmetrical behavior between the left and right subpolygons.
Theorem 1.
Only P R , i n triangulations that contain the diagonal δ i , n can generate duplicate triangulations in T n .
Proof. 
The diagonal δ i , n appears as internal diagonal, making a triangulation for P L , i + 1 , because we accept all triangulations of P L , i + 1 n . Hence, if all triangulations of P R , i n : = { i , , n 1 , n } are accepted, a duplicate triangulation containing the triangle ( i , i + 1 , n ) would appear. To avoid this, consider only triangulations of P R , i n in which the vertex n appears as an ear. These are the triangulations of P R , i n 1 completed by δ i , n 1 . In other words, consider only the first C ( n i 1 , n i 1 ) triangulations of P R , i n .    □
Theorem 2.
The TBS method generates the correct number ( C n 2 ) of different P n triangulations.
Proof. 
By virtue of Case 1, a contribution to the total number of P n triangulations is T n 1 = C n 3 triangulations. These triangulations T n E : = T n 1 { { δ 1 , n 1 } } are distinct as triangulations in T n 1 are distinct.
In Case 2, when P n is split by δ 2 , n , P L , 2 n : = { 1 , 2 , n } is a triangle with a unique trivial triangulation ( T 3 = C 1 = 1 ) combined by T n 2 = C n 4 triangulations accepted from P R , 2 n (making all triangulations of P R , 2 n 1 ).
The splitting of P n by arbitrary δ i , n , i > 2 gives P L , i n with T i + 1 = C i 1 accepted triangulations of T ( P L , i ) combined with
T n i = C ( n i 2 , n i 2 ) = C n i 2
triangulations T R , i n 1 .
Triangulations in T L , i n { { δ i , n } } T R , i n , i { 2 , , n 2 } are distinct as triangulations in T L , i n are distinct and triangulations in T R , i n are distinct.
Also, i { 2 , , n 2 } ( T n E T L , i n { { δ i , n } } T R , i n ) = , because triangulations in T n E do not contain the diagonal δ i , n .
Similarly, i 1 , i 2 { 2 , , n 2 } , i 1 < i 2 , it follows that
( T L , i 1 n { { δ i + 1 , n } } T R , i 1 n ) ( T L , i 2 n { { δ i 2 , n } } T R , i 2 n ) = ,
because no triangulation in ( T L , i 1 n { { δ i + 1 , n } } T R , i 1 n ) contains the diagonal δ i 2 , n .
As T 2 = 1 , and keeping in mind that we accept T i + 1 triangulations from P L , i n and T n i triangulations from P R , i n , it is possible to obtain Segner’s formula:
T n 1 + i = 2 n 2 T i + 1 T n i = T n 1 T 2 + i = 3 n 1 T i T n i + 1 = i = 2 n 1 T i T n i + 1 = T n .
By using collision avoidance, all triangulations are different and their numbers are expected T n = C n 2 , verifying the correctness of our method.    □
The TBS method is formally described in Algorithm 1.
Algorithm 1 TBS method algorithm
  • Input: A positive integer n and sets T b , b < n (described by the sets of corresponding internal diagonals δ i , j ).
   1: Case 1: n is an ear Read T n 1 triangulations from the input.
   2: T n E : = T n 1 { { δ 1 , n 1 } } .
  3: T n : = T n E .
  4: Case 2: n is a vertex of an internal diagonal
   5: for i = 2 to n 2 do
    6: Split polygon P n by δ i , n into two subpolygons P L , i n and P R , i n .
    7: (a) T L , i n = T ( P L , i n ) = T i + 1 { i + 1 n }
    8: (b) T R , i n = T n i { j j + i 1 : j { 1 , 2 , , n i } } { { δ i , n 1 } }
    9: (c) T n : = T n T L , i n { { δ i , n } } T R , i n
10:
 
11:
Return T n
To estimate the algorithm complexity, let us consider Equations (2)–(5), which contain information about comprised operations ⊗ and ↦. A set of C n 3 operations ⊗ is used to generate T n E according to (3). Furthermore, one ↦ operation is required for generating T L , i n according to (4). Then, n i operations ↦ and one ⊗ operation are required to generate T R , i n in (5). In addition, two more ⊗ operations are needed according to (2). Altogether, the number of needed operations is
C n 3 + i = 2 n 2 ( 4 + n i )
The rapid increase in the required number of operations with smaller values of n is presented in Figure 4.

5. Illustration of the Method

Example 1 illustrates the operation ⊗ between two sets of internal diagonals, while Example 2 is a stepwise illustration of Algorithm 1.
Example 1.
Let A = { { δ 1 , 3 } , { δ 2 , 7 } } and B = { { δ 3 , 7 , δ 3 , 5 } , { δ 3 , 7 , δ 4 , 6 } } . Then,
A B = { { δ 1 , 3 } , { δ 2 , 7 } } { { δ 3 , 7 , δ 3 , 5 } , { δ 3 , 7 , δ 4 , 6 } } = { { δ 1 , 3 } { δ 3 , 7 , δ 3 , 5 } , { δ 1 , 3 } { δ 3 , 7 , δ 4 , 6 } , { δ 2 , 7 } { δ 3 , 7 , δ 3 , 5 } , { δ 2 , 7 } { δ 3 , 7 , δ 4 , 6 } } = { { δ 1 , 3 , δ 3 , 7 , δ 3 , 5 } , { δ 1 , 3 , δ 3 , 7 , δ 4 , 6 } , { δ 2 , 7 , δ 3 , 7 , δ 3 , 5 } , { δ 2 , 7 , δ 3 , 7 , δ 4 , 6 } } .
Example 2.
Let us illustrate Algorithm 1 on the hexagon example ( P 6 ). Two important cases can be observed.
Case 1: n is an ear.
The situation in which n is an ear is illustrated in Figure 5.
When the vertex n = 6 is an ear, Step 1 of Algorithm 1 is performed; hence, the whole set T 5 is entirely accepted, appending the diagonal δ 1 , 5 to each element. In this way, five triangulations of P 6 are derived, as follows:
T 6 E = T 5 { { δ 1 , 5 } } = { { δ 1 , 3 , δ 1 , 4 , δ 1 , 5 } , { δ 2 , 4 , δ 1 , 4 , δ 1 , 5 } , { δ 2 , 5 , δ 2 , 4 , δ 1 , 5 } , { δ 1 , 3 , δ 3 , 5 , δ 1 , 5 } , { δ 2 , 5 , δ 3 , 5 , δ 1 , 5 } } .
This step is summarized in Table 1.
Case 2: n is the endpoint of an internal diagonal.
The polygon can be divided by connecting the vertex n = 6 with vertices from the set { 2 , , n 2 } , or in this particular case, { 2 , 3 , 4 } . Thus, the polygon can be divided by diagonals δ 2 , 6 , δ 3 , 6 , and δ 4 , 6 (see Figure 6).
In this case, Step 2 of Algorithm 1 should be repeated n 3 = 3 times. The corresponding processing is presented as parts (A)–(C) of this case.
(A) Splitting the diagonal δ 2 , 6 .
P L , 2 6 is a triangle, so C ( 1 , 1 ) = 1 , and there is only one trivial triangulation without internal diagonals describing it. Hence, according to Step 2(a), T L , 2 6 = T 2 + 1 { 2 + 1 6 } = { { } } { 3 6 } = { { } } .
P R , 2 6 is a pentagon, and only the first C ( 2 , 2 ) = 2 triangulations should be taken from the set of T 5 , and the vertex index mapping should be made to obtain T R , 2 6 (Table 2). The details are described as follows.
T R , 2 6 = T 6 2 { j j + 2 1 : j { 1 , 2 , , 6 2 } } { { δ 2 , 6 1 } } = T 4 { j j + 1 : j { 1 , 2 , , 4 } } { { δ 2 , 5 } } = { { δ 1 , 3 } , { δ 2 , 4 } } { j j + 1 : j { 1 , 2 , , 4 } } { { δ 2 , 5 } } = { { δ 2 , 4 } , { δ 3 , 5 } } { { δ 2 , 5 } } = { { δ 2 , 4 , δ 2 , 5 } , { δ 3 , 5 , δ 2 , 5 } }
Finally, Step 2 (c) of Algorithm 1 yields
T 6 : = T 6 T L , 2 6 { { δ 2 , 6 } } T R , 2 6 = { { δ 1 , 3 , δ 1 , 4 , δ 1 , 5 } , { δ 2 , 4 , δ 1 , 4 , δ 1 , 5 } , { δ 2 , 5 , δ 2 , 4 , δ 1 , 5 } , { δ 1 , 3 , δ 3 , 5 , δ 1 , 5 } , { δ 2 , 5 , δ 3 , 5 , δ 1 , 5 } , { δ 2 , 6 , δ 2 , 4 , δ 2 , 5 } , { δ 2 , 6 , δ 3 , 5 , δ 2 , 5 } } .
(B) Splitting the diagonal δ 3 , 6 .
P L , 3 6 is a quadrilateral and all C ( 2 , 2 ) = 2 triangulations from T 4 should be considered. After the vertex index mappings, we obtain T L , 3 6 = T 3 + 1 { 3 + 1 6 } = T 4 { 4 6 } = { { δ 1 , 3 } , { δ 2 , 6 } } (Table 3).
The polygon P R , 3 6 is a quadrilateral, and by collision avoidance, only the first C ( 1 , 1 ) = 1 triangulation from T 4 is taken into account; after the vertex index mappings, T R , 3 6 is obtained (Table 4).
According to Step 2 (c), we obtain
T L , 3 6 { { δ 3 , 6 } } T R , 3 6 = { { δ 1 , 3 , δ 3 , 6 , δ 3 , 5 } , { δ 2 , 6 , δ 3 , 6 , δ 3 , 5 } } .
(C) Splitting the diagonal δ 4 , 6 .
P L , 4 6 is a pentagon, and all C ( 3 , 3 ) = 5 triangulations from T 5 are taken into account. After the vertex index mappings, we obtain
T L , 4 6 = { { δ 1 , 3 , δ 1 , 4 } , { δ 2 , 4 , δ 1 , 4 } , { δ 2 , 6 , δ 2 , 4 } , { δ 2 , 6 , δ 1 , 3 } , { δ 3 , 6 , δ 3 , 6 } } (Table 5).
P R , 4 6 is a triangle with no internal diagonals to describe this trivial triangulation, so T R , 4 6 = { { } } .
Henceforth,
T L , 4 6 { { δ 4 , 6 } } T R , 4 6 = { { δ 1 , 3 , δ 1 , 4 , δ 4 , 6 } , { δ 2 , 4 , δ 1 , 4 , δ 4 , 6 } , { δ 2 , 6 , δ 2 , 4 , δ 4 , 6 } , { δ 1 , 3 , δ 3 , 6 , δ 4 , 6 } , { δ 2 , 6 , δ 3 , 6 , δ 4 , 6 } } .
Finally, T 6 is as follows:
T 6 = { δ 1 , 3 , δ 1 , 4 , δ 1 , 5 } , { δ 2 , 4 , δ 1 , 4 , δ 1 , 5 } , { δ 2 , 5 , δ 2 , 4 , δ 1 , 5 } , { δ 1 , 3 , δ 3 , 5 , δ 1 , 5 } , { δ 2 , 5 , δ 3 , 5 , δ 1 , 5 } , { δ 2 , 6 , δ 2 , 4 , δ 2 , 5 } , { δ 2 , 6 , δ 3 , 5 , δ 2 , 5 } , { δ 1 , 3 , δ 3 , 6 , δ 3 , 5 } , { δ 2 , 6 , δ 3 , 6 , δ 2 , 5 } , { δ 1 , 3 , δ 1 , 4 , δ 4 , 6 } , { δ 2 , 4 , δ 1 , 4 , δ 4 , 6 } , { δ 2 , 6 , δ 2 , 4 , δ 4 , 6 } , { δ 1 , 3 , δ 3 , 6 , δ 4 , 6 } , { δ 2 , 6 , δ 3 , 6 , δ 4 , 6 } .
The following section compares the execution times between the Block method and TBS method.

6. Numerical Results

The efficiency of polygon triangulation algorithms is reflected in the way they treat the appearance of duplicate triangulations that exponentially increase with the polygon size. The proposed TBS method provides an intuitive and efficient approach for eliminating duplicates by using values from the Catalan triangle. This achievement provides a significant speedup compared to the performance of the original Block method, as shown in Table 6.
Note that the original Block method achieves a certain speedup compared to the Hurtado–Noy method from [7]. A detailed numerical comparison of the original Block method and the Hurtado–Noy method is presented in [6].

7. Conclusions

There is a large group of relatively simple algorithms for generating triangulations of a convex polygon P n . This class of algorithms is based on the main idea that previously generated triangulations for polygon P b , 2 < b < n can be used to generate new ones. However, their main drawback is the generation of duplicate triangulations. The way they avoid or remove duplicates significantly influences their performances.
On the other hand, the TBS method proposed in this paper identifies the situations that lead to duplicate generation and uses the values of the Catalan triangle to determine how many triangulations of polygon P b , 2 < b < n should be accepted. In that way, by negligible computational costs, the generation of any duplicate triangulation is prevented. A natural consequence is a significant speedup compared to the Block method. While facing the issue of duplicate triangulations, we learned how the geometrical symmetry between subpolygons affects triangulation generation and the avoidance of duplicates.
Further research can focus on the polygon splitting of more than two subpolygons and the construction of a more efficient algorithm.
Moreover, knowing that there is a limited number of symmetry classes of polygon triangulations, future research could observe the rotation and reflection operations for producing unique triangulations that are not repeated. The avoidance of duplicates would still be an important issue. The use of Catalan triangle values might be helpful. Finally, an acceptable computational cost of the avoidance of duplicates should at least be as small as in the TBS method.

Author Contributions

Conceptualization, S.H.M., I.A.E. and P.S.S.; methodology, P.S.S., P.V.K. and S.H.M.; software, S.H.M. and I.A.E.; validation, P.S.S., P.V.K. and A.S.; formal analysis, P.V.K., P.S.S. and S.H.M.; investigation, P.S.S., P.V.K. and I.A.E.; resources, A.S. and S.H.M.; data curation, I.A.E. and S.H.M.; writing—original draft, S.H.M. and I.A.E.; writing—review and editing, P.S.S., P.V.K. and A.S.; visualization, P.V.K. and S.H.M.; funding acquisition, A.S. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the Ministry of Science and Higher Education of the Russian Federation (grant no. 075-15-2022-1121).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data and code will be provided upon request to the authors.

Acknowledgments

Predrag Stanimirović gratefully acknowledges support from the Ministry of Education, Science, and Technological Development, Republic of Serbia, grant no. 174013/451-03-68/2020-14/200124 and from the Science Fund of the Republic of Serbia (no. 7750185, Quantitative Automata Models: Fundamental Problems and Applications—QUAM).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Stanley, R.P. Enumerative Combinatorics; Cambridge University Press: Cambridge, UK, 1999; Volume 2. [Google Scholar]
  2. Koshy, T.; Zheng, B. Catalan Numbers with Applications; Oxford University Press: New York, NY, USA, 2009. [Google Scholar]
  3. Bailey, D.F. Counting Arrangements of 1’s and -1’s. Math. Mag. 1996, 69, 128–131. [Google Scholar] [CrossRef]
  4. Shapiro, L.W. A Catalan triangle. Discret. Math. 1976, 14, 83–90. [Google Scholar] [CrossRef] [Green Version]
  5. Boltyanski, V.; Martini, H.; Soltan, P.S. Excursions into Combinatorial Geometry; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2012; p. 319. ISBN 9783642592379. [Google Scholar]
  6. Stanimirović, P.S.; Krtolica, P.V.; Saračević, M.; Mašović, S. Block Method for Convex Polygon Triangulation. ROMJIST 2012, 15, 344–354. [Google Scholar]
  7. Hurtado, F.; Noy, M. Graph of triangulations of a convex polygon and tree of triangulations. Comput. Geom. 1999, 13, 179–188. [Google Scholar] [CrossRef] [Green Version]
  8. Krtolica, P.; Stanimirović, P.; Tasić, M.; Pepić, S. Triangulation of convex polygon with storage support. Facta Univ. Ser. Math. Inform. 2014, 29, 189–208. [Google Scholar]
  9. Saracevic, M.; Selimi, A. Convex polygon triangulation based on planted trivalent binary tree and ballot problem. Turk. J. Electr. Eng. Comput. Sci. 2019, 27, 346–361. [Google Scholar] [CrossRef] [Green Version]
  10. Devroye, L.; Flajolet, P.; Hurtado, F.; Noy, M.; Steiger, W. Properties of random triangulations and trees. Discret. Comput. Geom. 1999, 22, 105–117. [Google Scholar] [CrossRef] [Green Version]
  11. Bowman, D.; Regev, A. Counting symmetry classes of dissections of a convex regular polygon. Adv. Appl. Math. 2014, 56, 35–55. [Google Scholar] [CrossRef]
  12. Mirzoev, T.; Vassilev, T.S. Quadratic time computable instances of maxmin and minmax area triangulations of convex polygons. Serdica J. Comput. 2010, 4, 335–348. [Google Scholar] [CrossRef]
  13. Mašović, S.H.; Elshaarawy, I.A.; Stanimirović, P.S.; Krtolica, P.V. Orbiting Triangle Method for convex polygon triangulation. Appl. Anal. Discret. Math. 2018, 12, 439–454. [Google Scholar] [CrossRef] [Green Version]
  14. Sen Gupta, S.; Mukhopadhyaya, K.; Bhattacharya, B.B.; Sinha, B.P. Geometric classification of triangulations and their enumeration in a convex polygon. Comput. Math. Appl. 1994, 27, 99–115. [Google Scholar] [CrossRef] [Green Version]
  15. Asinowski, A.; Regev, A. Triangulations with few ears: Symmetry classes and disjointness. Integers 2016, 16, 1–12. [Google Scholar]
  16. Moon, J.W.; Moser, L. Triangular dissections of n-gons. Can. Math. Bull. 1963, 6, 175–178. [Google Scholar] [CrossRef]
  17. Regev, A. Enumerating triangulations by parallel diagonals. arXiv 2012, arXiv:1208.3915. [Google Scholar]
  18. Bingane, C. Tight bounds on the maximal area of small polygons: Improved Mossinghoff polygons. arXiv 2022, arXiv:2110.11741. [Google Scholar] [CrossRef]
  19. Pournine, L. The asymptotic diameter of cyclohedra. arXiv 2014, arXiv:1410.5259v1. [Google Scholar] [CrossRef] [Green Version]
  20. Asinowski, A.; Krattenthaler, C.; Mansour, T. Counting triangulations of subdivided convex polygons. Eur. J. Comb. 2017, 62, 92–114. [Google Scholar] [CrossRef] [Green Version]
  21. Bishop, C.J. Uniformly Acute Triangulations of Polygons. Discret. Comput. Geom. 2023. [Google Scholar] [CrossRef]
Figure 1. Splitting made by diagonals δ i , n and δ n i , n produces mirror images.
Figure 1. Splitting made by diagonals δ i , n and δ n i , n produces mirror images.
Symmetry 15 01526 g001
Figure 2. Flipping the diagonal δ 3 , 5 into the diagonal δ 1 , 4 provides adjacent triangulation.
Figure 2. Flipping the diagonal δ 3 , 5 into the diagonal δ 1 , 4 provides adjacent triangulation.
Symmetry 15 01526 g002
Figure 3. Three symmetry classes of a hexagon.
Figure 3. Three symmetry classes of a hexagon.
Symmetry 15 01526 g003
Figure 4. Number of needed operations for a smaller n.
Figure 4. Number of needed operations for a smaller n.
Symmetry 15 01526 g004
Figure 5. The case where n is an ear.
Figure 5. The case where n is an ear.
Symmetry 15 01526 g005
Figure 6. The case when n is the vertex of an internal diagonal.
Figure 6. The case when n is the vertex of an internal diagonal.
Symmetry 15 01526 g006
Table 1. Case 1: n is an ear.
Table 1. Case 1: n is an ear.
T 5 Append T 6 E
δ 1 , 3 , δ 1 , 4 δ 1 , 5 δ 1 , 3 , δ 1 , 4 , δ 1 , 5
δ 2 , 4 , δ 1 , 4 δ 1 , 5 δ 2 , 4 , δ 1 , 4 , δ 1 , 5
δ 2 , 5 , δ 2 , 4 δ 1 , 5 δ 2 , 5 , δ 2 , 4 , δ 1 , 5
δ 1 , 3 , δ 3 , 5 δ 1 , 5 δ 1 , 3 , δ 3 , 5 , δ 1 , 5
δ 2 , 5 , δ 3 , 5 δ 1 , 5 δ 2 , 5 , δ 3 , 5 , δ 1 , 5
Table 2. Vertex index mappings for the polygon P R , 2 6 .
Table 2. Vertex index mappings for the polygon P R , 2 6 .
T 5 T R , 2 6
{ 1 , 2 , 3 , 4 , 5 } { 2 , 3 , 4 , 5 , 6 }
δ 1 , 3 , δ 1 , 4 δ 2 , 4 , δ 2 , 5
δ 2 , 4 , δ 1 , 4 δ 3 , 5 , δ 2 , 5
δ 2 , 5 , δ 2 , 4
δ 1 , 3 , δ 3 , 5
δ 2 , 5 , δ 3 , 5
Table 3. Vertex index mappings for the polygon P L , 3 n .
Table 3. Vertex index mappings for the polygon P L , 3 n .
T 4 T L , 3 6
{ 1 , 2 , 3 , 4 } { 1 , 2 , 3 , 6 }
δ 1 , 3 δ 1 , 3
δ 2 , 4 δ 2 , 6
Table 4. Vertex index mappings for the polygon P R , 3 6 .
Table 4. Vertex index mappings for the polygon P R , 3 6 .
T 4 T R , 3 6
{ 1 , 2 , 3 , 4 } { 3 , 4 , 5 , 6 }
δ 1 , 3 δ 3 , 5
δ 2 , 4
Table 5. Vertex index mappings for the polygon P L , 4 .
Table 5. Vertex index mappings for the polygon P L , 4 .
T 5 T L , 4 6
{ 1 , 2 , 3 , 4 , 5 } { 1 , 2 , 3 , 4 , 6 }
δ 1 , 3 , δ 1 , 4 δ 1 , 3 , δ 1 , 4
δ 2 , 4 , δ 1 , 4 δ 2 , 4 , δ 1 , 4
δ 2 , 5 , δ 2 , 4 δ 2 , 6 , δ 2 , 4
δ 1 , 3 , δ 3 , 5 δ 1 , 3 , δ 3 , 6
δ 2 , 5 , δ 3 , 5 δ 2 , 6 , δ 3 , 6
Table 6. The execution times: The Block method vs. TBS method.
Table 6. The execution times: The Block method vs. TBS method.
nNumber of TriangulationsBlockTBSSpeedupSpeedup
MethodMethodPercentage
550.0130.000--
6140.0160.000--
7420.0190.000--
81320.0230.000--
94290.0530.0153.44244
1014300.1520.0188.42742
1148620.4980.02025.522452
1216,7962.3190.04453.205220
1358,7868.5990.075114.9611,396
14208,01237.6500.116325.6932,469
15742,900171.5390.488351.8035,080
162,674,440-2.550 -
179,694,845-12.309 -
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Krtolica, P.V.; Stanimirović, P.S.; Mašović, S.H.; Elshaarawy, I.A.; Stupina, A. Convex Polygon Triangulation Based on Symmetry. Symmetry 2023, 15, 1526. https://doi.org/10.3390/sym15081526

AMA Style

Krtolica PV, Stanimirović PS, Mašović SH, Elshaarawy IA, Stupina A. Convex Polygon Triangulation Based on Symmetry. Symmetry. 2023; 15(8):1526. https://doi.org/10.3390/sym15081526

Chicago/Turabian Style

Krtolica, Predrag V., Predrag S. Stanimirović, Sead H. Mašović, Islam A. Elshaarawy, and Alena Stupina. 2023. "Convex Polygon Triangulation Based on Symmetry" Symmetry 15, no. 8: 1526. https://doi.org/10.3390/sym15081526

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop