Computing the Intrinsic Delaunay Triangulation of a Closed Polyhedral Surface
Abstract
Every surface that is intrinsically polyhedral can be represented by a portalgon: a collection of polygons in the Euclidean plane with some pairs of equally long edges abstractly identified. While this representation is arguably simpler than meshes (flat polygons in forming a surface), it has unbounded happiness: a shortest path in the surface may visit the same polygon arbitrarily many times. This pathological behavior is an obstacle towards efficient algorithms. On the other hand, Löffler, Ophelders, Staals, and Silveira [SoCG 2023] recently proved that the (intrinsic) Delaunay triangulations have bounded happiness.
In this paper, given a closed polyhedral surface , represented by a triangular portalgon , we provide an algorithm to compute the Delaunay triangulation of whose vertices are the singularities of (the points whose surrounding angle is distinct from ). The time complexity of our algorithm is polynomial in the number of triangles and in the logarithm of the aspect ratio of . Within our model of computation, we show that the dependency in is unavoidable. Our algorithm can be used to pre-process a triangular portalgon before computing shortest paths on its surface, and to determine whether the surfaces of two triangular portalgons are isometric.
Keywords and phrases:
Polyhedral surface, intrinsic Delaunay triangulation, algorithmic complexity2012 ACM Subject Classification:
Theory of computation Computational geometryEditors:
Hee-Kap Ahn, Michael Hoffmann, and Amir NayyeriSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
In one of its simplest forms a triangulation is a finite collection of disjoint triangles in the Euclidean plane, together with a partial matching of the sides of the triangles such that any two matched sides have the same length (Figure 1). This simple representation appears under different names in the literature (intrinsic triangulation [26, 27], portalgon [20]). Cutting out the triangles from the plane and identifying the matched sides isometrically, respecting the orientations of the triangles, provides a (compact, orientable) polyhedral surface. This surface is closed if, in addition, it is connected and without boundary.
In this paper we consider the Delaunay triangulation of a closed polyhedral surface whose vertex set consists of the singularities (the points surrounded by an angle distinct from ) of the surface (except for flat tori, see below). It is generically unique. Our main contribution is an algorithm to compute it from any triangulation of the surface, whose time complexity is polynomial in the number of triangles and in the logarithm of the aspect ratio of the input triangulation. Our second contribution is a lower bound showing that the dependency in the logarithm of the aspect ratio is unavoidable in our model of computation.
Before describing our contributions in more detail, we discuss related works.
1.1 Related works
Polyhedral surfaces can also be obtained from meshes, flat triangles in glued along their edges. Moreover, every mesh defines a triangulation of its surface. Yet triangulations are more general than meshes: most triangulations cannot be obtained from a mesh. Some recent algorithms advantageously operate on triangulations of polyhedral surfaces without reference to a mesh [25, 31, 17]. In this context the adjective “intrinsic” is sometimes placed before the name “triangulation” to make the distinction with the particular triangulations arising from a mesh. In the mathematical community, a prominent example is that of a translation surface [21, 32, 14, 12], which arises naturally in the study of billiards in rational polygons.
Triangulations are so general that not all of them are suitable for computation, compared to meshes. Prominently, a fundamental problem on polyhedral surfaces is to compute the distance or a report a shortest path between two points. On a mesh, shortest paths can be computed in time polynomial in the number of triangles. For example, an algorithm of Mitchell, Mount, and Papadimitriou [22] propagates waves along the surface, starting from the source, in a discrete manner. See also Chen and Han [4]. On a generic triangulation however (not arising from a mesh), the number of times a shortest path visits a triangle is not bounded by any function of the number of triangles, as noted for example almost 20 years ago by Erickson [8]. Recently, Löffler, Ophelders, Staals, and Silveira [20] coined the term happiness of a triangulation, for the maximum number of times a shortest path visits a triangle. They adapted the single-source shortest paths algorithm of Mitchell, Mount, and Papadimitriou [22] from meshes to triangulations, whose time complexity now depends on the happiness of the triangulation (it is more efficient on triangulations of low happiness).
This raises the problem of replacing any given triangulation by another triangulation of the same surface whose happiness is “low”. Among the many remeshing algorithms [13, 28, 24, 29], only few have been ported to the general context of intrinsic triangulations [26], and the only solution we are aware of that compares to our main result (Theorem 1 below), by Löffler, Ophelders, Staals, and Silveira [20, Section 5], is restricted to particular inputs whose surfaces are all homeomorphic to an annulus; we will use it as a black box. Importantly, the same authors also showed that Delaunay triangulations have bounded happiness [20, Section 4.2].
Delaunay triangulations are classical objects of computational geometry [5, 11, 2], closely related to shortest paths. While mostly known in the plane, they generalize to closed polyhedral surfaces, see for example the depiction of Bobenko and Springborn [3]. To compute a Delaunay triangulation from an arbitrary intrinsic triangulation there are, to our knowledge, only two approaches, and neither compares to our main result (Theorem 1). One approach computes a Voronoi diagram with a suitably adapted multiple-source shortest path algorithm, and then derives from it a Delaunay tessellation, see for example Mount [23], Liu, Chen, and Tang [18], and Liu, Xu, Fan, and He [19]. Another approach starts from an initial triangulation and flips its edges until it reaches a Delaunay triangulation; it was proved to terminate by Indermitte, Liebling, Troyanov, and Clémençon [3, 15].
1.2 Our results
In order to state our results precisely, it now matters to make the distinction between a triangulation and the data structure representing it, and to allow for more general polygons than triangles. Following Löffler, Ophelders, Staals, and Silveira [20], we call portalgon the collection of polygons in the Euclidean plane and the partial matching of their sides. We denote by the associated polyhedral surface. We say that the portalgon is triangular if all polygons are triangles. The sides of the polygons, once identified, constitute a graph embedded on (the polygons themselves correspond to the faces of ): it is this graph that we call triangulation if is triangular, and we call a tessellation in general.
We consider, on a closed polyhedral surface , the unique Delaunay tessellation of whose vertices are exactly the singularities of , with a single very special exception: if has no singularity, then is a flat torus and we let be any of the Delaunay tessellations of that have exactly one vertex, for one can be mapped to the other via an orientation-preserving isometry of anyway. In any case, we say that is the Delaunay tessellation of , in a slight abuse.222Given a set of points of the surface, finite, non-empty, and containing all the singularities, our results easily extend to Delaunay triangulations whose vertex set is , but this is incidental to us. It is “generically” a triangulation, but not always. If not, then triangulating the faces of along any vertex-to-vertex arcs provides a Delaunay triangulation. The aspect ratio of a triangular portalgon is the maximum side length of a triangle of divided by the smallest height of a triangle of (possibly another triangle). Our main contribution is:
Theorem 1.
Let be a portalgon of triangles, of aspect ratio , whose surface is closed. One can compute the portalgon of the Delaunay tessellation of in time.
As already mentioned, the only two methods we are aware of for computing a Delaunay tessellation from an arbitrary triangulation are the flip algorithm and the computation of the dual Voronoi diagram. The time complexities of these algorithms are not bounded by any polynomial in and .
Applications of Theorem 1 are detailed in the full version of the paper. Briefly, on the portalgon returned by Theorem 1, shortest paths can be computed in time. And Theorem 1 enables to test whether the surfaces of two given portalgons are isometric, simply by computing and comparing the portalgons of the associated Delaunay tessellations.
We analyze our algorithms within the real RAM model of computation described by Erickson, van der Hoog, and Miltzow [10]. It is an extension of the standard integer word RAM, with an additional memory array storing reals, and with additional instructions. On such a machine, we represent each polygon of a portalgon by the list of its vertices, and each vertex is by its two coordinates, stored in the memory array dedicated to reals. So displacing (translating or rotating) the polygons in the plane provides different representations of . When modifying a portalgon , we actually modify our representation of , using elementary operations that are easily seen to be achievable by a real RAM.
Within this model of computation, our second contribution is a lower bound that backs our main result, Theorem 1, by showing that the polynomial dependency in the logarithm of the aspect ratio is unavoidable:
Theorem 2.
Let . There are a flat torus , and for every , a representation of a portalgon , with two triangles, whose aspect ratio is , whose surface is , that satisfy the following. There is no real RAM algorithm computing a representation of the portalgon of the Delaunay tessellation of from in time.
Altogether Theorem 1 and Theorem 2 show that, within our model of computation, the complexity of computing the Delaunay tessellation from an arbitrary triangulation of a (closed, orientable) polyhedral surface is polynomial in the number of triangles and in the logarithm of the aspect ratio of the input triangulation.
1.3 Overview of the proof of Theorem 1
The proof of Theorem 2 is deferred to the full version of the paper. This extended abstract focuses on the proof of Theorem 1, of which we now provide an overview.
We introduce a slight variation of happiness, more suitable to our needs, which we call segment-happiness. To prove Theorem 1, the crux of the matter is to replace the input triangular portalgon by another triangular portalgon of the same surface, whose segment-happiness is “low”. For this purpose, our approach is to first focus on portalgons whose surface is flat: the interior of has no singularity. Note that here we allow to have boundary, and this boundary may have singularities. The systole of is the smallest length of a non-contractible geodesic closed curve in . Our key technical result is:
Proposition 3.
Let be a portalgon of triangles, whose sides are all smaller than . Assume that is flat. Let be smaller than the systole of . One can compute in time a portalgon of triangles, whose surface is isometric to that of , and whose segment-happiness is .
Sections 3–5 are devoted to the proof of Proposition 3. In Section 3 we focus on particular portalgons, whose surfaces are all homeomorphic to an annulus; the definitions and results of this section are used by the algorithm of Proposition 3. In Section 4 we describe the algorithm for Proposition 3. It is a finely tuned combination of elementary operations such as inserting and deleting edges and vertices in graphs. While the algorithm itself is relatively simple, its analysis is more involved, and is sketched in Section 5. In this section, we first provide a combinatorial analysis, and then we prepare for the geometric analysis by introducing a new parameter on the simple geodesic paths of a flat surface, enclosure, possibly of independent interest. Informally, is enclosed when a short non-contractible loop can be attached to a point of not too close to the endpoints of . We then use enclosure to analyze the algorithm from a geometric point of view, proving Proposition 3.
We then extend Proposition 3 from flat surfaces to surfaces having singularities in their interior, essentially by cutting out caps around these singularities. To get a cleaner result, we also replace by the aspect ratio of , and we replace segment-happiness by happiness, obtaining:
Proposition 4.
Let be a portalgon of triangles, of aspect ratio . One can compute in time a portalgon of triangles, whose surface is , and whose happiness is .
The proof of Proposition 4 is omitted from this extended abstract. We have not discussed Delaunay tessellations yet. Still, we are almost ready to prove Theorem 1. Indeed, once we have a portalgon of low happiness, we can compute shortest paths on the surface. And, as already mentioned, shortest path algorithms classically extend to construct Voronoi diagrams and then Delaunay tessellations. Formally:
Proposition 5.
Let be a portalgon of triangles, of happiness , such that is closed. One can compute the portalgon of the Delaunay tessellation of in time.
The proof of Proposition 5 is omitted from this extended abstract. We insist that the proof of Proposition 5 is incidental to us, and Proposition 5 is not surprising at all. Our contribution is really the proof of Proposition 4. Theorem 1 is immediate from Proposition 4 and Proposition 5:
Proof of Theorem 1.
2 Preliminaries
We use without review standard notions of graph theory and low dimensional topology and geometry, referring to textbooks for details [6, 1, 30, 7]. We only mention that on a surface , a path is simple if its restriction to the interval is injective, in which case the image of by is the relative interior of . We denote by the length of a geodesic path . Throughout the paper, logarithms are in base two.
The definition of Delaunay tessellation given by Bobenko and Springborn [3, Section 2] is not used in this extended abstract.
2.1 Portalgons, tessellations, and polyhedral surfaces
A portalgon is a disjoint collection of oriented polygons in the Euclidean plane, together with a partial matching of the sides of the polygons such that any two matched sides have the same length. It is triangular if all polygons are triangles. See Figure 1. Any subset of the polygons defines a sub-portalgon of : two sides of polygons are matched in if and only if they are matched in . In a portalgon , identifying the matched sides, isometrically, and respecting the orientations of the polygons, provides the surface of , denoted ; it is a 2-dimensional Riemannian manifold whose metric may have singularities. The sides of the polygons of correspond to a graph embedded on , the 1-skeleton of .
A polyhedral surface is any Riemannian manifold (possibly with singularities) isometric to the surface of a portalgon. And when we say that a portalgon is a portalgon of , we implicitly fix an isometry between and . A tessellation of is any 1-skeleton of a portalgon of , it is a triangulation if the portalgon is triangular.
Consider a polyhedral surface , a triangulation of , a vertex of , and the sum of the angles of faces of around . The point is a singularity if lies in the boundary of and , or if lies in the interior of and . Every other point of is flat. This does not depend on any particular triangulation of . A surface is flat if its interior has no singularity (although its boundary may have singularities). The closed flat surfaces are called flat tori.
2.2 Aspect ratio, systole, happiness, and segment-happiness
The aspect ratio of a triangular portalgon is the maximum side length of a triangle of divided by the smallest height of a triangle of (possibly another triangle). Note that the aspect ratio is always greater than or equal to , because the maximum side length of a triangle is always greater than or equal to times its smallest height.
The systole of a polyhedral surface is the smallest length of a non-contractible geodesic closed curve in , except in the particular case where every closed curve in is contractible, in which case the systole is . The important thing is that for every positive real smaller than the systole of , any non-contractible closed curve in is longer than .
The happiness of a portalgon is the maximum number of times a shortest path in visits the image of a polygon of , maximized over all the shortest paths of and all the polygons of (see [20, Section 3]). We introduce a variation, more suitable to our needs. In a polyhedral surface , a segment is a simple geodesic path whose relative interior is disjoint from any singularity of . The segment-happiness of in , denoted , is the maximum number of intersections between and a shortest path of , maximized over all the shortest paths of . The segment-happiness of a portalgon is then the maximum segment-happiness , maximized over the edges of its 1-skeleton . A priori, the segment-happiness of a portalgon differs from the happiness of . Indeed a path in may visit many times a face of without intersecting any edge of more than once, if the face has high degree. However, if is triangular, then the happiness and the segment-happiness of do not differ by more than a constant factor.
3 Tubes and bifaces
In this section we focus on particular triangular portalgons. See Figure 2. A tube is a triangular portalgon whose surface is homeomorphic to an annulus and has no singularity in its interior, and whose 1-skeleton has exactly one vertex on each boundary component of . Among tubes, a biface is a portalgon of two triangles whose respective sides and , in order (clockwise say), are such that is matched with and is matched with . Its 1-skeleton has four edges: two loop edges forming the two boundary components of , which we call boundary edges, and two edges whose relative interiors are included in the interior of , which we call interior edges.
We say that a biface is good if the two interior edges and of satisfy both of the following up to possibly exchanging and . First, is a shortest path in . Second, cut along , and consider the resulting quadrilateral. If this quadrilateral has two diagonals then is shortest among the two diagonals. We will distinguish good bifaces. A good biface is thin if every interior edge of is longer than every boundary edge of . Otherwise is thick. While tubes and bifaces have unbounded happiness, good bifaces on the other hand satisfy the following:
Lemma 6.
Given a good biface , let be an interior edge of . Then .
We will use the elementary operation of replacing a tube by a good biface:
Proposition 7.
Let be a tube with triangles, whose sides are smaller than . Let be smaller than the systole of . One can compute a good biface whose surface is in time.
4 Description of the algorithm
In this section we describe our algorithm for Proposition 3. We first describe the elementary operations and the data structure, before giving the algorithm itself. Along the way, we provide informal explanations of our choices. We do not prove anything, as the analysis of the algorithm is deferred to Section 5.
4.1 Inserting vertices and edges
Informally, our goal is to “improve the geometry” of a triangular portalgon . We will make this precise in Section 5. Roughly, the issue is that, without any condition on , the edges of that lie in the interior of can be arbitrarily long, so one of them may intersect some shortest path arbitrarily many times by wrapping around the surface, and so the segment-happiness of can be arbitrarily large. A naive way of shortening an edge is to cut the edge in two at its middle point.
InsertVertices. Given a triangular portalgon , consider every edge of that lies in the interior of , and insert the middle point of as a vertex in .
Applying InsertVertices to a triangular portalgon produces a portalgon whose polygons are usually not triangles. We now consider transforming into a triangular portalgon. To do that we repeatedly cut the polygons of . We need a definition. In the plane consider a polygon , two vertices of , and the rectilinear segment between and . If the relative interior of is included in the interior of then is called a vertex-to-vertex arc of . It is easily seen that if is not a triangle then has at least one vertex-to-vertex arc. Among the vertex-to-vertex arcs of , the shortest ones are the shortcuts of . We emphasize that we consider the shortest ones among all the vertex-to-vertex arcs, without fixing the endpoints, but the endpoints are chosen among the vertices of . In a portalgon every polygon corresponds to a face of , and every shortcut of corresponds to a path whose relative interior is included in : we say of this path that it is a shortcut of .
InsertEdges. Given a portalgon , as long as there is a face of that is not a triangle, insert a shortcut of this face as an edge in .
We shall apply InsertVertices followed by InsertEdges to a triangular portalgon in order to produce another triangular portalgon , hopefully with a “nicer geometry”. The problem is now that has more vertices than . All the other operations of the algorithm are devoted to keeping the number of vertices low.
4.2 Deleting vertices
From now on it is important that every surface considered is flat, there is no singularity in its interior. Given a triangular portalgon , assuming that the surface is flat, we consider decreasing the number of vertices of . To do that we naturally consider deleting some vertices. Not all vertices can be deleted. For example a vertex incident to a loop edge cannot be deleted. Also we will not delete vertices that lie on the boundary of the surface . A vertex of is weak if it lies in the interior of and is not incident to any loop edge in . It is strong otherwise.
DeleteVertices. Given a triangular portalgon whose surface is flat, construct a maximal independent set of weak vertices of that have degree smaller than or equal to six. For every vertex delete and its incident edges from .
After performing DeleteVertices, the polygons of are usually not triangles anymore, but this will be solved by applying InsertEdges after each application of DeleteVertices. Observe that in DeleteVertices we delete only vertices of degree smaller than or equal to six. Informally, the reason is that deleting a weak vertex of degree creates a face of degree around it. We then insert edges in this face when applying InsertEdges. The problem is that only a constant number of edges can be inserted in each face without risking to destroy our improvements on the geometry of the tessellation. This is why we make sure that beforehand. The exact bound on is not really important (although changing it would change some constants of the algorithm), but it must be at least six so that we can still remove a fraction of the excess vertices this way, at least when most of them are strong. Similar ideas can be found in the literature, see for example Kirkpatrick [16, Lemma 3.2].
4.3 Simplifying tubes
The operation DeleteVertices cannot delete strong vertices, and among them the vertices that lie the interior of the surface and are incident to a loop edge. In this section we describe an operation for deleting such vertices.
In order to grasp the intuition, observe, informally, that it is possible that almost all the vertices of lie in the interior of and are incident to a loop edge. Fortunately, it turns out that in this case there must be a sub-portalgon of such that is a tube and the interior of contains loop edges of . We delete such loop edges by replacing by a good biface with Proposition 7. There is one subtlety: we must choose carefully so that we replace any concatenation of tubes by a single biface when possible, in order to delete the loops in-between the tubes, instead of replacing each tube individually. That leads to:
SimplifyTubes. In a triangular portalgon whose surface is flat, do the following:
-
1.
In build a set of loop edges that lie in the interior of and are pairwise disjoint, as follows. There are two cases:
-
(a)
If is homeomorphic to a torus, do the following. Let contain two disjoint loop edges of if there exist two such edges, otherwise let .
-
(b)
Otherwise do the following. Construct a set of loop edges by considering every vertex of that lies in the interior of and is incident to a loop edge, and by putting one of the loop edges incident to in . Then build a subset by removing from every satisfying both of the following. First, cutting along the loops in , and considering the resulting connected components, two such components are adjacent to (instead of one), say and . Second, each one of the two sub-portalgons of whose surfaces are and is a tube.
-
(a)
-
2.
Cut the surface along the loops in . Each resulting component is the surface of a sub-portalgon of . If is a tube replace by a good biface .
The idea behind step 1b is to remove loops from so that step 2 replaces a concatenation of tubes by a single good biface when possible, instead of replacing the tubes individually.
4.4 Data structure for marking bifaces as inactive
We are almost ready to give the algorithm, but there is still one important thing to describe. In step 2 of SimplifyTubes, if the good biface is thin we will not just replace by , but we will also make sure to not modify ever again. In this sense becomes inactive. Doing so requires a data structure remembering which parts of the portalgon are inactive.
See Figure 3. The data structure maintains a portalgon together with a partition of the polygons of . Each set of polygons in the partition defines a sub-portalgon of which we call region. One region is singularized as the active region . The other regions are inactive. Note that the surface of the active region may be disconnected, and that the surfaces of distinct inactive regions may be adjacent.
The data structure will be initialized by setting , without inactive region. Then the algorithm will apply the routines InsertVertices, InsertEdges, DeleteVertices, and SimplifyTubes to the active region , and mark as inactive every thin biface encountered in step 2 of SimplifyTubes. The surface of will diminish over time as more and more regions are marked inactive. This may increase the numbers of connected components and boundary components of , ruining our efforts to keep the combinatorial complexity of bounded. To counteract this, we introduce:
Gardening. Every connected component of is the surface of a sub-portalgon of . If is a tube replace by a good biface , and mark as inactive.
We described everything that the algorithm can do to the data structure. This immediately implies three invariants maintained by the algorithm. First, 1) Every polygon of the active region has degree at most six, and 2) Every inactive region is a good biface. For the last invariant we need a definition. Recall that in if two sides and of polygons are matched then and correspond to an edge of . If moreover and belong to different polygons, and if their respective polygons belong to different regions, we say that is separating. Then is a loop, for it is a boundary edge of a biface by 2), and belongs to the interior of . The third invariant is that 3) The separating loops are pairwise disjoint (no two of them are based at the same vertex of ).
4.5 Algorithm
The algorithm repeatedly applies two parts. The first part “improves the geometry” by applying InsertVertices and then InsertEdges. However this increases the number of vertices. So the second part applies SimplifyTubes, DeleteVertices, and InsertEdges, together with Gardening. The second part can only remove a fraction of the vertices at once, so it is repeated several times. It turns out that 350 repetitions suffice.
Algorithm. Given a triangular portalgon whose surface is flat, and , do the following. Initialize the data structure by letting be the input portalgon , and by letting the active region be itself, without inactive region. Repeat times the following:
-
1.
Apply InsertVertices to . Then apply InsertEdges to .
-
2.
Repeat 350 times the following:
-
(a)
Apply Gardening. Then apply SimplifyTubes to but in step 2 of SimplifyTubes, whenever is thin, mark as inactive. Apply Gardening again.
-
(b)
Apply DeleteVertices to . Then apply InsertEdges to .
-
(a)
In the end return .
When proving Proposition 3, we will apply Algorithm with .
5 Analysis of the algorithm
5.1 Combinatorial analysis
Proposition 8.
Apply Algorithm to a portalgon of triangles, whose surface is flat. During the execution the number of polygons of the active region is .
In this extended abstract, we only sketch the proof of Proposition 8.
Sketch of proof.
We consider , the 1-skeleton of the active region , and we show that the number of vertices of remains throughout the execution. There are two loops in the algorithm: the main loop, which repeats times, and the interior loop, which repeats 350 times within each iteration of the main loop. To prove the lemma, we consider a single iteration of the main loop, we assume that exceeds by at least a constant factor at the beginning of the iteration, and we prove that has decreased after the iteration.
The iteration starts with InsertVertices. This is the only moment where may increase, and we prove that is multiplied by at most a constant factor. Then the iteration applies the interior loop, and we claim that, as long as exceeds by a constant factor, is divided by at least a constant factor by each iteration of the interior loop. We show that this claim implies the lemma as the interior loop is applied sufficiently many times to counteract the initial increase of . To prove the claim, we show that for DeleteVertices to remove a fraction of the vertices of , it suffices that vastly exceeds the genus and the number of boundary components of , and that almost all of the vertices of are weak. We show that this is ensured by first applying Gardening and SimplifyTubes.
5.2 Enclosure
To analyze Algorithm from a geometric point of view, we introduce, on the segments of a flat surface , a parameter that we call enclosure. So consider a segment of . See Figure 4.
Informally, is “enclosed” in when a short non-contractible loop can be attached to a point of not too close to the endpoints of . Formally, consider a point in the relative interior of . We denote by the minimum length of the two sub-segments of separated by . Assume that there exists a loop based at in , such that is geodesic except possibly at its basepoint. Further assume that its length satisfies . In this case and are necessarily in general position: informally, they do not overlap, more formally, every sufficiently short sub-path of is either disjoint from or its intersection with is a single point. There are two cases: either crosses at , or meets on only one side of . If crosses at , then we say that encloses in . Also we say that encloses by a factor of in . The enclosure is the supremum of the ratios over all the basepoints in the relative interior of , and over all the loops based at that enclose in . It is conventionally set to one if there is no loop enclosing in .
The segment-happiness and the length can be bounded from above using the enclosure . Our bound depends on the surface . More precisely, on the systole of and the diameter of . But instead of the diameter of , we consider a triangulation of , and we use its number of triangles together with the maximum length of its edges. This will be more convenient to us when analyzing Algorithm. We prove:
Proposition 9.
Let be a segment of . Let be smaller than the systole of . Assume that there is a triangulation of with triangles, whose edges are all smaller than . Then and .
5.3 Geometric analysis
The geometric analysis ofAlgorithm consists in two properties on the enclosure and the length of the edges involved in any execution: Lemma 10 and Proposition 12 below, whose proofs we sketch in Section 5.3.1 and Section 5.3.2. Each proof relies on properties of enclosure that are independent of Algorithm, or of any portalgon, and can be seen as independent mathematical contributions of us. In this extended abstract we only explain how these properties of enclosure serve to analyse Algorithm.
In this section, we fix a portalgon of triangles, whose sides are smaller than some positive real , and whose surface is flat. We abbreviate . We apply the algorithm Algorithm to , and we discuss the execution of the algorithm.
5.3.1 The separating loops are not very enclosed
Lemma 10.
Any time during the execution every separating loop satisfies .
Lemma 10 follows from the following property of enclosure:
Proposition 11.
Assume that contains the surface of a thin biface , and let be one of the two boundary edges of . Then .
Proof of Lemma 10.
Only step 2 of SimplifyTubes may create a separating loop, by marking a thin biface as inactive. Then is is never touched again by the algorithm. So the algorithm maintains the invariant that every separating loop is adjacent to the surface of at least one inactive region that is a thin biface. So by Proposition 11.
5.3.2 The very enclosed edges shorten exponentially fast
Proposition 12.
After iterations of the main loop, let be an edge of . If then .
To prove Proposition 12, we analyze each routine applied. Informally, each application of InsertVertices “improves the geometry” of the active region, and the rest of the algorithm does not deteriorate this improvement too much. Formally:
Lemma 13.
Consider the active regions and respectively before and after some application of InsertVertices. Assume that there is an edge of such that . Then there is an edge of such that and .
Lemma 13 follows from the following (easy) property of enclosure:
Lemma 14.
Let be segments in . Then .
Proof of Lemma 13.
First observe that is not included in the boundary of because is enclosed and thus not included in the boundary of , and because is not a separating loop by Lemma 10. So there is an edge of such that is one of the two half-segments obtained after the insertion of the middle point of as a vertex. Then . And by Lemma 14.
Lemma 15.
Consider the active regions and respectively before and after some application of InsertEdges. Assume that there is an edge of such that . Then there is an edge of such that and .
Lemma 15 follows from the following (key) property of enclosure:
Proposition 16.
Let be a face of a tessellation of . Assume that has a shortcut such that . Then has a side such that and .
Proof of Lemma 15.
Here we crucially use the fact that every polygon of has degree at most six. so that at most three edges are inserted within the polygon. Indeed either was already an edge of and there is nothing to do, or has been inserted in some face of . At most three edges were inserted in , and Proposition 16 applied at most three times gives a boundary edge of such that and .
Lemma 17.
Consider the active regions and respectively before and after some application of SimplifyTubes. Assume that there is an edge of such that . Then there is an edge of such that and .
Proof of Proposition 12.
Consider the active regions and respectively at the beginning of the algorithm, and after iterations of the main loop. Assume that there is an edge in such that . During those iterations there has been applications of InsertVertices, applications of InsertEdges, and applications of SimplifyTubes. Also . So Lemma 13, Lemma 15, and Lemma 17 imply that there is an edge in such that . And because belongs to the input triangulation .
5.4 Proof of Proposition 3
We need a last (easy) lemma:
Lemma 18.
Let be a flat surface. Assume that contains the surface of a tube . Then the systole of is greater than or equal to the systole of .
Proof of Proposition 3.
Apply Algorithm to with , resulting in a triangular portalgon . By Proposition 8 the number of polygons of the active region is throughout the execution. So in the end has triangles; Indeed each iteration of the main loop marks triangles as inactive, and there are iterations of the main loop. We have two claims that immediately imply the proposition.
Our first claim is that the algorithm takes time. Let us prove this first claim. Each application of InsertVertices or InsertEdges takes time. And each application of SimplifyTubes or Gardening takes time by Proposition 7 and Lemma 18, where is the maximum length reached by an edge of the 1-skeleton of the active region during the execution. Now let us bound . If at some point an edge of the 1-skeleton of the active region is longer than then by Proposition 12. Moreover by Proposition 9. This proves , which proves the claim.
Our second claim is that in the end every edge of satisfies . Let us prove this second claim. First observe that if is in then , for otherwise Proposition 12 would imply , implying that no loop encloses in , a contradiction. In this case by Proposition 9, and we are done. Every other edge of belongs to the 1-skeleton of an inactive good biface . Every boundary edge of is either a boundary component of or a separating loop, so by Lemma 10, and so by Proposition 9. Every interior edge of then satisfies by Lemma 6. This proves the second claim, and the proposition.
References
- [1] Mark Anthony Armstrong. Basic Topology. Springer Science & Business Media, 2013.
- [2] Franz Aurenhammer, Rolf Klein, and Der-Tsai Lee. Voronoi diagrams and Delaunay triangulations. World Scientific Publishing Company, 2013.
- [3] Alexander I. Bobenko and Boris A. Springborn. A discrete Laplace–Beltrami operator for simplicial surfaces. Discrete & Computational Geometry, 38(4):740–756, 2007. doi:10.1007/S00454-007-9006-1.
- [4] Jindong Chen and Yijie Han. Shortest paths on a polyhedron, part I: Computing shortest paths. International Journal of Computational Geometry & Applications, 6(02):127–144, 1996.
- [5] Mark De Berg. Computational geometry: algorithms and applications. Springer Science & Business Media, 2000.
- [6] Reinhard Diestel. Graph Theory. Springer-Verlag, 2000.
- [7] Manfredo Perdigao Do Carmo. Riemannian Geometry, volume 2. Springer, 1992.
- [8] Jeff Erickson. Ernie’s 3D pancakes: Shortest paths on PL surfaces. https://3dpancakes.typepad.com/ernie/2006/03/shortest_paths_.html, 2006.
- [9] Jeff Erickson and Amir Nayyeri. Tracing compressed curves in triangulated surfaces. In Proceedings of the twenty-eighth annual symposium on Computational geometry, pages 131–140, 2012. doi:10.1145/2261250.2261270.
- [10] Jeff Erickson, Ivor Van Der Hoog, and Tillmann Miltzow. Smoothing the gap between NP and ER. SIAM Journal on Computing, pages FOCS20–102, 2022.
- [11] Steven Fortune. Voronoi diagrams and delaunay triangulations. In Handbook of discrete and computational geometry, pages 705–721. Chapman and Hall/CRC, 2017.
- [12] Eugene Gutkin and Chris Judge. Affine mappings of translation surfaces: geometry and arithmetic. Duke Mathematical Journal, 2000.
- [13] Paul S Heckbert and Michael Garland. Survey of polygonal surface simplification algorithms. In Proceedings of the 24th annual conference on Computer graphics and interactive techniques. Siggraph, 1997.
- [14] Pascal Hubert and Thomas A Schmidt. An introduction to veech surfaces. Handbook of dynamical systems, 1(200601), 2006.
- [15] Claude Indermitte, Th M Liebling, Marc Troyanov, and Heinz Clémençon. Voronoi diagrams on piecewise flat surfaces and an application to biological growth. Theoretical Computer Science, 263(1-2):263–274, 2001. doi:10.1016/S0304-3975(00)00248-6.
- [16] David Kirkpatrick. Optimal search in planar subdivisions. SIAM Journal on Computing, 12(1):28–35, 1983. doi:10.1137/0212002.
- [17] Hsueh-Ti Derek Liu, Mark Gillespie, Benjamin Chislett, Nicholas Sharp, Alec Jacobson, and Keenan Crane. Surface simplification using intrinsic error metrics. ACM Transactions on Graphics, 42(4), 2023. doi:10.1145/3592403.
- [18] Yong-Jin Liu, Zhanqing Chen, and Kai Tang. Construction of iso-contours, bisectors, and voronoi diagrams on triangulated surfaces. IEEE Transactions on Pattern Analysis and Machine Intelligence, 33(8):1502–1517, 2010. doi:10.1109/TPAMI.2010.221.
- [19] Yong-Jin Liu, Chun-Xu Xu, Dian Fan, and Ying He. Efficient construction and simplification of delaunay meshes. ACM Transactions on Graphics (TOG), 34(6):1–13, 2015. doi:10.1145/2816795.2818076.
- [20] Maarten Löffler, Tim Ophelders, Rodrigo I. Silveira, and Frank Staals. Shortest paths in portalgons. In 39th International Symposium on Computational Geometry (SoCG 2023), volume 258, pages 48:1–48:16, 2023. doi:10.4230/LIPIcs.SoCG.2023.48.
- [21] Howard Masur. Ergodic theory of translation surfaces. Handbook of dynamical systems, 1:527–547, 2006.
- [22] Joseph S.B. Mitchell, David M. Mount, and Christos H. Papadimitriou. The discrete geodesic problem. SIAM Journal on Computing, 16(4):647–668, 1987. doi:10.1137/0216045.
- [23] David M. Mount. Voronoi Diagrams on the Surface of a Polyhedron. University of Maryland, 1985.
- [24] Jim Ruppert. A delaunay refinement algorithm for quality 2-dimensional mesh generation. Journal of algorithms, 18(3):548–585, 1995. doi:10.1006/JAGM.1995.1021.
- [25] Nicholas Sharp and Keenan Crane. You can find geodesic paths in triangle meshes by just flipping edges. ACM Transactions on Graphics (TOG), 39(6):1–15, 2020. doi:10.1145/3414685.3417839.
- [26] Nicholas Sharp, Mark Gillespie, and Keenan Crane. Geometry processing with intrinsic triangulations. SIGGRAPH’21: ACM SIGGRAPH 2021 Courses, 2021.
- [27] Nicholas Sharp, Yousuf Soliman, and Keenan Crane. Navigating intrinsic triangulations. ACM Transactions on Graphics (TOG), 38(4):1–16, 2019. doi:10.1145/3306346.3322979.
- [28] Jonathan Richard Shewchuk. Delaunay refinement mesh generation. Carnegie Mellon University, 1997.
- [29] Jonathan Richard Shewchuk. Delaunay refinement algorithms for triangular mesh generation. Computational geometry, 22(1-3):21–74, 2002. doi:10.1016/S0925-7721(01)00047-5.
- [30] John Stillwell. Classical topology and combinatorial group theory. Springer-Verlag, New York, second edition, 1993.
- [31] Kenshi Takayama. Compatible intrinsic triangulations. ACM Transactions on Graphics (TOG), 41(4):1–12, 2022. doi:10.1145/3528223.3530175.
- [32] Anton Zorich. Flat surfaces. arXiv preprint, 2006. arXiv:math/0609392.
