    Convexity-Increasing Morphs of Planar Graphs

We study the problem of convexifying drawings of planar graphs. Given any planar straight-line drawing of a 3-connected graph, we show how to morph the drawing to one with convex faces while maintaining planarity at all times. Furthermore, the morph is convexity increasing, meaning that angles of inner faces never change from convex to reflex. We give a polynomial time algorithm that constructs such a morph as a composition of a linear number of steps where each step either moves vertices along horizontal lines or moves vertices along vertical lines.

Authors

03/12/2019

Cubic Planar Graphs that cannot be Drawn on few Lines

For every integer ℓ, we construct a cubic 3-vertex-connected planar bipa...
08/21/2018

Monotone Drawings of k-Inner Planar Graphs

A k-inner planar graph is a planar graph that has a plane drawing with a...
08/29/2017

Aligned Drawings of Planar Graphs

Let G be a graph topological embedded in the plane and let A be an arra...
12/10/2020

Cycle convexity and the tunnel number of links

In this work, we introduce a new graph convexity, that we call Cycle Con...
03/18/2021

A graph theoretical approach to the firebreak locating problem

In the last decade, wildfires have become wider and more destructive. Th...
03/11/2021

Polygon-Universal Graphs

We study a fundamental question from graph drawing: given a pair (G,C) o...
04/20/2018

Normal forms for planar connected string diagrams

In the graphical calculus of planar string diagrams, equality is generat...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

A morph between two planar straight-line drawings and of a plane graph is a continuous movement of the vertices from their positions in  to their positions in , with the edges following along as straight-line segments between their endpoints. A morph is planar if it preserves planarity of the drawing at all times.

Motivated by applications in animation and in reconstruction of 3D shapes from 2D slices, the study of morphing has focused on finding a morph between two given planar drawings. The existence of planar morphs was established long ago [7, 38], followed by algorithms that produce good visual results [21, 23], and algorithms that find “piece-wise linear” morphs with a linear number of steps . Our focus is somewhat different, and more aligned with graph drawing goals—our input is a planar graph drawing and our aim is to morph it to a better drawing, in particular to a convex drawing. A morph convexifies a given straight-line graph drawing if the result is a (strictly) convex graph drawing, i.e. a planar straight-line graph drawing in which every face is a (strictly) convex polygon. For a survey on convex graph drawing, see .

We first observe that it is easy, using known results, to find a planar morph that convexifies a given drawing—we can just create a convex drawing with the same faces (assuming such a drawing exists), and morph to that specific drawing using the known planar morphing algorithms. (For a discussion of the techniques used, see the section on related work.) In this paper, we are interested in a stronger condition: we want to find a convexifying morph which is also convexity-increasing, meaning that once an angle of an inner face is convex, it remains convex. We illustrate a convexity-increasing morph in Fig. 1. Fig. 1: A sequence of convexity-increasing morphs (horizontal, vertical, horizontal) that morph a straight-line drawing of a graph G (1) into a strictly convex drawing of G (4). The dashed segments are auxilliary edges added by our algorithm before each morphing step.

Besides the theoretical goal of studying continuous motion that is monotonic in some measure (e.g. edge lengths ), another motivation comes from visualization—a morph of a graph drawing should maintain the user’s “mental map”  which means changing as little as possible, and making observable progress towards a goal. Most previous morphing algorithms fail to provide convexity-increasing morphs even if the target is a convex drawing because they start by triangulating the drawing. Therefore, an original convex angle may be subdivided by new triangulation edges, so there is no constraint that keeps it convex.

Related work. To the best of our knowledge, previous work on convexity-increasing morphs only considers the case when the input graph is a cycle (or a path). Connelly et al.  and Canterella et al.  gave algorithms to convexify a simple polygon while preserving edge lengths. Since their motions are “expansive”, they are convexity-increasing. Aichholzer et al.  gave an algorithm to find a “visibility-increasing” morph of a simple polygon to a convex polygon; this condition implies the condition of being convexity-increasing.

In related work, there is an algorithm to morph a convex drawing to another convex drawing of the same graph while preserving planarity and convexity . Such morphs are convexity-increasing by default, but do not address our problem since our initial drawing is not convex.

Many previous morphing algorithms find “piece-wise linear” morphs, where the morph is composed of discrete steps and each step moves vertices along straight lines. A morph is called linear if each vertex moves along a straight line at constant speed; different vertices are allowed to move at different speeds, and some may remain stationary. A linear morph is completely specified by the initial and final drawings. If, in addition, all the lines along which vertices move are parallel, then the morph is called unidirectional .

Alamdari et al.  gave an algorithm with runtime that takes as input two planar straight-line drawings of a graph on vertices with the same combinatorial embedding, i.e., the drawings have the same outer face and for each face (every boundary component) has the same cyclic ordering of edges. It then constructs a planar morph between the two drawings that consists of a sequence of unidirectional morphs.

Our contribution. In this paper, we give the first algorithm that convexifies a given straight-line planar drawing  via a planar convexity-increasing morph. The only requirement is that the plane graph  represented by  admits a strictly convex drawing. This is the case if and only if  is internally 3-connected; see Section 2.1 for the definition and related discussions.

In fact, we achieve the following stronger property—our morphs are composed of a linear number of horizontal and vertical morphs. A horizontal morph moves all vertices at constant speeds along horizontal lines; a vertical morph is defined analogously. These are special cases of unidirectional morphs. See Fig. 1 for an illustration.

Orthogonality is a very desirable and well-studied criterion for graph drawing , in part because there is evidence that the human visual cortex comprehends orthogonal lines more easily [5, 31, 34]. Similarly, it seems natural that orthogonal motion should be easier to comprehend, though this criterion has not been explored in previous work.

Our main result is summarized in the following theorem.

Theorem 1.

Let be a planar straight-line drawing of an internally 3-connected graph on vertices. Then can be morphed to a strictly convex drawing via a sequence of at most convexity-increasing planar morphing steps each of which is either horizontal or vertical.

In the special cases that is 3-connected or has a convex outer face, the upper bound on the number of morphing steps can be improved to or , respectively, where denotes the number of internal reflex angles.

Furthermore, there is an time algorithm to find the sequence of morphs, where is the matrix multiplication exponent.

The run time is with Gaussian elimination, improved to using the current fastest matrix multiplication method with  . Our model of computation is the real-RAM—we do not have a polynomial bound on the bit-complexity of the coordinates of the vertices in the sequence of drawings that specify the morph. However, previous morphing algorithms had no such bounds either.

Our algorithm has another advantage in terms of visualization over previous morphing algorithms such as the one by Alamdari et al. . These algorithms tend to “almost contract” vertices, which destroys the user’s “mental map” of the graph. We do not use contractions, and therefore expect our morphs to be useful for visualizations.

A main ingredient of our proof is a result of Hong and Nagamochi  that gives conditions (and an algorithm) for redrawing a planar straight-line drawing to have convex faces, while preserving the -coordinates of the vertices (“level planar drawings of hierarchical-st plane graphs,” in their terminology). Angelini et al.  strengthened Hong and Nagamochi’s result to strictly convex faces. We give a new proof of the strengthened result using Tutte’s graph drawing algorithm. Thereby, we improve the runtime of Hong and Nagamochi’s result from to . This is of independent interest, as Hong and Nagamochi’s technique serves as a building block in several other morphing algorithms [2, 4, 14]. In particular, our improvement also speeds up the run-time of the morphing algorithm of Alamdari et al.  from to :

Theorem 2 (Theorem 1.1 in  with an improved runtime).

Given a planar graph on vertices and two straight-line planar drawings of with the same combinatorial embedding, there is a planar morph between the two drawings that consists of unidirectional morphs. Furthermore, the morph can be found in time .

In Appendix B we describe the algorithm by Alamdari et al. and justify the improved runtime due to our version of Hong and Nagamochi’s result.

Theorem 1 guarantees the existence of a convexity-increasing morph to a strictly convex drawing where the morph is composed of  horizontal/vertical morphs. This is optimal in the worst case. In fact we show something stronger:

Theorem 3.

For any , there exists a drawing of an internally -connected graph on vertices for which any convexifying planar morph composed of a sequence of linear morphing steps requires steps.

Organization. Our paper is structured as follows: We begin with preliminaries in Section 2. The proof of Theorem 1 is presented in Section 3, and the proof of the improved running time of Theorem 2 is given in Section 4. The lower bound on the number of morphs, namely Theorem 3, is shown in Section 5. Finally, a discussion of the size of the grid needed for the intermediate drawings of our morph can be found in Section 6. We conclude with open problems in Section 7.

2 Preliminaries

In this section, we introduce the concepts we will use. We formally define convex drawings and internally 3-connected graphs in Section 2.1 as well as -monotone drawings in Section 2.2. We proceed by stating several useful properties of unidirectional morphs in Section 2.3. Finally, we address the concept of finding convex drawings in Section 2.4.

2.1 Convex Drawings and Internal 3-Connectivity

Given a planar straight-line drawing of a graph, its angles are formed by pairs of consecutive edges around a face, with the angle measured inside the face. An internal angle is an angle of an inner face. We say an angle is reflex it it exceeds , convex if it is at most , and strictly convex if it is less than . A drawing is convex if the boundary of every face is a convex polygon, i.e., angles of the inner faces are convex and angles of the outer face are reflex or of size . The drawing is strictly convex if the boundary of every face is a strictly convex polygon.

Conditions for the existence of convex drawings. Throughout, we assume that our input is a drawing of a graph that admits a strictly convex drawing with the same combinatorial embedding. Necessary and sufficient conditions for the existence of a strictly convex drawing were given by Tutte , Thomassen , and Hong and Nagamochi . These conditions can be tested in linear time by the algorithm of Chiba et al. .

Such conditions are usually stated for a fixed convex drawing of the outer face, but the conditions become simpler when, as in our case, the drawing of the outer face may be freely chosen—in particular, may be chosen to have no 3 consecutive collinear vertices. Internal vertices of degree can also be dealt with directly: In a convex drawing, an internal vertex of degree must be drawn as a point in the interior of the straight line segment formed by its two incident edges. This has two implications. Firstly, a graph with an internal vertex of degree 2 has no strictly convex drawing. Secondly, for a convex drawing we may eliminate every internal degree 2 vertex by repeatedly replacing a path of two edges by a single edge. However, if this produces multiple edges, then there exists no convex drawing.

With these observations, the necessary and sufficient conditions for the existence of a (strictly) convex drawing become quite simple to state. A plane graph  is internally 3-connected if the graph is 2-connected and any separation pair is external, meaning that and lie on the outer face and that every connected component of contains a vertex of the outer face of . Observe that the two neighbours of an internal vertex of degree 2 form a separation pair that is not external. The results of Tutte , Thomassen , and Hong and Nagamochi  become:

Lemma 4.

Let be a plane graph with outer face . Then

1. has a strictly convex drawing with outer face if and only if is internally 3-connected.

2. has a convex drawing with outer face if and only if repeatedly eliminating internal vertices of degree 2 produces a graph that has no multiple edges and is internally 3-connected.

Note that a separation pair which is not external can have both of its vertices on the outer face, see Fig. 2(b,c). For this reason, we refer to a separation pair which is not external as non-external888instead of using the more canonical, but misleading term internal. Fig. 2: (a) An external separation pair {u,v} and its two components C and C′. (b–c) In these cases {u,v} is a non-external separation pair because the component marked with a jagged arrow has no vertex on the outer face. In these cases there is no convex drawing of G.

Structure of internally -connected graphs. There are multiple well-known equivalent definitions of internal -connectivity. Each of them provides a different perspective on the concept and it will be convenient to be able to refer to all of them. Hence, we state the following characterization:

Lemma 5.

Let  be a plane -connected graph and let  denote its outer face. The following statements are equivalent:

1. is internally -connected.

2. Inserting a new vertex  in  and adding edges between  and all vertices of  results in a -connected graph.

3. From each internal vertex  of there exist three paths to  that are pairwisely disjoint except for the common vertex .

Proof.

a obviously implies b, which in turn implies c by Menger’s theorem. It remains to show that c implies a. So suppose that from each internal vertex  there exist three paths to  that are disjoint except for the common vertex . It follows that for each pair of vertices  each connected component of  has at least one vertex on , as otherwise there can be at most two disjoint paths from  to . Moreover, both  and  belong to : Assume otherwise. Since  is -connected,  is a simple cycle and, hence, all vertices of  belong to the same connected component of . However, by assumption from each internal vertex  there exist at least one path to  in  and, so,  is connected; a contradiction. ∎

The following statement gives a characterization of external separation pairs and describes the structure of internally 3-connected graphs. For an illustration see Fig. 2(a).

Observation 6.

Let be a plane 2-connected graph and let  be a separation pair of . Then, is external if and only if all of the following conditions hold:

1. Vertices and belong to the outer face of .

2. The outer face of  decomposes into two internally disjoint paths and each with at least 3 vertices, i.e. and .

3. Vertices belong to a connected component of .

4. Vertices belong to a connected component of .

5. The graph has no connected component other than .

6. The components and are distinct.

Proof.

If the six conditions hold, then clearly is an external separation pair. On other hand, if is an external separation pair, and belong to the outer face of a. Since  is -connected, its outer face is a simple cycle. Further, the removal of  and splits the graph into at least two connected components each of which has a vertex that belongs to the outer face of . Hence, the removal of  and  decomposes the outer face into two internally disjoint paths and each with at least 3 vertices b. Since is a path in , its vertices belong to a connected component c. Similarly, is a path in , its vertices belong to a connected component d. Since these two paths together with and cover the entire outer face of , there can not be any more components e. Finally, since there are at least two components, and have to be distinct f. ∎

2.2 y-Monotone Drawings

A face of a planar graph drawing is -monotone if the boundary of the face consists of two -monotone paths. A path is -monotone if the -coordinates along the curve realizing the path are strictly increasing. These definitions apply to general planar graph drawings, not just straight-line drawings. We note that the directed graphs that have drawings with -monotone faces are the st-planar graphs, which are well-studied .

We say a vertex is a local minimum (local maximum) of face in a drawing if the neighbors of in lie above (below , respectively). A local extremum refers to a local minimum or a local maximum. Note that a face is -monotone if and only if it has exactly one local maximum and exactly one local minimum. Alternatively, a face is -monotone if it has no reflex local extremum.

2.3 Linear and Unidirectional Morphs

A linear morph is completely specified by the initial and the final drawing. To denote the linear morph from a drawing to a drawing , we use the notation . Restricting to linear morphs is a sensible way to discretize morphs—essentially, it asks for the vertex trajectories to be piece-wise linear. At first glance, the restriction to unidirectional morphs seems arbitrary and restrictive. However, as discovered by Alamdari et al. , it is easier to prove the existence of unidirectional morphs. Also, unidirectional morphs have many nice properties, as we explain in this section. Suppose we do a horizontal morph. Then every vertex keeps its -coordinate. Alamdari et al.  gave conditions on the initial and final drawing that guarantee that the horizontal morph between them is planar:

Lemma 7.

[2, in the proof of Lemma 13] If and are two planar straight-line drawings of the same graph such that every line parallel to the -axis crosses the same ordered sequence of edges and vertices in both drawings, then the linear morph from to is planar.

Observe that the conditions of the lemma imply that every vertex is at the same -coordinate in and so the linear morph between them is horizontal. Also note that the lemma generalizes in the obvious way to any direction, not just the direction of the -axis. We note several useful consequences of Lemma 7.

Lemma 8.

Let be three planar straight-line drawings where the linear morphs and are horizontal and planar. Then the linear morph is a horizontal planar morph.

Proof.

The morphs and are horizontal and planar, so every line parallel to the -axis crosses the same ordered sequence of edges and vertices in and . Then by Lemma 7 the morph is horizontal and planar. ∎

Lemma 9.

Let be two planar straight-line drawings such that is a horizontal morph. Then the convexity status of each angle changes at most once in the morph , i.e., an angle cannot change more than once between reflex and convex or vice versa. If additionally, every convex internal angle of is also convex in then the morph is convexity-increasing.

Proof.

This result is a generalization of [4, Lemma 7], and both are proved using basic properties of unidirectional morphs from . Consider an angle formed by points . If and both lie above , or both lie below , then the angle maintains its convexity status (convex or reflex) during any horizontal morph. So suppose that the ordering of the points by -coordinate is . Suppose that the clockwise angle is convex at two time points and with during the horizontal morph. If we add the edge we obtain a triangle and the horizontal line through crosses and in the same order at both time points. Thus, the morph between and is planar by Lemma 7, so the angle is convex at all times between and .

We prove the second statement by contraposition. Suppose the horizontal morph is not convexity-increasing. Then some internal angle changes from convex to reflex during the morph. By the above statement, the angle must be convex in and reflex in . ∎

Alamdari et al. gave the following further condition that implies the hypothesis of Lemma 7. We emphasize that the statement applies to planar graph drawings in general, that is, edges are not required to be straight-line.

Observation 10.

[2, in the proof of Lemma 13] Let be a planar graph drawing of a graph  in which all faces are -monotone and let be another planar drawing of that has the same combinatorial embedding, the same -coordinates of vertices, and -monotone edges. Then every line parallel to the -axis crosses the same ordered sequence of edges and vertices in both drawings.

Note that the property of -monotone faces is a necessary condition—imagine a rectangle with a stalactite from the top and a stalagmite from the bottom such that a horizontal line through the middle of the rectangle intersects first the stalactite and then the stalagmite. This order of intersection can be switched without changing the combinatorial embedding nor the -coordinates of the vertices.

The final ingredient we need in order to make use of the above lemmas is a way to redraw a graph to preserve the combinatorial embedding and the -coordinates of the vertices, while improving convexity. We will again follow Alamdari et al.  and make use of a result of Hong and Nagamochi which is described in the next section.

2.4 Redrawing with Convex Faces while Preserving y-Coordinates

We build upon an time algorithm due to Hong and Nagamochi  that redraws a given drawing with -monotone faces such that all faces become convex while preserving the -coordinates of the vertices. Angelini et al.  extended the result to strictly convex faces by perturbing vertices to avoid angles of . They did not analyze the run-time. Both  and  expressed their results in terms of level planar drawings of hierarchical-st plane graphs. Their original statements and further explanations can be found in Appendix A.

In Section 4, we give a new proof of Hong and Nagamochi’s result using Tutte’s graph drawing method, which finds the vertex coordinates by solving a linear system. Tutte’s original linear system gives rise to a symmetric matrix that can be solved quickly using the nested dissection method of Lipton et al. . For our case, the matrix is not symmetric, and we need a recent generalization of nested dissection due to Alon and Yuster . Our approach results in an improved running time of without, and with, fast matrix multiplication:

Lemma 11.

Let be a planar drawing of an internally 3-connected graph such that every face is -monotone. Let be a strictly convex straight-line drawing of the outer face of such that every vertex of has the same -coordinate as in . Then there is a strictly convex straight-line drawing of that has as the outer face and such that every vertex of has the same -coordinate as in . Furthermore, can be found in time , where is the matrix multiplication exponent.

3 Computing Convexity-Increasing Morphs

In this section we prove Theorem 1. In fact, we show multiple variants of Theorem 1, starting with a highly specialized version and proceeding to more and more general ones, which use the more specialized cases as building blocks.

3.1 A Simple Case: Morphing y-Monotone Drawings

To give some intuition about our general proof strategy, we first consider an easy case where the outer face of is strictly convex and all faces are -monotone. Then we can immediately apply Lemma 11 with the outer face fixed to obtain a new straight-line strictly convex drawing  with all vertices at the same -coordinates. By Observation 10, every line parallel to the -axis crosses the same ordered sequence of edges and vertices in and in . Then by Lemma 7 the morph from to is planar. Also it is a horizontal morph. Thus we have a morph from to a strictly convex drawing by way of a single horizontal morph. Furthermore, the morph is convexity-increasing by Lemma 9 since every internal angle is convex in and .

3.2 Morphing Drawings with a Convex Outer Face

We next consider the case of a planar straight-line drawing in which the outer face is convex (but not necessarily strictly convex) and the inner faces are not necessarily -monotone. Additionally, assume that has no horizontal edge; we will later show how to ensure this.

Overview. As in Section 3.1, we begin by performing a horizontal morph. Observe that such a morph preserves the local extrema and does not change their convexity status. Thus the only reflex angles that can be made convex via a horizontal morph are the h-reflex angles, where an angle of inner face is called h-reflex if it is reflex and occurs at a vertex that has one neighbor in above and the other below—equivalently, the angle is reflex and is not a local extremum of . We will show that a single horizontal morph suffices to convexify all the internal angles that are not local extrema. The plan is to then conceptually “turn the paper” by and perform a vertical morph to make any v-reflex angle convex, where an angle of inner face is called a v-reflex angle if it is reflex and occurs at a vertex that has one neighbor in to the left and the other to the right. By continuing to alternate between the horizontal and the vertical direction, we eventually end up with a convex drawing and, thus, prove Theorem 1 for the case of a convex outer face.

A horizontal morphing step. To find the desired horizontal morph we will apply Lemma 11. Therefore, we must first augment  to a drawing with -monotone faces by inserting -monotone edges which are not necessarily straight-line. For an example see Fig. 3. This is a standard operation in upward planar (or “monotone”) drawing [16, Lemma 4.1] [32, Lemma 3.1], but we need the stronger property that the new edges are only incident to local extrema; otherwise we would relinquish control of convexity at that vertex. We will use:

Lemma 12.

Let be straight-line planar drawing of an internally 3-connected graph. Then can be augmented by adding edges to obtain a drawing such that each additional edge is a -monotone curve joining two local extrema of some face in , every inner face is -monotone and the augmented graph is internally -connected. Furthermore, the additional edges can be found in time.

Proof.

Recall that a face is -monotone if and only if it has no reflex local extrema. Our proof is by induction on the number of reflex local extrema in all inner faces of the drawing. If there are none, then all inner faces are -monotone. Otherwise, consider an inner face that has a local extremum . For an illustration consider Fig. 3. Fig. 3: (a) A face that is not y-monotone. The dashed edges inside the face are added by Lemma 12. (b) The face after application of Lemma 13.

Assume without loss of generality that is a local minimum. We want to find a local extremum below such that we can insert a -monotone curve from to within face . To construct the curve go vertically downwards from to the first point on the boundary of , and then follow a -monotone chain of ’s boundary downwards from to a local minimum . Adding the edge divides into two faces, and decreases the total number of local extrema. We note that Pach and Tóth  used a similar idea to triangulate with monotone curves, although their curves stopped at the first vertex on ’s boundary and we must continue to the first local minimum. Since we will only insert inner edges, the graph remains internally 3-connected.

To complete the proof we briefly describe how the set of augmenting edges can be found in time . We deal with the local reflex minima; the maxima can be dealt with in a second phase. Find a trapezoidization of the drawing  in time. This gives the point for each local reflex minimum in face . We can preprocess the graph in time to find, for each edge in face , the local minimum that is reached by following a -monotone chain downward from in . This gives the set of augmenting edges. We must still find the cyclic order of augmenting edges incident with each vertex . We separate into those that arrive at from the left and those that arrive from the right. Within each of these sets, we sort by the -coordinate of points . ∎

This observation allows us to prove the following:

Lemma 13.

Let be a straight-line planar drawing of an internally 3-connected graph with a convex outer face and no horizontal edge. There exists a horizontal planar morph to a straight-line drawing with a strictly convex outer face and every internal angle that is not a local extremum is strictly convex in . Furthermore, the morph is convexity-increasing, and can be found in time , where is the matrix multiplication exponent.

Proof.

Use Lemma 12 to augment with a set of edges such that is a planar drawing in which all faces are -monotone, and any edge of goes between two local extrema in some inner face. This takes time. Let be the outer face of . Create a new drawing of such that is strictly convex and preserves the -coordinates of vertices.

By Lemma 11 with the outer face we obtain (in time ) a new straight-line strictly convex drawing with all vertices at the same -coordinates as in . (Here is a set of straight-line edges corresponding to .) By Observation 10 every line parallel to the -axis crosses the same ordered sequence of edges and vertices in and in . Then by Lemma 7 the morph from to is a planar horizontal morph.

Any internal angle of that is not a local extremum has no edge of incident to it, and thus becomes strictly convex in . Any internal angle of that is a local extremum maintains its convex/reflex status in . Thus by Lemma 9 the morph is convexity-increasing. The run-time to find the morph (i.e., to find ) is . ∎

Making progress. Lemma 13 generalizes to directions other than the horizontal direction: for any direction  that is not parallel to an edge of , there exists a convexity-increasing unidirectional (with respect to ) morph that convexifies all internal angles that are not extreme in the direction orthogonal to . Thus, if we do not insist on a sequence of horizontal and vertical morphs, we immediately obtain a proof of Theorem 1 for the case of a convex outer face, since, for each reflex angle, we can choose a direction that convexifies it.

In order to prove the stronger result that uses only two orthogonal directions, we need to alternate between the horizontal and the vertical direction. Note that after one application of Lemma 13, we do not necessarily obtain a drawing which contains a v-reflex vertex, see Fig. 4(a,b). In order to ensure that our algorithm makes progress after every step, we prove a strengthened version of Lemma 13, which ensures that there is at least one h-reflex or v-reflex vertex available after each step.

Lemma 14.

Let be a straight-line planar drawing of an internally 3-connected graph with a convex outer face and no horizontal edge. There exists a horizontal planar morph to a straight-line drawing such that

• the outer face of is strictly convex,

• every internal angle that is not a local extremum is convex in ,

• has no vertical edge, and

• if is not convex, then it has at least one v-reflex angle.

Furthermore, the morph is convexity-increasing, and can be found in time .

Proof.

We first apply Lemma 13 to obtain a morph from to a drawing that satisfies (i) and (ii). If satisfies all the requirements, we are done. Otherwise we will achieve the properties (iii) and (iv) by shearing the drawing . Eliminating vertical edges via a horizontal shear is easy, so we concentrate on the requirement (iv) about v-reflex angles. Suppose is not convex and has no v-reflex angle. Consider any reflex angle of , say at vertex in the inner face . By property (ii), must be a local extremum in ; otherwise it would be convex. We will apply a horizontal shear transformation to create a drawing in which the angle at becomes v-reflex, i.e., in which the -coordinate of is between the -coordinates of its two neighbors in . Furthermore, the shear should eliminate all vertical edges, e.g., see Fig. 4. The shear can be found in linear time. Fig. 4: (a) A face that is not y-monotone. (b) The face after application of Lemma 13. There is a vertical edge and the single reflex vertex is not v-reflex. (c) After applying a horizontal shear transformation, the reflex vertex is v-reflex and there are no vertical edges.

Since shearing is an affine transformation, has the same convex/reflex angles as . Thus satisfies all the properties. The linear morph is a planar horizontal morph that preserves the convex/reflex status of every angle. By Lemma 8 the morph is a horizontal planar morph. By Lemma 9 it is convexity-increasing. The morph can be found in time . ∎

We are now ready to prove Theorem 1 for the case of a convex outer face.

Proof of Theorem 1 for the case of a convex outer face.

If the given drawing has a horizontal edge and/or if  has internal reflex angles such that none of them is h-reflex, then we use one vertical shear as in the proof of Lemma 14 to remedy this. Then, in the special case that there is no internal reflex angle, but there are angles of degree exactly , we may apply Lemma 14 once to obtain the desired strictly convex drawing. Otherwise, there are internal reflex angles; and we apply Lemma 14 alternately in the horizontal and vertical directions until the drawing is strictly convex. In each step there is at least one h-reflex or v-reflex angle that becomes convex. Thus, the number of morphing steps is at most , where is the number of inner reflex angles in . The resulting total run-time is . ∎

3.3 Morphing Drawings of 3-Connected Graphs

In this section we prove the case of Theorem 1 where the outer face of  is not convex. However, we will assume that the given graph  is -connected (instead of only internally -connected).

Overview. On a high level, our approach works as follows: We first augment the outer face of  with edges from its convex hull to obtain a drawing of an augmented graph with a convex outer face. We then apply the results from Section 3.2 to morph to a strictly convex drawing and then remove the extra edges on the outer face one-by-one. After each removal of an edge, we morph to a strictly convex drawing of the reduced graph using at most three horizontal or vertical morphs.

Augmenting the outer face. Compute the convex hull of . Any segment of the convex hull that does not correspond to an edge of becomes a new edge that we add to . Let denote the new edges and denote the augmented graph with straight-line planar drawing . Note that adding edges maintains 3-connectivity. Each edge  is part of the boundary of an inner face  of . We call  the pocket of . We apply the result of Section 3.2 to obtain a strictly convex drawing of , see Fig. 5(a). Note that the techniques used in that section give us a drawing with no horizontal or vertical edges.

We remark that this step is the reason why we limit ourselves to -connected graphs in this subsection: Adding the convex hull edges in a drawing of an internally -connected graph may create non-external separations pairs, see Fig. 6(a). This would prevent us from using the algorithm from Section 3.2 as this algorithm uses Lemma 11 which requires the input graph to be internally -connected.

Popping a pocket outward. In this final step, we describe a way to remove an edge of and “pop” out the vertices of its pocket so that they become part of the convex hull. Lemma 11 serves once again as an important subroutine. We make ample use of the fact that we may freely specify the desired subdrawing of the outer face after each application of Lemma 11, as long as we maintain either the -coordinates or the -coordinates of all vertices.

We remark that the following lemma applies to internally -connected graphs, not only -connected graphs. We plan to use it in the following section, in which we prove Theorem 1 in its general form. In fact, the final algorithm will use the entire procedure described in this section as a subroutine (we will augment the internally -connected graph such that adding the convex hull edges does not create non-external separation pairs).

Lemma 15.

Let be a strictly convex drawing of an internally -connected graph without vertical edges and let be an edge on the outer face. If is internally 3-connected, then can be morphed to a strictly convex drawing of without vertical edges via at most three convexity-increasing morphs, each of which is horizontal or vertical. Furthermore, the morphs can be found in time .

Proof.

Our morph will be specified by a sequence of drawings, , , , , where the first and the last morph are vertical and the second morph, which we can sometimes skip, is horizontal.

Let . We first perform a vertical morph from to a strictly convex drawing in which vertex is top-most or bottom-most and which does not contain vertical or horizontal edges. Since is strictly convex and has no vertical edges, it is also -monotone. Therefore, the desired drawing  can be found by choosing some strictly convex drawing of the outer face in which is extreme while maintaining the -coordinates of all vertices, and then using one application of Lemma 11 (for vertical morphs). Additional, we may need to apply a vertical shearing transformation in order to get rid of horizontal edges. This is easily done while still guaranteeing that  is extreme in the -direction. Analogous to Section 3.1, by combining Observation 10, Lemma 7 and Lemma 9 we conclude that the horizontal morph is planar and convexity-increasing.

For the remainder of the proof, assume without loss of generality that is the top-most vertex and that lies to the right of in . The other cases are symmetric. Let  denote the path from to in . We distinguish two cases depending on the shape of  in .

Case 1: The path  is -monotone in , see Fig. 5(b). In this case we can skip the second step of the morph sequence. We will remove  and compute a vertical morph from to a strictly convex drawing of  without vertical edges. Once again, this can be done by combining Lemma 11 (for vertical morphs), Observation 10, Lemma 7 and Lemma 9 as long as we can specify a strictly convex drawing of the outer face of in which the -coordinates match those of . It suffices to compute a suitable new reflex chain for , see Fig. 5(b). Fig. 5: (a) Schematic of the convex drawing of G∪A. Graph G is depicted in gray, edges of A are dashed, and the pockets are white. (b)–(c) Cases 1 and 2 for Lemma 15, where faint gray arrows indicate explicit placements on the convex hull.

Case 2: The path  is not -monotone. In this case we will compute a horizontal morph from to a strictly convex drawing in which and  are the unique left-most and the unique right-most vertices and which does not contain a vertical edge. Once again, this can be done by combining Lemma 11, a horizontal shearing transformation, Observation 10, Lemma 7 and Lemma 9 as long as we can specify a strictly convex drawing of the outer face of in which  and  are the left-most and right-most vertices and the -coordinates match those of . This is possible because  is top-most, see Fig. 5(c).

In the drawing the pocket is convex with extreme points and so the path  is -monotone and, hence, by Case 1, there is a vertical morph from to a strictly convex drawing of . ∎

Observe that each application of Lemma 15 increases the number of vertices of on the convex hull. Thus, the proof of Theorem 1 follows by induction on the number of convex hull vertices. Let  denote the number of pockets of the strictly convex drawing of  obtained by applying the algorithm from Section 3.2. We observe that , since each pocket can be associated with two private vertices of : the clockwise first of the two convex hull vertices defining the pocket and its clockwise successor, which is private to the pocket.

We use at most three horizontal and vertical morphs to pop out a pocket. Hence, the number of morphs needed to deal with all the pockets can be bounded by  by observing that each application of Lemma 15 involves a vertical-horizontal-vertical morph sequence, and Lemma 8 allows us to compress two consecutive vertical morphs into one. Additionally, obtaining the strictly convex drawing of  requires at most  morphing steps, where  is the number of internal reflex angles in the drawing . This number can be bounded by since each pocket can be associated with a private vertex of the convex hull, that cannot have an internal reflex angle. Hence, the total number of morphs is at most , where the last inequality uses the fact that . The run time of the algorithm is .

3.4 Morphing Drawings of Internally 3-Connected Graphs

So far, if the given drawing does not have a convex outer face, we have restricted our attention to the class of 3-connected graphs. The only reason why the approach described in Section 3.3 is not able to handle the case of internally -connected graphs is that the addition of the convex hull edges  may create non-external separation pairs, see Fig. 6(a). As a result, the augmented drawing  is no longer a valid input for Lemma 11. In this section we extend our algorithm such that it is able to convexify drawings of internally 3-connected graphs and, thus, we conclude the proof of Theorem 1 in its general form. Fig. 6: (a) An internally 3-connected graph with an external separation pair {u,v}. Adding the convex hull edge uw turns {u,v} into a non-external separation pair both since v becomes an internal vertex and since C1 no longer has a vertex on the outer face. (b) Schematic drawing of the path P′e created for the pocket defined by the convex hull edge e={v0,v5}. (c) Geometrically, we embed P′e very close to Pe. This is possible regardless of the shape of the pocket.

Overview. Let  be a straight-line planar drawing of an internally 3-connected graph . As a first step, we augment the outer face of  by adding new edges and vertices near each pocket. The goal of this step is to ensure that we can add convex hull edges without introducing non-external separation pairs. We then apply the algorithm from Section 3.3, which results in a drawing in which all the new vertices appear on the strictly convex outer face. Finally, we remove the new vertices one-by-one; gradually turning the strictly convex drawing of the augmented graph into a strictly convex drawing of .

In slightly more detail, our method involves the following steps:

Step 1: Augmenting the outer face. We will augment the graph to , and then augment the drawing to , which involves geometric arguments. The goal is to ensure that is internally 3-connected and has the additional property that adding convex hull edges to does not introduce non-external separation pairs, as, for example, in Fig. 6(a). We will show that bad cases only arise when a pocket has a vertex that is part of a separating pair. Thus, our method will be to add an extra “bufffer” layer of vertices to each pocket boundary, while ensuring that each buffer vertex is not part of a separating pair.

Step 2: Convexifying the augmented drawing. The goal of this step is to find a convexity-increasing morph from the drawing of the augmented graph  to a strictly convex drawing of . In principal, the idea for accomplishing this task is very simple: we just apply the algorithm described in Section 3.3 to . The challenging aspect is, that this algorithm uses Lemma 11 as a subroutine and, thus, we need to ensure internal 3-connectivity of the input graph.

Step 3: Removing the additional vertices. At this point we have a strictly convex drawing of . We must now “reverse” the augmentation process, removing vertices of to get back to . After each vertex is removed we will morph to obtain a strictly convex drawing. As in Step 2, the graph must remain internally 3-connected at each step. We will therefore treat the augmentation process of Step 1 as an iterative process, adding vertices one-by-one and ensuring that the graph is internally 3-connected at each step.

We now give further details on these three steps.

Step 1: Augmenting the outer face. We compute the convex hull of . Let  be a convex hull edge with . The following steps are illustrated in Fig. 6(b). Let  be the unique path on the outer face of  such that  is a cycle with  in its exterior. We introduce  new vertices that form a path  connecting  and :

 P′e=(v0, va1,vb1,vc1 = va2,vb2,vc2 = va3,…,vck−1 = vak,vbk,vck, vk+1)

Note that every inner vertex  of  gets a “private copy” in . Two consecutive copies  and  are connected via another vertex which is equipped with two labels , which will simplify the notation later on. Additionally, we add the edges , and for .

Geometrically, the new path  is embedded in a planar fashion very close to , see Fig. 6(c). This can be accomplished regardless of the shape of : Assume that  and let  be the smallest distance between any pair of disjoint edges on the cycle . For , we place  on the angular bisector of the outer angle at such that its distance to  is smaller than . If , the vertex  is placed in the center of the line-segment . Similarly, if , the vertex  is placed in the center of the line-segment .

We make sure that during this procedure no vertex is placed in the exterior of the convex hull of ; with the following exceptions: the vertices  and  play a special role and are placed close to  and , respectively, such that they do appear on the convex hull of the augmented drawing.

Note that for the special case of small pockets with , the value  would not be well-defined, as there are no disjoint edges on . However, in this case it is easy to directly compute an embedding of  with the desired properties (i.e. planarity; and only and appear on the convex hull).

We repeat the process for all convex hull edges  of  and use and  to denote the resulting plane graph and drawing respectively. The total run-time for this step is dominated by the time to compute the values , which can be done in  total time. We remark that this step could be implemented more efficiently, for example by computing a medial axis . However, since our total runtime is , we refrain from stating the details.

We will now prove that is internally 3-connected. Keeping in mind our plan for Step 3, we will add the vertices of one-by-one, showing that each addition preserves the property of being internally 3-connected. We begin with two basic operations that preserve internal 3-connectivity.

Lemma 16.

Let be an internally 3-connected graph with an edge on the outer face. Construct by adding a new vertex in the outer face connected to and . Then is internally 3-connected.

Proof.

By internal -connectivity, Property c of Lemma 5 holds for . Thus, it is clear that  also satisfies Property c and, hence,  is internally -connected. ∎

Lemma 17.

Let be an internally 3-connected graph with two consecutive edges and on the outer face. Construct by adding a new vertex in the outer face connected to and . Then is internally 3-connected.

Proof.

By internal -connectivity, Property c of Lemma 5 holds for . It suffices to show that Property c also holds for . Let  and  denote the outer faces of  and , respectively. Clearly,  has three paths to  that are disjoint except for . So let  be some internal vertex of  and note that  is also internal in . Hence, by Property c of  has three paths to  that are disjoint except for . At most one of these paths does not end at , namely if its endpoint on  is . However, appending the edge  to this paths yields the desired three paths from  to  that are disjoint except for . Hence, Property c holds for . ∎

With these operations in hand, we can show that is internally 3-connected, and—more strongly—that we can build by adding one vertex at a time, preserving internal 3-connectivity. Let  where is the set of all vertices whose upper index is , and where is the set of the remaining vertices (whose upper index is and/or ).

Lemma 18.

Starting with and adding the vertices of one-by-one in any order and then the vertices of one-by-one in any order produces an internally 3-connected graph at each step.

Proof.

The addition of each vertex of maintains internal 3-connectivity by Lemma 16. The addition of each vertex of maintains internal 3-connectivity by Lemma 17. ∎

Step 2: Convexifying the augmented drawing. As mentioned above, the plan is to apply the algorithm described in Section 3.3 to . That algorithm adds the convex hull edges of  and then iteratively removes these edges while performing some morphing steps before and after each removal. Each morphing step requires one application of Lemma 11. Therefore, in order to prove the correctness of Step 2, we need to ensure that before and after each removal of a convex hull edge, the input graph is internally 3-connected.

We begin by observing that the new vertices of are not part of separation pairs. Then we show that adding a convex hull edge is safe when none of the vertices of its pocket are in separating pairs.

Observation 19.

No vertex of is in a separating pair of .

Proof.

By construction, removing any one of these vertices can not introduce a cut vertex. ∎

We now give one more operation that preserves internal 3-connectivity.

Lemma 20.

Let be an internally 3-connected graph, with vertices and on the outer face. Let be one of the paths from to along the outer face. Assume that no vertex of is part of a separating pair in . Let be the result of adding the edge embedded such that becomes internal. Then is internally 3-connected.

Proof.

Suppose that  has a separation pair . This pair is also separating in . Further, since  is internally -connected,  is an external separation pair of . Since both  and  do not belong to , Observation 6 implies that  and  belong to the same component of . Thus, is easy to verify that adding the edge between  and  maintains the six conditions of Observation 6 (in particular, Property b holds as  and  remain on the outer face). Therefore, is an external separation pair of . ∎

Recall that the construction of  ensures that all convex hull edges  which do not correspond to edges of  have the form , where are the first and last internal vertex of one of the paths . By Observation 19 the interior vertices of  form a path  on the outer face which does not contain any vertices that are part of a separation pair. Further, adding the edge  encloses  in an internal face. Thus, we obtain:

Corollary 21.

Let  denote the set of convex hull edges of  which do not correspond to edges of . Then, for any  the plane graph  is internally 3-connected.

Step 3: Removing the additional vertices. At this point we have a strictly convex drawing of and want to convert it to a strictly convex drawing of . We will remove the vertices of  iteratively; one-by-one. After each such removal, we will perform up to two morphing steps in order to recover a strictly convex drawing of the reduced graph. Recall that by Lemma 18, all the intermediary graphs are internally -connected and, thus, they are valid inputs for Lemma 11.

Lemma 22.

Let and let  be a strictly convex drawing of  without vertical or horizontal edges. Further, let . Then, there is a convexity-increasing morph from  to a strictly convex drawing  of without vertical or horizontal edges. Moreover, there is such a morph which consists of a sequence of up to horizontal / vertical morphs. The morphing sequence can be found in time.

Proof.

Without loss of generality, we may assume that  is located to the bottom-right of  and that  is located to the right of the oriented line , see Fig. 7(a). We distinguish four cases regarding the position of the vertex , for an illustration see Fig. 7(b). Fig. 7: (a) In Step 3, we iteratively remove the vertices vbi causing their counterparts vi to become part of the outer face. (b) The regions corresponding to the Cases 1–4.

Case 1: is located to the right of the oriented line . We observe that the subdrawing  is already a convex drawing of , so there is nothing to show.

Case 2: ; and we are not in Case 1. Let be a strictly convex drawing of the outer face of , such that every vertex in has the same -coordinate as in  (we can easily find such a drawing  by adding  to the convex hull of  in a strictly convex fashion). Then, Lemma 11 applied to  and  (potentially followed by a horizontal shearing transformation in order to remove vertical edges), yields the desired drawing . Analogous to Section 3.1, by combining Observation 10, Lemma 7 and Lemma 9 we conclude that the horizontal morph is planar and convexity-increasing.

Case 3: ; and we are not in Case 1 or Case 2. Let be a strictly convex drawing of the outer face of , such that every vertex in has the same -coordinate as in  (we can easily find such a drawing  by adding  to the convex hull of  in a strictly convex fashion). Then, Lemma 11 (for vertical morphs) (potentially followed by a vertical shearing transformation in order to remove horizontal edges) applied to  and  yields the desired drawing . Analogous to Section 3.1, by combining Observation 10, Lemma 7 and Lemma 9 we conclude that the vertical morph is planar and convexity-increasing.

Case 4: we are not in Case 1, Case 2 or Case 3. We reduce to Case 2 or Case 3: using a shearing transformation along the -axis (or along the -axis), we obtain a drawing  of  satisfying the preconditions of Case 3 (or Case 2). Analogous to Section 3.1, by combining Observation 10, Lemma 7 and Lemma 9 we conclude that the linear morph is planar and convexity-increasing. ∎

Starting with the drawing  of  and iterating Lemma 22, we obtain a strictly convex drawing of . By construction, we can simply remove all the vertices of  to obtain a strictly convex drawing of .

Observation 23.

Let be a strictly convex drawing of . Then, is a strictly convex drawing of .

We summarize:

Proof of Theorem 1.

We analyze the three steps of the algorithm individually.

Step 1: We begin by augmenting  and  to  and . As discussed in the corresponding section, this can be done in  time.

Step 2: Next, we apply the algorithm from Section 3.3 to  and . This algorithm was designed for -connected graphs. However, note that Lemma 15 applies to internally -connected graphs as well). Therefore, the algorithm also works for internally -connected graphs as long as adding convex hull edges and then successively removing them never creates a plane graph which is not internally -connected. This is the case by Corollary 21. Thereby, we obtain in time a convexity-increasing morph from  to a strictly convex drawing of , where  is the number of vertices of the augmented graph . This morph is also convexity-increasing with respect to the subdrawing of  as every internal angle of  is also internal in .

As discussed in the last paragraph of Section 3.3, the upper bound on the number of morphing steps guaranteed by the algorithm is , which can be bounded by . Here,  denotes the number of pockets of . In fact, the bound can be improved to  by observing that  and , where  and  denote the number of vertices and pockets, respectively, of the original drawing . The latter equality is obvious. For the former equality, observe that each vertex  has an angle of  and, hence, it has no reflex angle. Further, the construction of  ensures that an outer angle at a vertex  is reflex if and only if the outer angle at the corresponding vertex is reflex in . Other angles at  can not be reflex. Moreover, if the outer angle at  is reflex in  then  has no reflex angle in . Consequently, we can charge the inner reflex angles of the vertices  to their counterparts . Finally, the vertices of each pocket  belong to the convex hull of  and, thus, they do no have any internal reflex angles. The convexity status of the remaining angles is untouched and, hence,  as claimed. Altogether, we obtain the improved bound

 max{2,r′+1}+2ρ′+1=max{2,r+1}+2ρ+1≤1.5n+2,

where the last inequality was already discussed in the last paragraph of Section 3.3.

Step 3: Finally, we iteratively apply Lemma 22 to the strictly convex drawing of  that was obtained in the previous step. Each application increases the number of vertices of  on the convex hull. Thus, by induction we arrive at a strictly convex drawing of . Each of the intermediary morph steps is convexity-increasing with respect to the respective augmented graph. Once again, since every internal angle of  remains internal in (all) the augmented graph(s), we have that the morphing sequence is convexity-increasing for  as well. The number of morphing steps is bounded by  and the time required to obtain the entire sequence sums up to .

Summing up, we end up with morphing steps and a runtime of . ∎

4 Using Tutte’s Algorithm to Find Convex Drawings Preserving y-Coordinates

In this section we prove Lemma 11 using Tutte’s graph drawing algorithm. This reduces the problem to solving a linear system. Applying a generalized method due to Alon and Yuster  for solving a linear system whose non-zero’s in the matrix correspond to a planar graph, we obtain an algorithm that produces a straight-line strictly convex redrawing preserving -coordinates and that runs in time, where is the matrix multiplication exponent.

In his paper, “How to Draw a Graph,”  Tutte showed that any 3-connected planar graph with a fixed convex drawing of its outer face has a convex drawing with outer face  that can be obtained by solving a system of linear equations. For each let the variables represent the coordinates of vertex . Let be the internal vertices of and let be the vertices of the outer face. For each vertex let be its (fixed) coordinates in . Let be the degree of vertex . Consider the system of equations:

 ∀u∈VI      (xu,yu) =∑(u,v)∈E1du(xv,yv), ∀u∈VB      (xu,yu) =(xbu,ybu). (1)

Tutte proved that this system of equations has a unique solution and that the solution gives a convex drawing of with outer face . In fact, the drawing is even strictly convex if is strictly convex.

Tutte’s Theorem was originally stated for -connected graphs. However, it is well known that Tutte’s proof also applies to the more general class of internally -connected graphs since it only uses Property c of Lemma 5. For the special case of strictly convex drawings of the outer face, the generalization from -connected to internally -connected graphs is easy to prove: Suppose graph has an external separation pair . We make use of Observation 6. Vertices and lie on the outer face, and their removal separates the graph into two connected components and . In the strictly convex drawing of the outer face, a line segment joining to will separate into two strictly convex subpolygons since by Property b of Observation 6 the vertices and are not consecutive on . By induction, Tutte’s algorithm will draw each of the two components with strictly convex faces in the appropriate subpolygon, and—in case is not an edge of the graph—the face between and will also be strictly convex. It is not necessary to apply Tutte’s algorithm separately to the two components—one system of equations will do.

Tutte’s theorem can be generalized to more general “barycenter” weights other than . Assign a weight

to each ordered pair

with such that for each it holds that . We emphasize that may be different from . Consider the system of equations:

 ∀u∈VI      (xu,yu) =∑(u,v)∈Ewu,v(xv,yv), ∀u∈VB      (xu,yu) =(xbu,ybu). (2)

This system also has a unique solution that gives a convex drawing of with outer face , and a strictly convex drawing of if is strictly convex. This generalization was first stated by Floater in 1997  for triangulations and one year later  for general 3-connected planar graphs, though the result is not stated as a theorem in either case. Floater proved that the constraint matrix is non-singular, and, for the rest, said that Tutte’s proof 999 Colin de Verdiere et al.  point out that Tutte’s original proof is complicated because Tutte is also re-proving Kuratowski’s theorem, and they recommend the simpler proof by Richter-Gebert . carries over.

An explicit statement that the linear system (2) has a unique solution that gives a strictly convex drawing of if is strictly convex is due to Gortler, Gotsman, Thurston in 2006 [22, Theorem 4.1]. They give a new proof using “one-forms”.

We can now give an alternate proof of Hong and Nagamochi’s result:

Proof of Lemma 11.

We must show that there is a strictly convex drawing of with outer face  that preserves the -coordinates of the vertices from drawing . Our idea is to do this in two steps, first choosing the barycenter weights to force vertices to lie at the required -coordinates, and then solving system (2) with these barycenter weights to determine the -coordinates.

For the first step, we solve the following system separately for each :

 yu=∑(u,v)∈Ewu,vyv,     1=∑vwu,v (3)

Here the ’s are the known values from and the ’s are variables. There are two equations and variables, so the system is under-determined and can easily be solved: Because has -monotone faces, every vertex has neighbors below and above. Let be the neighbors of that lie above in . Let . Similarly, let be the neighbors of that lie below in and let . Compute the average -coordinate of ’s neighbors above and below:

 y+u=∑v∈N+u1d+uyv      y−u=∑v∈N−u1d−uyv

Observe that lies between and . Thus we can find a value , , such that

 yu =tuy+u+(1−tu)y−u =∑v∈N+utud+uyv+∑v∈N−u1−tud−uyv

Therefore, setting for and for , yields a solution to (3). Observe that for all .

Given values satisfying the constraints (3) for all , we then solve equations (2) to find values for the ’s. By Tutte’s generalized result, this provides a strictly convex drawing of with outer face while preserving -coordinates.

It remains to discuss how to obtain the claimed run-time. Recall that we assume a real RAM model of computation—in particular, each arithmetic operation takes unit time. Observe that solving the system (3) to find the appropriate weights based on the -coordinates takes linear time. The significant aspect is solving Tutte’s generalized system of equations (2).

Tutte’s method gives rise to a linear system where is a matrix with a row and column for each vertex, and where the non-zeros in the matrix correspond to edges in the planar graph. In more detail, Tutte’s original linear system (1) can be re-written as

 ∀u∈VI      du(xu,yu) =∑(u,v)∈E(xv,yv),

so the non-zeros in the constraint matrix, , consist of entries down the main diagonal, and if is an edge. The equations for vertices in

give an extra part of the constraint matrix that is just an identity matrix. The crucial property is that the constraint matrix is symmetric. In fact, symmetry holds more generally if we choose weights or “stresses”

and define . Tutte’s original theorem is the special case where for all .

When the constraint matrix is symmetric with non-zero’s corresponding to the edges of a planar graph, the system can be solved in arithmetic operations using the generalized nested dissection method of Lipton, Rose, Tarjan [29, 30]. The fact that this applies to Tutte’s original algorithm is well-known in graph drawing, see for example [11, 36]. However, nested dissection does not apply when the matrix is not symmetric, so in particular, it does not apply to the linear system (2).101010Although we mistakenly claimed this in a preliminary version  of this paper. For the more general case of an asymmetric matrix we need the following result of Alon and Yuster from 2013 . They consider a linear system where has a row and a column for each vertex of an associated graph and there is an edge in if and only if or