1 Introduction
Several applications of threedimensional surfaces require information about the underlying topological structure in addition to the geometry. In some cases, we wish to simplify the surface topology, to facilitate algorithms that can be performed only if the surface is a topological disk.
Applications when this is important include surface parameterization [20, 46] and texture mapping [3, 44]. In the texture mapping problem, we wish to find a continuous and invertible mapping from the texture, usually a twodimensional rectangular image, to the surface. Unfortunately, if the surface is not a topological disk, no such map exists. In such a case, the only feasible solution is to cut the surface so that it becomes a topological disk. (Haker [26] present an algorithm for directly texture mapping models with the topology of a sphere, where the texture is also embedded on a sphere.) Of course, when cutting the surface, one would like to find the best possible cut under various considerations. For example, one might want to cut the surface so that the resulting surface can be textured mapped with minimum distortion [20, 25, 46]
. To our knowledge, all previous approaches for this cutting problem either rely on heuristics with no quality guarantees
[25, 45, 48] or require the user to perform this cutting beforehand [20, 44].Lazarus [37] presented and implemented two algorithms for computing a canonical polygonal schema of an orientable surface of complexity and with genus , in time , simplifying an earlier algorithm of Vegter and Yap [55]. Computing such a schema requires finding cycles, all passing through a common basepoint in , such that cutting along those cycles breaks into a topological disk. Since these cycles must share a common point, it is easy to find examples where the overall size of those cycles is . Furthermore, those cycles share several edges and are visually unsatisfying.
For most applications, computing a canonical schema is overkill. It is usually sufficient to find a collection of edges whose removal transforms the surface into a topological disk. We call such a set of edges a cut graph; see Figure 1 for an example. Cut graphs have several advantages. First, they are compact. Trivially, any cut graph contains at most edges of the surface mesh, much less than any canonical schema in the worst case, although we expect it to be much smaller in practice. Second, it is quite easy to construct a cut graph for an arbitrary polyhedral surface in time, using a breadthfirst search of the dual graph [13], or simply taking a maximal set of edges whose complement is connected [37]. Finally, the cut graph has an extremely simple structure: a tree with additional edges. As such, it should be easier to manipulate algorithmically than other representations. For example, Dey and Schipper [13] describe fast algorithms to determine whether a curve is contractible, or two curves are homotopic, using an arbitrary cut graph instead of a canonical schema.
In this paper, we investigate the question of how find the “best” such cutting of a surface, restricting ourselves to cuts along the edges of the given mesh. Specifically, we want to find the smallest subset of edges of a polyhedral manifold surface , possibly with boundary, such that cutting along those edges transforms into a topological disk. We also consider the weighted version of this problem, where each edge has an arbitrary nonnegative weight and we want to minimize the total weight of the cut graph. The most natural weight of an edge is its Euclidean length, but we could also assign weights to take problemspecific considerations into account. For example, if we want to compute a texture mapping for a specific viewpoint, we could make visible edges more expensive, so that the minimum cut graph would minimize the number of visible edges used in the cuts. Our algorithms do not require the edge weights to satisfy the triangle inequality.
We show that the minimum cut graph of any polyhedral manifold with genus and boundary components can be computed in time. We also show that the problem is NPhard in general, even if or is fixed. Finally, we present a simple and efficient greedy approximation algorithm for this problem. Our algorithm outputs a cut graph whose weight is a factor larger than optimal, in time.^{1}^{1}1To simplify notation, we define . If , the approximation factor is exactly . As a tool in our approximation algorithm, we also describe efficient algorithms to compute shortest and nearlyshortest nontrivial cycles in a manifold; we believe these algorithms are of independent interest.
2 Background
Before presenting our new results, we review several useful notions from topology and describe related results in more detail. We refer the interested reader to Hatcher [29], Munkres [43], or Stillwell [49] for further topological background and more formal definitions. For related computational results, see the recent surveys by Dey, Edelsbrunner, and Guha [11] and Vegter [54].
2.1 Topology
A manifold with boundary is a set such that every point lies in a neighborhood homeomorphic to either the plane or a closed halfplane. The points with only halfplane neighborhoods constitute the boundary of ; the boundary consists of zero or more disjoint circles. This paper will consider only compact manifolds, where every infinite sequence of points has a convergent subsequence.
The genus of a 2manifold is the maximum number of disjoint nonseparating cycles in ; that is, for all and , and is connected. For example, a sphere and a disc have genus , a torus and a strip have genus , and a Klein bottle has genus .
A manifold is orientable if it has two distinct sides, and nonorientable if it has only one side. Although many geometric applications use only orientable manifolds (primarily because nonorientable manifolds without boundary cannot be embedded in without selfintersections) our results will apply to nonorientable manifolds as well. Every (compact, connected) manifold with boundary is characterized by its orientability, its genus , and the number of boundary components [21].
A polyhedral manifold is constructed by gluing closed simple polygons edgetoedge into a cell complex: the intersection of any two polygons is either empty, a vertex of both, or an edge of both. We refer to the component polygons has facets. (Since the facets are closed, every polyhedral manifold is compact.) For any polyhedral manifold , the number of vertices and facets, minus the number of edges, is the Euler characteristic of . Euler’s formula [18] implies that is an invariant of the underlying manifold, independent of any particular polyhedral representation; if the manifold is orientable, and if the manifold is nonorientable. Euler’s formula implies that if has vertices, then has at most edges and at most facets, with equality for orientable manifolds where every facet and boundary circle is a triangle. We let denote the total number of facets, edges, and vertices in .
The skeleton of a polyhedral manifold is the graph consisting of its vertices and edges. We define a cut graph of as a subgraph of such that is homeomorphic to a disk.^{2}^{2}2Cut graphs are generalizations of the cut locus of a manifold , which is essentially the geodesic medial axis of a single point. The disk is known as a polygonal schema of . Each edge of appears twice on the boundary of polygonal schema , and we can obtain by gluing together these corresponding boundary edges. Finding a cut graph of with minimum total length is clearly equivalent to to finding a polygonal schema of with minimum perimeter.
Any manifold has a socalled canonical polygonal schema, whose combinatorial structure depends only on the genus , the number of boundary components , and whether the manifold is orientable.^{3}^{3}3Actually, there are several different ways to define canonical schemata; the one described here is merely the most common. For example, the canonical schema for an oriented surface without boundary could also be labeled . The canonical schema of an orientable manifold is a gon with successive edges labeled
for a nonorientable manifold, the canonical schema is a gon with edge labels
Every pair of corresponding edges and is oriented in opposite directions. Gluing together corresponding pairs in the indicated directions recovers the original manifold, with the unmatched edges forming the boundary circles. For a manifold without boundary, a reduced polygonal schema is one where all the vertices are glued into a single point in ; canonical schemata of manifolds without boundary are reduced. We emphasize that the polygonal schemata constructed by our algorithms are neither necessarily canonical nor necessarily reduced.
2.2 Previous and Related Results
Dey and Schipper [13] describe an algorithm to construct a reduced, but not necessarily canonical, polygonal schema for any triangulated orientable manifold without boundary in time. Essentially, their algorithm constructs an arbitrary cut graph by depthfirst search, and and then shrinks a spanning tree of to a single point. (See also Dey and Guha [12].)
Vegter and Yap [55] developed an algorithm to construct a canonical schema in optimal time and space. Two simpler algorithms with the same running time were later developed by Lazarus [37]. The “edges” of the polygonal schemata produced by all these algorithms are (possibly overlapping) paths in the skeleton of the input manifold. We will modify one of the algorithms of Lazarus to construct short nontrivial cycles and cut graphs.
Very recently, Colin de Verdiére and Lazarus consider the problem of optimizing canonical polygonal schemata [10]. Given a canonical polygonal schema for a triangulated oriented manifold , their algorithm constructs the shortest canonical schema in the same homotopy class. Surprisingly (in light of our Theorem 3.1) their algorithm runs in polynomial time under some mild assumptions about the input. As a byproduct, they also obtain a polynomialtime algorithm to construct the minimumlength simple loop homotopic to a given path.
Surface parameterization is an extremely active area of research, thanks to numerous applications such as texture mapping, remeshing, compression, and morphing. For a sample of recent results, see [1, 17, 20, 48, 25, 39, 40, 45, 47, 46, 58] and references therein. In most of these works, surfaces of high genus are parameterized by cutting them into several (possibly overlapping) patches, each homeomorphic to a disk, each with a separate parameterization. A recent exception is the work of Gu [25], which computes an initial cut graph in time by running a shortest path algorithm on the dual of the manifold mesh, starting from an arbitrary seed triangle. Essentially the same algorithm was independently proposed by Steiner and Fischer [48]. Once a surface has been cut into a disk (or several disks), further (topologically trivial) cuts are usually necessary to reduce distortion [25, 45, 47]. Many of these algorithms include heuristics to minimize the lengths of the cuts in addition to the distortion of the parameterization [25, 40, 45], but none with theoretical guarantees.
All of our algorithms are ultimately based on Dijkstra’s singlesource shortest path algorithm [14, 51]. Many previous results have used Dijkstra’s algorithm or one of its continuous generalizations [32, 41, 53] to discover interesting topological structures in manifolds, such as cut graphs [25, 48], small handles (‘topological noise’) [24], texture atlases [40], contour trees [2, 38], and Reeb graphs [30, 48].
3 Computing Minimum Cut Graphs is NPHard
In this section, we prove that finding a minimum cut graph of a triangulated manifold is NPhard. We consider two versions of the problem. In the weighted case, the manifold is assumed to be a polyhedral surface in and we want to compute the cut graph whose total Euclidean length is as small as possible. In the unweighted case, we are compute the cut graph with the minimum number of edges; the geometry of the manifold is ignored entirely.
Both reductions are from the rectilinear Steiner tree problem: Given a set of points from a square grid in the plane, find the shortest connected set of horizontal and vertical line segments that contains every point in . This problem is NPhard, even if is bounded by a polynomial in [23]. Our reduction uses the Hanan grid of the points, which is obtained by drawing horizontal and vertical lines through each point, clipped to the bounding box of the points. At least one rectilinear Steiner tree of the points is a subset of the Hanan grid [28].
Theorem 3.1
Computing the length of the minimum (weighted or unweighted) cut graph of a triangulated punctured sphere is NPhard.
First consider the weighted case, where the weight assigned to each edge of the manifold is its Euclidean length. Let be a set of points in the plane, with integer coordinates between and . We construct a punctured sphere in time as follows. Assume that lies on the plane in . We modify the Hanan grid of by replacing each terminal with a square of width , rotated degrees so that its vertices lie on the neighboring edges. These squares will form the punctures. We then attach a basin under each face of the modified Hanan grid, by joining the boundary of to a slightly scaled copy of on the plane . We also attach a basin of depth to the boundary of the entire modified Hanan grid. The side facets of each basin are trapezoids. The basins are tapered so that adjacent basins intersect only on the modified Hanan grid. Triangulating this surface arbitrarily, we obtain a polyhedral sphere with punctures and overall complexity . See Figure 2.
(a)  (b)  (c) 
Let be a minimum weighted cut graph of . We easily observe that contains only “long” edges from the modified Hanan grid and contains at least one vertex of every puncture. Thus, the edges of are in onetoone correspondence with the edge of a rectilinear Steiner tree of .
For the unweighted case, we modify the original integer grid instead of the Hanan grid. To create a punctured sphere, we replace each terminal point with a small diamond as above. We then fill in each modified grid cell with a triangulation, chosen so that the shortest path between any two points on the boundary of any cell stays on the boundary of that cell; this requires a constant number of triangles per cell. The resulting manifold has complexity . By induction, the shortest path between any two points on the modified grid lies entirely on the grid. Thus, any minimal unweighted cut graph of contains only edges from the modified grid. It follows that if the minimum unweighted cut graph of has edges, the length of any rectilinear Steiner tree of is exactly .
We can easily generalize the previous proof to manifolds with higher genus, with or without boundary, oriented or not, by attaching small triangulated tori or crosscaps to any subset of punctures.
Theorem 3.2
Computing the length of the minimum (weighted or unweighted) cut graph of a triangulated manifold with boundary, with any fixed genus or with any fixed number of boundary components, is NPhard.
4 Computing Minimum Cut Graphs Anyway
We now describe an algorithm to compute the minimum cut graph of a polyhedral manifold in time. For manifolds with constant Euler characteristic, our algorithm runs in polynomial time.
Our algorithm is based on the following characterization of the minimum cut graph as the union of shortest paths. A branch point of a cut graph is any vertex with degree greater than . A simple path in a cut graph from one branch point or boundary point to another, with no branch points in its interior, is called a cut path.
Lemma 4.1
Let be a polyhedral manifold, possibly with boundary, and let be a minimum cut graph of . Any cut path in can be decomposed into two equallength shortest paths in .
Let be an arbitrary cut graph of , and consider a cut path between two (not necessarily distinct) branch points and of . Let be the midpoint of this path, and let and denote the subpaths from to and from to , respectively. Note that may lie in the interior of an edge of . Finally, suppose is not the shortest path from to in . To prove the lemma, it suffices to show that is not the shortest cut graph of .
Let be the true shortest path from to . Clearly, is not contained in . Walking along from to , let be the first vertex whose following edge is not in , and let be the first vertex in whose preceding edge is not in . (Note that and may be joined by a single edge in .) Finally, let be the true shortest path from to . Equivalently, is the first maximal subpath of whose interior lies in . See Figure 3.
The subpath cuts into two smaller disks. We claim that some subpath of either or appears on the boundary of both disks and is longer than . Our claim implies that cutting along and regluing the pieces along gives us a new polygonal schema with smaller perimeter, and thus a new cut graph shorter than . See Figure 3 for an example.
We prove our claim by exhaustive case analysis. First consider the case where the manifold is orientable. We can subdivide the entire boundary of the disk into six paths labeled consecutively . Here, and are the corresponding copies of and in the polygonal schema. Because is orientable, and have opposite orientations, as do and . Either or both of and could be empty. See the lower left part of Figure 3. The subpath can enter the interior of the disk from four of these six paths (, , , and ) and leave the interior of the disk through any of the six paths.
Suppose enters the interior of from ; the other three cases are symmetric. Figure 4 shows the six essentially different ways for to leave the interior of . In each case, we easily verify that after cutting along , some subpath of either or is on the boundary of both disks. Specifically:
If is nonorientable, the path could appear either with the same orientation or with opposite orientations on the boundary of the disk . If the orientations are opposite, the previous case analysis applies immediately. Otherwise, the boundary can be subdivided into six paths labeled consecutively . Without loss of generality, enters the interior of from and leaves through any of these six paths. The six cases are illustrated in Figure 5. Again, we easily verify that in each case, some subpath of either or is on the boundary of both disks. We omit further details.
For any cut graph of a manifold , we define the corresponding reduced cut graph as follows. First we remove any topologically trivial cuts; that is, we repeatedly remove any edge with a vertex of degree that is not on the boundary of . We then augment the cut graph by adding all the boundary edges of . Finally, we contract each maximal path through degree vertices into a single edge. The resulting reduced cut graph is edge connected, and each of its vertices has degree at least . Every vertex of is either a branch point or a boundary point of , and every edge of corresponds to either a cut path or a boundary path in . However, in general, not all branch points and cut paths in are represented in .
Lemma 4.2
Let be a polyhedral manifold with genus and boundary components. Any reduced cut graph of is connected, has between and vertices, and has between and edges.
Let be the cut graph corresponding to , after all the trivial cuts have been removed. The boundary of the polygonal schema can be partitioned into cut paths and boundary paths, each corresponding to an edge in . Thus, is connected.
Let and denote the number of vertices and edges in , respectively. If any vertex in has degree , we can replace it with trivalent vertices and new edges of length zero. Thus, in the worst case, every vertex in has degree exactly , which implies that . Since is embedded in with a single face, Euler’s formula implies that if is orientable, and if is nonorientable. It follows that and , as claimed.
On the other hand, has at least one vertex on each boundary component of , and at least one vertex even if has no boundary, so . Thus, Euler’s formula implies that if is orientable, or equivalently, . Similarly, if is nonorientable, Euler’s formula implies that .
Our minimum cut graph algorithm exploits Lemma 4.1 by composing potential minimum cut graphs out of shortest paths. Unfortunately, a single pair of nodes in could be joined by shortest paths, in different isotopy classes, in the worst case. To avoid this combinatorial explosion, we can add a random infinitesimal weight to each edge . The Isolation Lemma of Mulmuley, Vazirani, and Vazirani [42] implies that if the weights are chosen independently and uniformly from the integer set
, all shortest paths are unique with probability at least
; see also [9, 34].^{4}^{4}4Alternately, if we choose uniformly from the real interval , shortest paths are unique with probability . This may sound unreasonable, but recall that no polynomialtime algorithm is known to compare sums of square roots of integers in any model of computation that does not include square root as a primitive operation [7]. Thus, to compute Euclidean shortest paths in a geometric graph with integer vertex coordinates, we must either assume exact real arithmetic or (grudgingly) accept some approximation error [22].We are now finally ready to describe our minimum cut graph algorithm.
Theorem 4.3
The minimum cut graph of a polyhedral manifold with genus and boundary components can be computed in time .
We begin by computing the shortest path between every pair of vertices in in time by running Dijkstra’s singlesource shortest path algorithm for each vertex [14, 31], breaking ties using random infinitesimal weights as described above. Once these shortest paths and midpoints have been computed, our algorithm enumerates by brute force every possible cut graph that satisfies Lemmas 4.1 and 4.2, and returns the smallest such graph.
Each cut graph is specified by a set of up to vertices of , a set of up to edges of , a trivalent multigraph with vertices , and a assignment of edges in to edges in . Each edge of is assigned a unique edge to define the corresponding cut path in . This cut path is the concatenation of the shortest path from to , itself, and the shortest path from to . If the midpoint of this cut path is not in the interior of , we declare the cut path invalid, since it violates Lemma 4.1. (Because shortest paths between vertices are unique, the midpoint of any cut path in the minimal cut graph must lie in the interior of an edge.) If all the cut paths are valid, we then check that every pair of cut paths is disjoint, except possibly at their endpoints, and that removing all the cut paths from leaves a topological disk.
Our bruteforce algorithm considers different vertex sets , different edge sets , at most different graphs for each vertex set, and at most different assignments of edges in each graph to edges in each edge set . Thus, potential cut graphs are considered altogether. The validity of each potential cut graph can be checked in time.
5 Finding Short Nontrivial Cycles
As a step towards efficiently computing approximate minimum cut graphs, we develop algorithms to compute shortest and nearlyshortest nontrivial cycles in arbitrary manifolds, possibly with boundary. Although our most efficient approximation algorithm for cut graphs requires only approximate shortest nontrivial cycles on manifolds without boundary, we believe these algorithms are of independent interest.
We distinguish between two type of nontrivial simple cycles. A simple cycle in is nonseparating if has only one connected component. A simple cycle in is essential if it is not contractible to a point or a single boundary cycle of . Every nonseparating cycle is essential, but the converse is not true. Formally, nonseparating cycles are homologically nontrivial, and essential cycles are homotopically nontrivial. See Figure 6.
As can be seen immediately from Figure 6, it is not possible to determine whether a cycle is nonseparating, essential, or trivial by examining only a local neighborhood. Dey and Schipper [13] describe an algorithm to determine whether an arbitrary circuit is contractible in time; their algorithm begins by computing an arbitrary cut graph of the manifold. Fortunately, as we shall see shortly, we can simplify their algorithm considerably when the given cycle is simple.
5.1 Shortest Cycles
We begin by describing how to find the shortest nontrivial cycle through a given vertex. Our algorithm uses a combination of Dijkstra’s singlesource shortest path algorithm [14] and a modification of the canonical polygonal schema algorithm of Lazarus [37]. Our algorithm is similar to the approach taken by Guskov and Wood [24] to find and remove small handles from geometric models reconstructed from noisy data; see also [57].
The algorithm of Lazarus builds a connected subset of a triangulated manifold without boundary, starting with a single triangle and adding new triangles on the boundary of one at a time. If a new triangle intersects the boundary of in more than one component, the algorithm checks which of the following three cases holds: (1) is connected; (2) neither component of is a disk; or (3) one component of is a disk. In the final case, the algorithm adds the disk component to and continues searching the other component of . If we run this algorithm until either case (1) or case (2) holds, the total running time is . See Lazarus [37] for further details.
First we describe a straightforward generalization of the algorithm used by Lazarus to determine the structure of .
Lemma 5.1
Let be a connected polyhedral manifold whose genus and number of boundary components are known. Any simple cycle in
can be classified as nonseparating, essential but separating, or trivial in
time, where is the complexity of the smaller component of . In particular, if is nonseparating, the running time is .We perform two simultaneous depthfirst searches, starting from either side of any vertex of . If either search meets a vertex already visited by the other, is a nonseparating cycle. The running time in this case is trivially .
Conversely, if one search halts without meeting the other, is a separating cycle. Let be the smaller component of . To determine whether is essential, we compute the Euler characteristic and the number of boundary components of , which we denote by and , respectively. (This can be done on the fly during the depthfirst search phase.) Let denote the Euler characteristic of . The cycle is contractible if and only if one of the following conditions holds.

is a disk, or equivalently, .

is an annulus, or equivalently, and .

is a disk, or equivalently, . The equivalence follows from the inclusionexclusion formula .

is an annulus, or equivalently, and .
If none of these conditions hold, then is essential. The total running time if is a separating cycle is , where is the complexity of .
Note that we can simplify this algorithm slightly if the manifold has no boundary, since in that case neither component of is an annulus. We will use this simplification in our approximate cut graph algorithm.
Lemma 5.2
Let be a vertex of a polyhedral manifold , possibly with boundary. The shortest essential cycle in that contains can be computed in time.
We find the shortest essential cycle through by simulating a circular wave expanding from . Whenever the wave touches itself, either we have the shortest essential cycle through , or one component of the wave bounds a disk in and we can continue expanding the other component.
We modify the algorithm of Lazarus [37] as follows. First, is no longer a set of triangles but a more general connected subset of vertices, edges, and facets of . Initially, contains only the source vertex . Second, we use Dijkstra’s algorithm to determine the order for edges to be added. We add a facet to only when all its vertices have been added to , either directly or as part of another facet. We run the algorithm from Lemma 5.1 whenever is no longer simply connected, that is, when we add a new edge with both endpoints on the boundary of . If is disconnected, we continue only if one component of is a disk or an annulus, as can be checked using Lemma 5.1. In that case, we add the disk or annulus component of to , discard the vertices of that component from the Dijkstra priority queue, and continue searching in the other component. If is connected, or if neither component is a disk or an annulus, we have found the shortest essential cycle through , consisting of the shortest path from to , the edge , and the shortest path from to .
Dijkstra’s algorithm requires time. Each time we find a trivial cycle, we spend time and discard a disk with complexity at least . Thus, the total time spent performing cycle classification and maintaining the wavefront set is . Thus, the total running time of our algorithm is .
Running this algorithm once for every vertex of immediately gives us the shortest essential cycle.
Corollary 5.3
Let be a polyhedral 2manifold, possibly with boundary. The shortest essential cycle in can be computed in time.
A simple modification of our algorithm allows us to find shortest nonseparating cycles in the same asymptotic time.
Lemma 5.4
Let be a vertex of a polyhedral manifold , possibly with boundary. The shortest nonseparating cycle in that contains can be computed in time.
The only change from the previous algorithm is that if we discover an essential separating cycle, we continue recursively in both components of . The cost of Dijkstra’s algorithm is still , but we now must spend extra time in the cycleclassification algorithm of Lemma 5.1. As before, the total time spent finding trivial cycles is , since we can charge the search time to the discarded components.
Let denote the total time spent finding separating essential cycles. This function satisfies the recurrence
where is the complexity of the smaller component of and is its genus. The base case of the recurrence is , since every essential cycle on a genus surface is nonseparating.
Similar recurrences appear in the analysis of outputsensitive planar convex hull algorithms [5, 8, 33, 56], suggesting that the solution to our recurrence is . Indeed, we can prove this by induction as follows. Suppose
for some constant . We claim that . The inductive hypothesis implies that
A simple application of derivatives implies that the right hand side of this inequality is maximized when . Thus,
Since and , we can simplify this inequality to
completing the proof.
Thus, the total time spent in the cycleclassification phase of our algorithm is . Since , this is dominated by the cost of maintaining the Dijkstra priority queue.
Corollary 5.5
Let be an polyhedral 2manifold, possibly with boundary. The shortest nonseparating cycle in can be computed in time.
5.2 NearlyShortest Cycles
As we will argue in the next section, computing short nontrivial cycles is the bottleneck in our approximate cut graph algorithm. Fortunately, exact minimum cycles are not necessary for our results. We can speed up our cut graph algorithm, without significantly increasing the approximation factor, by searching for a nontrivial cycle at most twice as long as the shortest. Our approximation algorithm assumes that the manifold has no boundary; fortunately, as we shall see in the next section, this is sufficient for our purposes.
Our approximation algorithm works as follows. First, we compute a set of shortest paths (in fact, a cut graph) that intersects every nonseparating cycle in the manifold . Then we contract each shortest path in this set to a point and find the shortest nontrivial cycle through that point, as described by Lemmas 5.2 and 5.4.
Lemma 5.6
Let be a shortest path between two vertices in a polyhedral manifold , and let be the shortest essential (resp. nonseparating) cycle in that intersects . In time, one can compute an essential (resp. nonseparating) cycle in such that .
Let be the manifold obtained by contracting the shortest path to a single vertex . Because has no cycles, has the same topological type as . Let be the shortest essential (resp. nonseparating) cycle in that passes through . Clearly, . We can compute this cycle in time by Lemma 5.2 (resp. Lemma 5.4).
We construct a cycle in by concatenating two paths and , where contains the edges of and is the subpath of between the endpoints of . The sequence of edge contractions that transforms to also transforms to . Hence, is an essential cycle of . Because is a subpath of a shortest path, is actually the shortest path between the endpoints of , so . It follows that .
This lemma suggests a natural algorithm for finding a short nontrivial cycle: Compute a set of shortest paths that intersect every nonseparating cycle (and thus every essential cycle), and then run the algorithm from Lemma 5.6 for each path in this set.
Lemma 5.7
Let be a polyhedral manifold without boundary. In time, one can compute a set of shortest paths on such that every nonseparating cycle (and thus every essential cycle) in intersects at least one path in .
We compute a cut graph as follows. First we compute a shortestpath tree from an arbitrary initial vertex using Dijkstra’s algorithm. We then compute an arbitrary spanning tree of the dual of , that is, the graph whose vertices are facets of and whose edges join pairs of facets that share a common edge not in . Analysis similar to Lemma 4.2 implies that there are edges that do not appear in and whose dual edges to not appear in . Call this set of unclaimed edges . Let be the set of shortest paths from to the endpoints of ; these paths are all in . Finally, let .
We easily observe that is a topological disk, so is a cut graph. It follows that every nonseparating cycle in intersects . Since every vertex of is also a vertex of some path in , every nonseparating cycle in intersects at least one path in .
Notice that this algorithm does not work if has a boundary, since the dual graph of could be disconnected.
Corollary 5.8
Let be a polyhedral manifold with genus and no boundary, and let be its shortest essential (resp. nonseparating) cycle. In time, one can compute an essential (resp. nonseparating) cycle in such that .
We construct a set of shortest paths, at least one of which is guaranteed to intersect , as described in the previous lemma. Then for each path , we contract to a point and find the shortest nontrivial cycle through that point in time, as described by Lemma 5.6.
6 Approximate Minimum Cut Graphs
We now describe a simple polynomialtime greedy algorithm to construct an approximate minimum cut graph for any polyhedral manifold .
To handle manifolds with boundary, it will be convenient to consider the following simplified form. Given a manifold with genus and boundary components, the corresponding punctured manifold consists of a manifold with the same genus as but without boundary, and a set of points in , called punctures. To construct , we contract every boundary component of to a single point, which becomes one of the punctures in .^{5}^{5}5We could simulate this contraction by artificially assigning every boundary edge of a weight of zero, although this would require a few simple changes in our algorithms. If any vertex of has multiple edges to the same boundary component, contains only the edge with smallest weight, breaking ties using the Isolation Lemma as above. If has no boundary, then and .
Our goal now is to compute the minimum cut graph of that touches every puncture in ; henceforth, we call this simply the minimum cut graph of . This reduction is motivated by the following trivial observation.
Lemma 6.1
The minimum cut graph of any polyhedral manifold has the same length as the minimum cut graph of .
Our approximation algorithm works as follows. We repeatedly cut along short nontrivial cycles until our surface becomes a collection of punctured spheres, connect the punctures on each component by cutting along a minimum spanning tree, and finally (if necessary) reglue some previously cut edges to obtain a single disk. The resulting cut graph is composed of a subset of the edges of the short nontrivial cycles and all the edges of the minimum spanning forest.
6.1 Using Short Nontrivial Cycles
The first component of our algorithm is a subroutine to compute approximately shortest nontrivial cycles, described by Corollary 5.8. As required by that algorithm, the input manifold has no boundary; the punctures are completely ignored.
The following argument relates the length of the shortest nontrivial cycles to the length of the minimum cut graph.
Lemma 6.2
Let be any cut graph of a polyhedral manifold with genus and no boundary. The shortest cycle in contains of the total length of .
First consider the reduced cut graph , constructed by repeatedly contracting any edge with a vertex of degree less than three, as in Section 4. Every vertex in has degree at least . Without loss of generality, assume that every vertex in has degree exactly , splitting each highdegree vertex into a tree of degree vertices if necessary, as in the proof of Lemma 4.2. A straightforward counting argument implies that any trivalent graph whose girth (minimum cycle length) is must have at least vertices if
is odd, and at least
vertices if is even [6]. By Lemma 4.2, has at most vertices, so must have a cycle with most edges.Starting with , we inductively define a sequence of reduced graphs as follows. For each , let denote the shortest cycle in . We obtain by reducing the graph , or equivalently, removing the vertices of and all their edges, and then contracting nearby length paths to single edges. Our earlier argument implies that each cycle has at most edges. Thus, for each , we have . Lemma 4.2 implies that the original reduced cut graph has at least edges, so we can repeat this process at least times.
Let denote the cycle in the original cut graph corresponding to . By our construction, and are disjoint for all , so we have a set of at least disjoint cycles in . At least one of these cycles has length at most times the total length of .
Since every cycle in the minimum cut graph is nonseparating, and therefore essential, we immediately have the following corollary.
Corollary 6.3
For any polyhedral manifold with genus and no boundary, both the length of the shortest nonseparating cycle and the length of the shortest essential cycle are at most times the length of the minimum cut graph of .
6.2 PunctureSpanning Trees
The second component of our cut graph algorithm is a subroutine to compute the minimum puncturespanning tree of a punctured manifold , that is, the minimum spanning tree of the punctures in the shortestpath metric of .
Lemma 6.4
The minimum puncturespanning tree of any punctured polyhedral manifold can be computed in time.
We simulate Kruskal’s minimum spanning tree algorithm [36, 51] by adding shortest puncturetopuncture paths one at a time, in increasing order of length. To compute the shortest paths, we simultaneously propagate wavefronts from all punctures using Dijkstra’s algorithm. Whenever two wavefronts (, two growing shortestpath trees) collide, we add a new edge to the evolving minimum spanning tree and merge those two wavefronts. To implement this algorithm efficiently, we maintain the wavefronts in a unionfind data structure. The resulting running time is .
This is essentially the algorithm proposed by Takahashi and Matsuyama [50] to compute approximate Steiner trees in arbitrary graphs. The same algorithm was also recently used by Sheffer [45] and by Lévy [40] to compute cut graphs, where surface features with high discrete curvature play the role of punctures.
Lemma 6.5
The length of the minimum puncturespanning tree of any punctured polyhedral manifold is at most twice the length of any cut graph of .
The minimum Steiner tree of is the subgraph of of minimum total weight that includes every point in . Since any cut graph of must touch every puncture, no cut graph is shorter than this minimum Steiner tree. On the other hand, the minimum spanning tree of has at most twice the length of the minimum Steiner tree [35, 50].
6.3 Analysis
We now have all the components of our greedy cut graph algorithm. At any stage of the algorithm, we have a punctured manifold . Our algorithm repeatedly cuts along a short nonseparating cycle of , using Corollary 5.8. This cut creates one or two new boundary circles, which we collapse to new punctures. When the manifold is reduced to a collection of punctured spheres, we cut along the minimum puncturespanning tree of each component using the algorithm in Lemma 6.4.
Each nonseparating cycle cut reduces the genus of by . This immediately implies that our algorithm performs exactly cycle cuts, so the overall running time is
For any graph , let denote its total length. Let denote the minimum cut graph of . Let denote the punctured manifold after cycle cuts have been performed, so has genus , and let denote the minimum cut graph of , ignoring the punctures . Since collapsing edges cannot increase the minimum cut graph length, we have for all .
Let denote the short nonseparating cycle of found by Corollary 5.8. (We easily observe that any cut graph of must intersect this cycle.) Lemma 6.2 and Corollary 5.8 imply that for all and . Summing over all cuts, we conclude that the total length of all cycle cuts is at most
Similarly, Lemma 6.5 implies that the minimum puncturespanning forest has length at most . Finally, regluing previously cut edges to obtain a single disk only reduces the length of the final cut graph. Thus, the final cut graph computed by our algorithm has length at most .
Theorem 6.6
Given a polyhedral manifold with genus and boundary components, an approximation of its minimum cut graph can be constructed in time.
Cutting along short essential cycles instead of short nonseparating cycles leads to exactly the same asymptotic running time and approximation bounds, although the algorithm and its analysis are slightly more complicated. For purposes of analysis, we can divide the algorithm into phases, where in the th phase, we cut along a short essential cycle of every component of the manifold that has genus . Essential cycle cuts can separate the manifold into multiple components, but since each component must have nontrivial topology, the algorithm performs at most separating cuts. At the end of the algorithm, if necessary, we reglue along some previously cut edges to obtain a single topological disk. We refer to the earlier version of this paper for further details [19].
7 Open Problems
We have developed new algorithms to compute exact and approximate minimal cut graphs for manifold surfaces with arbitrary genus and arbitrary boundary complexity. Our approximation algorithm is particularly simple.
Our results suggest several open problems, the most obvious of which is to improve the running times and approximation factors of our algorithms. Is the minimum cut graph problem fixedparameter tractable [15]? That is, can we compute exact minimum cut graphs in time for some function ? The similarity to the Steiner problem offers some hope here, since the minimum Steiner tree of nodes in an node graph can be computed in time [16, 27].
The approximation algorithm of Theorem 6.6 is somewhat indirect. It computes a short cut graph by repeatedly computing a ‘reasonable’ cut graph and then extracting a short nontrivial cycle that interacts with this cut graph. It is natural to conjecture that one can compute such a short cut graph directly, resulting in a faster algorithm. In particular, we conjecture that an approximately minimum cut graph can be computed in time.
How well can we approximate the minimum cut graph in nearlylinear time? There are several simple heuristics to compute ’good’ cut graphs in time, such as the dual shortestpath algorithm used by Gu [25] and by Steiner and Fischer [48], and the algorithm described in the proof of Lemma 5.7. How well do these algorithms approximate the minimum cut graph?
More generally, is there a simple, practical, approximation algorithm, like the minimum spanning tree approximation of Steiner trees? In fact, it might be that our algorithm provides such an approximation, as our current analysis seems to be far from tight. Unfortunately, the general Steiner tree problem is MAXSNPhard [4], so an efficient approximation algorithm for arbitrary seems unlikely.
Several authors have pointed out apparent tradeoffs between the quality of parameterizations and the length of the required cut graph; see, for example, Sorkine [47]. How hard is it to compute the (approximately) shortest cut graph required for a parameterization whose distortion is less than some given limit? Conversely, how hard is it to (approximately) minimize the distortion of a parameterization, given an upper bound on the permitted length of the surface cuts? The complexity of these problems clearly depends the which distortion measure is used, but we expect almost any variant of this problem to be NPhard.
Finally, can our ideas be applied to other useful families of curves on manifolds, such as homology generators (families of cycles that intersect in pairs) and pants decompositions (maximal sets of pairwise disjoint essential cycles [52])?
Acknowledgments. We would like to thank Herbert Edelsbrunner for an enlightening initial conversation. We are also grateful to Noga Alon, Steven Gortler, John Hart, Benjamin Sudakov, Kim Whittlesey, and Zoë Wood for helpful discussions.
References
 [1] P. Alliez, M. Meyer, and M. Desbrun. Interactive geometry remeshing. To appear in Proc. SIGGRAPH ’02, 2002.
 [2] U. Axen and H. Edelsbrunner. Auditory Morse analysis of triangulated manifolds. Mathematical Visualization, 223–236, 1998. SpringerVerlag.
 [3] C. Bennis, J.M. Vézien, G. Iglésias, and A. Gagalowicz. Piecewise surface flattening for nondistorted texture mapping. Computer Graphics (SIGGRAPH ’91 Proceedings), 237–246, 1991. vol. 25.
 [4] M. Bern and P. Plassman. The Steiner problem with edge lengths and . Inform. Proc. Lett. 32(4):171–176, 1989.
 [5] B. K. Bhattacharya and S. Sen. On a simple, practical, optimal, outputsensitive randomized planar convex hull algorithm. J. Algorithms 25:177–193, 1997.
 [6] N. Biggs. Constructions for cubic graphs with large girth. Elec. J. Combin. 5:A1, 1998.
 [7] J. Blömer. Computing sums of radicals in polynomial time. Proc. 32nd Annu. IEEE Sympos. Found. Comput. Sci., 670–677, 1991.
 [8] T. M. Chan, J. Snoeyink, and C. K. Yap. Primal dividing and dual pruning: Outputsensitive construction of d polytopes and d Voronoi diagrams. Discrete Comput. Geom. 18:433–454, 1997.
 [9] S. Chari, P. Rohatgi, and A. Srinivasan. Randomnessoptimal unique element isolation with applications to perfect matching and related problems. SIAM J. Comput. 24(5):1036–1050, 1995.
 [10] È. Colin de Verdiére and F. Lazarus. Optimal systems of loops on an orientable surface. Proc. 43rd Annu. IEEE Sympos. Found. Comput. Sci., p. to appear, 2002.
 [11] T. Dey, H. Edelsbrunner, and S. Guha. Computational topology. Advances in Discrete and Computational Geometry, 109–143, 1999. Contemporary Mathematics 223, American Mathematical Society.
 [12] T. K. Dey and S. Guha. Transforming curves on surfaces. J. Comput. Sys. Sci. 58:297–325, 1999.
 [13] T. K. Dey and H. Schipper. A new technique to compute polygonal schema for 2manifolds with application to nullhomotopy detection. Discrete Comput. Geom. 14:93–110, 1995.
 [14] E. W. Dijkstra. A note on two problems in connexion with graphs. Numerische Mathematik 1:269–271, 1959.
 [15] R. G. Downey and M. R. Fellows. Parameterized Complexity. Monographs in Computer Science. SpringerVerlag, 1999.
 [16] S. Dreyfus and R. Wagner. The Steiner problem in graphs. Networks 1:195–207, 1971.
 [17] M. Eck, T. DeRose, T. Duchamp, H. Hoppe, M. Lounsbery, and W. Stuetzle. Multiresolution analysis of arbitrary meshes. Proc. SIGGRAPH ’95, 173–182, 1995.
 [18] D. Eppstein. Seventeen proofs of Euler’s formula: . The Geometry Junkyard, May 2001. http://www.ics.uci.edu/~eppstein/junkyard/euler/.
 [19] J. Erickson and S. HarPeled. Optimally cutting a surface into a disk. Proc. 18th Annu. ACM Sympos. Comput. Geom., 244–253, 2002.
 [20] M. S. Floater. Parameterization and smooth approximation of surface triangulations. Comput. Aided Geom. Design 14(4):231–250, 1997.
 [21] G. K. Francis and J. R. Weeks. Conway’s ZIP proof. Amer. Math. Monthly 106:393–399, 1999. http://new.math.uiuc.edu/zipproof/.
 [22] M. R. Garey, R. L. Graham, and D. S. Johnson. The complexity of computing Steiner minimal trees. SIAM J. Appl. Math. 32:835–859, 1977.
 [23] M. R. Garey and D. S. Johnson. The rectilinear Steiner tree problem is NPcomplete. SIAM J. Appl. Math. 32:826–834, 1977.
 [24] I. Guskov and Z. Wood. Topological noise removal. Proc. Graphics Interface, 19–26, 2001.
 [25] X. Gu, S. J. Gortler, and H. Hoppe. Geometry images. To appear in Proc. SIGGRAPH ’02, 2002.
 [26] S. Haker, S. Angenent, A. Tannenbaum, R. Kikinis, G. Sapiro, and M. Halle. Conformal surface parameterization for texture mapping. IEEE Trans. Visualizat. Comput. Graph. 6(2):181–187, 2000.
 [27] M. Hallett and T. Wareham. A compendium of parameterized complexity results. SIGACT News 25(3):122–123, 1994. http://web.cs.mun.ca/~harold/W_hier/compendium.html.
 [28] M. Hanan. On Steiner’s problem with rectilinear distance. SIAM J. Appl. Math. 14:255–265, 1966.
 [29] A. Hatcher. Algebraic Topology. Cambridge University Press, 2001. http://www.math.cornell.edu/~hatcher/.

[30]
M. Hilaga, Y. Shinagawa, T. Kohmura, and T. L. Kunii.
Topology matching for fully automatic similarity estimation of 3d shapes.
Proc. SIGGRAPH ’01, 203–212, 2001.  [31] D. B. Johnson. Efficient algorithms for shortest paths in sparse networks. J. Assoc. Comput. Mach. 24(1):1–13, 1977.
 [32] R. Kimmel, A. Amir, and A. M. Bruckstein. Finding shortest paths on surfaces using level sets propogation. IEEE Trans. PAMI 17:635–640, 1995.
 [33] D. G. Kirkpatrick and R. Seidel. The ultimate planar convex hull algorithm? SIAM J. Comput. 15:287–299, 1986.
 [34] A. Klivans and D. A. Spielman. Randomness efficient identity testing of multivariate polynomials. Proc. 33rd Annu. ACM Sympos. Theory Comput., 216–223, 2001.
 [35] L. Kou, G. Markowsky, and L. Berman. A fast algorithm for Steiner trees. Acta Inform. 15:141–145, 1981.
 [36] J. B. Kruskal, Jr. On the shortest spanning subtree of a graph and the traveling salesman problem. Proc. Amer. Math. Soc. 7:48–50, 1956.
 [37] F. Lazarus, M. Pocchiola, G. Vegter, and A. Verroust. Computing a canonical polygonal schema of an orientable triangulated surface. Proc. 17th Annu. ACM Sympos. Comput. Geom., 80–89, 2001.
 [38] F. Lazarus and A. Verroust. Level set diagrams of polyhedral objects. Proc. 5th ACM Sympos. Solid Modeling Appl., 130–140, 1999.
 [39] A. W. F. Lee, W. Sweldens, P. Schröder, L. Cowsar, and D. Dobkin. MAPS: Multiresolution adaptive parameterization of surfaces. Proc. SIGGRAPH ’98, 95–104, 1998.
 [40] B. Lévy, S. Petitjean, N. Ray, and J. Maillot. Least squares conformal maps for automatic texture atlas generation. To appear in Proc. SIGGRAPH ’02, 2002.
 [41] J. S. B. Mitchell, D. M. Mount, and C. H. Papadimitriou. The discrete geodesic problem. SIAM J. Comput. 16:647–668, 1987.
 [42] K. Mulmuley, U. V. Vazirani, and V. V. Vazirani. Matching is as easy as matrix inversion. Combinatorica 7:105–113, 1987.
 [43] J. R. Munkres. Topology, 2nd edition. PrenticeHall, 2000.
 [44] D. Piponi and G. Borshukov. Seamless texture mapping of subdivision surfaces by model pelting and texture blending. Proc. SIGGRAPH ’00, 471–478, 2000.
 [45] A. Sheffer. Spanning tree seams for reducing parameterization distortion of triangulated surfaces. Proc. Shape Modeling International, 2002.
 [46] A. Sheffer and E. de Sturler. Surface parameterization for meshing by triangulation flattening. Proc. 9th International Meshing Roundtable, 161–172, 2000. http://www.andrew.cmu.edu/user/sowen/abstracts/Sh742.html.
 [47] O. Sorkine, D. CohenOr, R. Goldenthal, and D. Lischinksi. Boundeddistortion piecewise mesh parameterization. To appear in Proc. 12th IEEE Visualization Conf., 2002.
 [48] D. Steiner and A. Fischer. Cutting 3D freeform objects with genus into single boundary surfaces using topological graphs. To appear in Proc. 7th ACM Sympos. Solid Modeling Appl., 2002.
 [49] J. Stillwell. Classical Topology and Combinatorial Group Theory, 2nd edition. Graduate Texts in Mathematics 72. SpringerVerlag, 1993.
 [50] H. Takahashi and A. Matsuyama. An approximate solution for the network Steiner tree problem. Math. Japonica 24:573–577, 1980.
 [51] R. E. Tarjan. Data Structures and Network Algorithms. CBMSNSF Regional Conference Series in Applied Mathematics 44. Society for Industrial and Applied Mathematics, Philadelphia, PA, 1983.
 [52] W. Thurston. ThreeDimensional Geometry and Topology, Volume 1. Princeton University Press, New Jersey, 1997.
 [53] J. N. Tsitsiklis. Efficient algorithms for globally optimal trajectories. IEEE Trans. Automatic Control 40:1528–1538, 1995.
 [54] G. Vegter. Computational topology. Handbook of Discrete and Computational Geometry, chapter 28, 517–536, 1997. CRC Press LLC.
 [55] G. Vegter and C. K. Yap. Computational complexity of combinatorial surfaces. Proc. 6th Annu. ACM Sympos. Comput. Geom., 102–111, 1990.
 [56] R. Wenger. Randomized quickhull. Algorithmica 17:322–329, 1997.
 [57] Z. Wood, H. Hoppe, M. Desbrun, and P. Schröder. Isosurface topology simplification. Tech. Rep. MSRTR200228, Microsoft Research, 2002. http://www.multires.caltech.edu/pubs/.
 [58] G. Zigelman, R. Kimmel, and N. Kiryati. Texture mapping using surface flattening via multidimensional scaling. IEEE Trans. Visual. Comput. Graph. 8:198–207, 2001.