A planar straight-line graph which causes the non-termination Ruppert's algorithm for a minimum angle threshold larger than about 29.5 degrees is given. The minimum input angle of this example is about 74.5 degrees meaning that failure is not due to small input angles. Additionally, a similar non-acute input is given for which Chew's second algorithm does not terminate for a minimum angle threshold larger than about 30.7 degrees.
For a non-acute planar straight-line graph, Ruppert's algorithm produces a conforming Delaunay triangulation composed of triangles containing no angles less than α. Ruppert proved the algorithm terminates for all α 20.7 • [3] and a minor addition to the analysis extends the results to input with all angles larger than 60 • . In practice, the constraint α 20.7 • has been seen to be overly conservative. Ruppert observed that the minimum angle reaches 30 • during typical runs of the algorithm. Further experimentation by Shewchuk [4] suggested that even higher values are admissible: "In practice, the algorithm generally halts with an angle constraint of 33.8 • , but often fails [at] 33.9 • ." In this note, we demonstrate an input (the upcoming Example 2) for which Ruppert's algorithm does not terminate for some minimum angle parameter α less than 30 • . We begin by revisiting the best known example which causes non-termination for any α > 30 • .
Pav Example Steven Pav gave an example demonstrating that Ruppert’s algorithm can fail to terminate for any α > 30 • [2]. This example, depicted in Figure 1, involves two adjacent segments with lengths 1 and √ 2 such that they form a triangle with a 30 • angle. Pav observed that the circumcenter of this triangle lies on the boundary of the diametral ball of the longer segment. This causes the longer segment to split, PSfrag replacements 105 yielding a similar configuration in which the adjacent segments are smaller by a factor of 1/ √ 2 and then repeats indefinitely. Note: the point on the boundary of the diametral ball does not technically encroach the segment but small perturbations of this configuration yield non-termination of the algorithm for any α > 30 • .
Improvements to the Pav Example face a key obstacle: each split must reduce the length of the shortest segment in the mesh by a fact of 1/ √ 2 which is the largest possible reduction according to the theory. To eliminate this problem, we consider examples containing more adjacent input segments which allows for a smaller reduction in segment length at each midpoint insertion. However, throughout these examples we maintain our requirement that input angles are larger than 60 • .
Example 1 Consider a non-acute input containing four adjacent segments of lengths 2, 2 3/4 , 2 1/2 and 2 1/4 as in Fig. 2. The endpoints of the longest and shortest segments form a Delaunay triangle with smallest angle arctan 2 -3/4 ≈ 30.7 • . If α > arctan 2 -3/4 , the circumcenter of this triangle encroaches upon the longer segment causing the midpoint of the longest segment to be inserted. Now the adjacent segments have lengths 1, 2 3/4 , 2 1/2 and 2 1/4 and the ratio of the shortest and longest segment is still 2 3/4 . Again this gives a poor quality triangle and the midpoint of the longest segment is inserted. This cycle repeats indefinitely.
While the Pav Example provides a sharper limit on the performance of Ruppert’s algorithm, Example 1 has importance of its own. Chew’s second algorithm [1] (widely used as the default mesh generator in Triangle [5]) terminates on the Pav Example while it fails to terminate on Example 1.
Following the approach of Example 1, input with three and five adjacent segments can be constructed seeking non-termination; see Figure 3. In the three segment version the skinny triangle circumcenter does not encroach the longest segment and no cascading encroachment occurs. The five segment variant does lead to non-termination but only for an angle threshold larger than about 33 • and thus does not improve upon the previous results. First consider a four segment input that contains two adjacent copies of Example 1 as shown in Figure 4(left). Thanks to a fortuitous angle of about 29 • (at the top of the figure) non-termination can occur for any α > 30 • by spiraling around all four input segments rather than just alternating between two segments as in the Pav Example.
Finally, improvement is made by perturbing this example to balance the 30 • and 29 • angles. As shown in Figure 4(right) the length of the upper segment (2a) as well as the angle between two segments (θ) are PSfrag replacements
This content is AI-processed based on open access ArXiv data.