Log In Sign Up

Angle-monotone Paths in Non-obtuse Triangulations

We reprove a result of Dehkordi, Frati, and Gudmundsson: every two vertices in a non-obtuse triangulation of a point set are connected by an angle-monotone path--an xy-monotone path in an appropriately rotated coordinate system. We show that this result cannot be extended to angle-monotone spanning trees, but can be extended to boundary-rooted spanning forests. The latter leads to a conjectural edge-unfolding of sufficiently shallow polyhedral convex caps.


page 1

page 2

page 3

page 4


Angle-Monotone Graphs: Construction and Local Routing

A geometric graph in the plane is angle-monotone of width γ if every pai...

Drawing a Rooted Tree as a Rooted y-Monotone Minimum Spanning Tree

Given a rooted point set P, the rooted y-Monotone Minimum Spanning Tree ...

Edge-Unfolding Nearly Flat Convex Caps

This paper proves a conjecture from [LO17]: A nearly flat, acutely trian...

Uniform 2D-Monotone Minimum Spanning Graphs

A geometric graph G is xy-monotone if each pair of vertices of G is conn...

Plane Spanning Trees in Edge-Colored Simple Drawings of K_n

Károlyi, Pach, and Tóth proved that every 2-edge-colored straight-line d...

Upward Point Set Embeddings of Paths and Trees

We study upward planar straight-line embeddings (UPSE) of directed trees...

Directional distributions and the half-angle principle

Angle halving, or alternatively the reverse operation of angle doubling,...

1 Introduction

The central result of this paper is to offer an alternative—and we believe simpler—proof of a result of Dehkordi, Frati, and Gudmundsson [DFG15] (henceforth, DFG): “Lemma 4. Let be a Gabriel triangulation on a point set . For every two points , there exists an angle such that contains a -path from to .” We first explain this result, using notation from [BBC16], before detailing our other contributions. First, we use for the point set and instead of . A Gabriel triangulation as defined by DFG is a triangulation of where “every angle of a triangle delimiting an internal face is acute.” Because neither they nor we need any of the various properties of Gabriel triangulations except the angle property, and we only need non-obtuse rather than strict acuteness, we define to be a plane geometric graph that is a non-obtuse triangulation of .

Define the wedge to be the region of the plane bounded by rays at angles emanating from . is closed along (i.e., includes) both rays, and has angular width of . (Later we generalize to widths different from .) A polygonal path consisting of edges of is called -monotone (for short, a -path

) if the vector of every edge

lies in . These are the -paths of DFG. Note that if , then a -monotone path is both - and -monotone with respect to a Cartesian coordinate system. A path that is -monotone for some is called angle-monotone.

Our phrasing of the DFG result is:

In a non-obtuse triangulation , every pair of vertices is connected by an angle-monotone path.

Other Contributions. We extend Theorem 1 to wedges of any width —if a plane geometric graph that includes the convex hull of has all angles at most , then there is an angle-monotone path of width between any two vertices. Of necessity, . One significance of angle-monotone paths of width is that they have a spanning ratio of  [BBC16]. We do not pursue that aspect here. Instead, we investigate angle-monotone spanning trees. These were studied independently in [MS16], which addressed recognition and construction, but not existence—our focus. We show that Theorem 1 does not extend to angle-monotone spanning trees, but does extend to boundary-rooted spanning forests. Then, in Section 5 we make a novel connection to edge-unfolding polyhedra.

2 Proof

We prove Theorem 1 by showing that there is an angle-monotone path from an arbitrary fixed vertex to every other vertex. The proof uses an angular sweep around , which by convention we place at the origin. We first consider a fixed but arbitrary angle and investigate which vertices are reached by -paths from . Let be the boundary of , i.e., the convex hull of . Our proof relies on two properties of vertices not on : (1) the wedge includes at least one edge incident to ; (2) if the wedge has only one edge incident to then that edge does not lie along a bounding ray of the wedge. In order to avoid dealing with boundary vertices as a separate case, we will augment so that conditions (1) and (2) hold for boundary vertices as well. At every vertex on add a finite set of rays that subdivide the exterior angle at into angles of at most . Call the result . By construction, properties (1) and (2) now hold for every vertex if we consider both edges and rays incident to . Note that no added ray crosses an edge of . In the special case of widths , the rays can be chosen so that they do not intersect one another. When we generalize to smaller widths, the rays will necessarily intersect each other but this will not influence our proof. In our figures, the rays are drawn short as a reminder that only their angles at the convex hull are relevant.

A -path starting at is maximal if there is no edge or ray that can be added at the end of the path while keeping it a -path. In particular, a path ending with a ray is maximal. DFG proved that every maximal -path terminates on , which in our terms becomes:

Any maximal -path ends with a ray. Consider a -path that ends at a vertex . The wedge must include an edge or ray of by property (1) so the path can be extended.

We will see later (in Fig. 3(b)) that it is possible for a -path to include edges of , return to interior edges, and then later again include edges of . For a fixed , let be the set of all maximal -paths starting from . Let and be the set of vertices and edges/rays in .

Let be the upper envelope of , defined as follows. Starting from vertex , grow by always following the most counterclockwise edge/ray from falling within . is necessarily a maximal -path, so it ends with a ray. By property (2) above, we have:

does not include any edge/ray along the lower ray of , at angle .

is similarly the lower envelope, the most clockwise path. Note that “upper” and “lower” are to be interpreted as most counterclockwise and most clockwise respectively, not in terms of -coordinates.111These notions are analogous but not equivalent to DFG’s “high” and “low” paths. Finally, define to be the region of the plane whose boundary is , . Fig. 1 illustrates these definitions.

Figure 1: edges are marked; . and delimit the region . Rays shown only for hull vertices.

Every vertex in is in , i.e., every vertex in can be reached from via a -path. Wlog assume , so that the wedge rays are at and . Let be the leftmost inaccessible vertex, i.e., the leftmost vertex not reached by a -path from . If there are ties for leftmost, let be the lowest. Consider the backward wedge at . Note that lies in . Consider the line segment . It lies in and inside the convex hull of . Imagine rotating clockwise or counterclockwise about while remaining inside and inside the convex hull of in a small neighborhood of . Since there are no obtuse angles at , rotating in one direction or the other must result in an edge or ray in . Furthermore, the result cannot be a ray since we never leave the convex hull. Thus we have identified an edge in .

Suppose first that is in . Because is the leftmost lowest inaccessible vertex, must be accessible (note that must be at the same -height or lower than ). But now lies in , and so is accessible after all, a contradiction. Instead suppose lies outside . Then must cross the boundary of . But that boundary is composed of edges/rays of , and cannot cross an edge of without the two sharing a vertex, which would lie on the boundary of , not the exterior, again a contradiction.

Figure 2: No vertex in is inaccessible: all are reached by a -path from .

2.1 Critical angles

We now analyze the relationships between and , where is the next “relevant” angle after , with the goal of showing that all vertices in are “covered” over all , i.e., belong to for some . Throughout, fix the source , and let . Define an angle to be critical if or differs from , for an arbitrarily small . At a critical angle , one or both rays of are parallel to one or more edges of If differs from , one or more edges parallel to the ray drop out of . If differs from , one or more edges parallel to the ray enter . Fig. 3 illustrates two adjacent critical angles.

Let be the critical angles, sorted counterclockwise. For every strictly between two adjacent critical angles, , is the same. We use the notation to represent this intermediate set, which differs from or or both.

In the transition from to , edges can drop out of . In particular, any edge that lies along the -ray of will drop out of . Furthermore, when edges drop out of this may cause vertices to drop out of , and any edge originating at a dropped vertex also drops out of .

Figure 3: (red), (purple), and (green). (a)  includes some but not all edges. (b)  includes an edge of before an internal edge.

The next lemma shows that no vertices fall strictly “between” and , where they would escape being spanned.

is a path in .

Since edges may only enter, not leave, in the transition from to , the lemma is equivalent to the claim that is a path in . Let , and . Then we aim to prove that . This requires showing that no edge drops out from to , as increases to . As usual, assume that .

Suppose to the contrary that some edge drops out, and let be the leftmost lowest edge with but . Equivalently, is the first edge of that is not in . Because is in , the only reason for to drop out is that it lies along the lower, horizontal ray of the wedge . But by Observation (2), does not include any edge along the lower ray of the wedge.

In analogy with the definition of , define for to be the region bound by , , and the portion of between those lower and upper envelope endpoints.

. Informally, no vertices are “orphaned” between and . The lemma essentially says that no vertices are “orphaned” between and , and this follows immediately from the fact that as established in Lemma 3.

Now we can prove Theorem 1, the key result of [DFG15]: [of Theorem 1] Fix and construct . By Lemma 3, this is a spanning graph of , and so must include a path from to .

Our arguments extend to wedges of any width , thus proving that if a plane geometric graph that includes the convex hull of has all internal angles at most , then there is an angle-monotone path of width between any two vertices. This answers a question raised in [BBC16].

3 Spanning Tree

Now that Theorem 1 has established that there is a graph spanning all of with angle-monotone paths from any source , it is natural to wonder if the claim can be strengthened to the existence of an angle-monotone spanning tree for any : a tree rooted at with an angle-monotone path from to any . The answer is no, but we canvass a few positive results before detailing a counterexample for spanning trees. Throughout, we let be an arbitrary vertex of . First, within a fixed region, can be easily spanned: includes an angle-monotone tree that spans the same vertices, . By Lemma 1, reaches every vertex in . For each vertex , in any order, delete all but one incoming edge to . Because an incoming edge remains to each , is spanned. Because eventually no has more than one incoming edge, no cycles can remain. See Fig. 4.

Figure 4: spanning tree. Light-brown edges have been deleted.

We now consider triangulations with special angles.

Let have edges only at multiples of . Then there is an angle-monotone spanning tree rooted at any source vertex . Let and be two consecutive critical angles. We argue that and may share an initial portion of a path, but then diverge and do not rejoin before reaching their terminal rays.

By Observation (2), only includes edges at angles or . So the most counterclockwise edge in is , and the most clockwise edge in is . Thus, and can have parallel edges, but once they separate, they can never rejoin.

Now it is easy to create a spanning tree between and that retains all edges in these two envelopes, by deleting all but one incoming edge to each vertex between the envelopes.

The problematic possibility avoided in such graphs is and joining, separating, and rejoining. Already in a graph that has edges only at multiples of , the divergence of upper envelopes used in Lemma 4 is no longer guaranteed, and thwarts that proof.

3.1 Spanning Tree Counterexample

Fig. 5 shows a graph that does not have an angle-monotone spanning tree rooted at . The construction allows two angle-monotone paths to each of , one of which is marked green in the figure. But vertices and are shifted slightly toward one another, which breaks the symmetry and, as we shall argue below, results in a unique angle-monotone path to each. The union of those two unique paths contains the cycle . Thus there is no angle-monotone spanning tree from .

We now argue that there is no angle-monotone path to other than . This is simply a matter of checking that any other path to contains two spread-apart edges whose vectors do not lie in a wedge. In particular, the path contains spread-apart edges and , and the path contains spread-apart edges and . Other paths can be checked similarly. Similar reasoning constrains the (symmetric) paths to .

Figure 5: is the unique angle-monotone path to , and is the unique angle-monotone path to , forming the cycle .

The outer ring of six circles in the construction make clear that various diameter-spanning angles are , but points could be moved slightly exterior to those circles, rendering those angles , while retaining the properties that force the cycle. So the counterexample is “robust” in this sense.

4 Spanning Forest

For the unfolding application discussed in the next section, it is useful to span by a boundary-rooted forest : A set of disjoint angle-monotone trees, each with its root on , and spanning every interior vertex of . This can be achieved with -monotone trees for just four values.

With a Cartesian coordinate system centered on vertex , define the quadrants as follows. is the quadrant coincident with when , closed along the -axis and open along the -axis, and includes the origin . , are defined analogously, except those quadrants do not include the origin. Thus the quadrants are pairwise disjoint and together cover the plane.

We construct separate spanning forests for each quadrant, following Algorithm 1, which grows paths from vertices interior to to . See Fig. 6.

Figure 6: Spanning forest resulting from Algorithm 1.
Input : Non-obtuse triangulation
Output : Spanning forest composed of -monotone paths
// Quadrants , each corresponding to
// , .
foreach Quadrant ,  do
       // Grow forest inside .
       foreach  do
             if  then
                  Grow -path from . Stop when reaches a vertex in , or reaches .
             end if
       end foreach
end foreach
return .
Algorithm 1 Algorithm to construct spanning forest

Algorithm 1 outputs a boundary-anchored spanning forest, each tree of which is composed of -monotone paths, for four ’s: , . Observe that a -path grown from remains in . So all the trees in are composed of -paths. All vertices of each quadrant are spanned, because the inner loop of Algorithm 1 runs over all . No cycles can be created because the algorithm only grows a path from if is not yet in . So becomes a leaf of some tree in when its path reaches that tree.

5 Unfolding

Now we discuss an application of Algorithm 1 and Lemma 1 to edge-unfolding nearly flat convex caps. We only sketch the argument, as several steps need considerable elaboration, and other steps rely on definitions and details in an unpublished report [O’R16]. So this section will end with a conjecture rather than a theorem. At a high level, the construction depends on two claims: (1) angle-monotone paths are “radially monotone paths,” a concept introduced in [O’R16], but known before as backwards “self-approaching curves” [IKL99]. (2) Theorem 2 of [O’R16] concludes that the unfolding of a particular “medial” cut path on a polyhedron is radially monotone and so does not self-cross when unfolded (if certain angle conditions are satisfied).

Let be a convex polyhedron, and let for a face be the angle the normal to makes with the -axis. Let be a halfspace whose bounding plane is orthogonal to the -axis, and includes points vertically above that plane. Define a convex cap of angle to be for some and , such that for all in . We will only consider , which implies that the projection of onto the -plane is one-to-one.

Say that a convex cap is acutely triangulated if every angle of every face is strictly acute. Note that being acutely triangulated does not always imply that is acutely triangulated, but it is known that any polyhedron can be acutely triangulated [Bis16]. We will need this lemma. Let a triangle in , whose face normal makes angle with the -axis, have one angle , which projects to on the -plane. Then the maximum value of is a monotonically increasing function, as plotted in Fig. 7. We only need that as , so we will not calculate the function explicitly. For example, for , .

Figure 7: The maximum face angle change resulting from projection with normal at angle .

For a triangulated convex cap , let be the maximum of any triangle angle. Using Lemma 5, we can guarantee that an acutely triangulated cap will project to a non-obtuse plane graph by choosing so that .

Now we apply Algorithm 1 and Lemma 1 to obtain an angular-monotone spanning forest of . We then lift the trees in to cut trees on in . Again Lemma 5 ensures this can be accomplished without any turn angle in any path in any tree of exceeding . Now finally we invoke a version of Theorem 2 as mentioned previously, which guarantees that the cut paths unfold without local overlap. We leave it a claim that the angle conditions for that theorem are satisfied by selecting small enough. The conclusion is that the lifted paths are “radially monotone,” which is the condition that implies unfolding without overlap. The end result is this:

For an acutely triangulated convex cap with sufficiently small bounding face normals, the spanning forest resulting from Algorithm 1 lifts to a cut forest that edge-unfolds without overlap.

We have implemented this construction. Fig. 8 shows a convex cap with , and Fig. 9 shows the corresponding unfolding.222 The forest in Fig. 8 is slightly different than that shown in Fig. 6, due to different ordering choices of .

Figure 8: The cut forest resulting from lifting to the convex cap. (The marked face is the root of the dual unfolding tree.)
Figure 9: The edge-unfolded convex cap. The origin and quadrants used in Algorithm 1 are indicated.


We thank Debajyoti Mondal for observing that our proof of Theorem 1 works for widths other than .


  • [Bis16] C.J. Bishop. Nonobtuse triangulations of PSLGs. Discrete & Computational Geometry, 56(1):43–92, 2016.
  • [BBC16] N. Bonichon, P. Bose, P. Carmi, I. Kostitsyna, A. Lubiw, and S. Verdonschot. Gabriel triangulations and angle-monotone graphs: Local routing and recognition. In: 24th Graph Drawing and Network Visualization (GD). Lect. Notes Comput. Sci., 9801. Springer, 2016, pages 519–531.
  • [DFG15] H.R. Dehkordi, F. Frati, and J. Gudmundsson. Increasing-chord graphs on point sets. J. Graph Algorithms Applications, 19(2):761–778, 2015.
  • [IKL99] C. Icking, R. Klein, and E. Langetepe. Self-approaching curves. Math. Proc. Camb. Phil. Soc., 125:441–453, 1999.
  • [MS16] K. Mastakas and A. Symvonis. Rooted uniform monotone minimum spanning trees. Internat. Conf. Algorithms Complexity (CIAC), Athens, Greece, 2017. Lect. Notes Comput. Sci. 10236, Springer.
  • [O’R16] J. O’Rourke. Unfolding convex polyhedra via radially monotone cut trees. arXiv:1607.07421 [cs.CG], 2016.