A Topology-Shape-Metrics Framework for Ortho-Radial Graph Drawing

Orthogonal drawings, i.e., embeddings of graphs into grids, are a classic topic in Graph Drawing. Often the goal is to find a drawing that minimizes the number of bends on the edges. A key ingredient for bend minimization algorithms is the existence of an orthogonal representation that allows to describe such drawings purely combinatorially by only listing the angles between the edges around each vertex and the directions of bends on the edges, but neglecting any kind of geometric information such as vertex coordinates or edge lengths. In this work, we generalize this idea to ortho-radial representations of ortho-radial drawings, which are embeddings into an ortho-radial grid, whose gridlines are concentric circles around the origin and straight-line spokes emanating from the origin but excluding the origin itself. Unlike the orthogonal case, there exist ortho-radial representations that do not admit a corresponding drawing, for example so-called strictly monotone cycles. An ortho-radial representation is called valid if it does not contain a strictly monotone cycle. Our first main result is that an ortho-radial representation admits a corresponding drawing if and only if it is valid. Previously such a characterization was only known for ortho-radial drawings of paths, cycles, and theta graphs (Hasheminezhad et al. in Australas J Combin 44:171–182, 2009), and in the special case of rectangular drawings of cubic graphs (Hasheminezhad et al. in Comput Geom 43(9):767–780, 2010), where the contour of each face is required to be a combinatorial rectangle. Additionally, we give a quadratic-time algorithm that tests for a given ortho-radial representation whether it is valid, and we show how to draw a valid ortho-radial representation in the same running time. Altogether, this reduces the problem of computing a minimum-bend ortho-radial drawing to the task of computing a valid ortho-radial representation with the minimum number of bends, and hence establishes an ortho-radial analogue of the topology-shape-metrics framework for planar orthogonal drawings by Tamassia (SIAM J Comput 16(3):421–444, 1987).


Introduction
Grid drawings of graphs embed graphs into grids such that vertices map to grid points and edges map to internally disjoint curves on the grid lines that connect their endpoints.Orthogonal grids, whose grid lines are horizontal and vertical lines, are popular and widely used in graph drawing.Among other applications, orthogonal graph drawings are used in VLSI design (e.g., [34,4]), diagrams (e.g., [2,21,13,36]), and network layouts (e.g., [30,25]).They have been extensively studied with respect to their construction and properties (e.g., [33,5,6,29,1]).Moreover, they have been generalized to arbitrary planar graphs with degree higher than four (e.g., [32,18,7]).
Ortho-radial drawings are a generalization of orthogonal drawings to grids that are formed by concentric circles around the origin and straight-line spokes from the origin, but excluding the origin.Equivalently, they can be viewed as graphs drawn in an orthogonal fashion on the surface of a standing cylinder, see Figure 1, or a sphere without the poles.Hence, they naturally bring orthogonal graph drawings to the third dimension.Figure 2: Metro map of Berlin using an orthoradial layout 1 .Image copyright by Maxwell J. Roberts.Reproduced with permission.
Among other applications, ortho-radial drawings are used to visualize network maps; see Figure 2. Especially, for metro systems of metropolitan areas they are highly suitable.Their inherent structure emphasizes the city center, the metro lines that run in circles as well as the metro lines that lead to suburban areas.While the automatic creation of metro maps has been extensively studied for other layout styles (e.g., [24,28,35,16]), this is a new and wide research field for ortho-radial drawings [17].
Adapting existing techniques and objectives from orthogonal graph drawings is a promising step to open up that field.One main objective in orthogonal graph drawing is to minimize the number of bends on the edges.The key ingredient of a large fraction of the algorithmic work on this problem is the orthogonal representation, introduced by Tamassia [31], which describes orthogonal drawings by listing (i) the angles formed by consecutive edges around each vertex and (ii) the directions of bends along the edges.Such a representation is valid if (I) the angles around each vertex sum to 360 • , and (II) the sum of the angles around each face with k vertices is (k − 2) • 180 • for internal faces and (k + 2) • 180 • for the outer face.The necessity of the first condition is obvious and the necessity of the latter follows from the sum of inner/outer angles of any polygon with k corners.It is thus clear that any orthogonal drawing yields a valid orthogonal representation, and Tamassia [31] showed that the converse holds true as well; for a valid orthogonal representation there exists a corresponding orthogonal drawing that realizes this representation.Moreover, the proof is constructive and allows the efficient construction of such a drawing, a process that is referred to as compaction.
Altogether, this enables a three-step approach for computing orthogonal drawings, the so-called Topology-Shape-Metrics Framework, which works as follows.First, fix a topology, i.e., a combinatorial embedding of the graph in the plane (possibly planarizing it if it is non-planar); second, determine the shape of the drawing by constructing a valid orthogonal representation with few bends; and finally, compactify the orthogonal representation by assigning suitable vertex coordinates and edge lengths (metrics).As mentioned before, this reduces the problem of computing an orthogonal drawing of a planar graph with a fixed embedding to the purely combinatorial problem of finding a valid orthogonal representation, preferably with few bends.The task of actually creating a corresponding drawing in polynomial time is then taken over by the framework.It is this approach that is at the heart of a large body of literature on bend minimization algorithms for orthogonal drawings (e.g., [3,14,11,15,8,9,10]).
Contribution and Outline.In this paper we establish an analogous drawing framework for orthoradial drawings.To this end, we introduce so-called ortho-radial representations, which give a combinatorial description of ortho-radial drawings, and therefore can be used to substitute orthogonal representations in the Topology-Shape-Metrics Framework.
More precisely, our contributions are as follows.We show that a natural generalization of the validity conditions (I) and (II) above is not sufficient, and introduce a third, less local condition that excludes socalled strictly monotone cycles, which do not admit an ortho-radial drawing.We prove that these three conditions together fully characterize ortho-radial drawings.Before that, characterizations for bend-free ortho-radial drawings were only known for paths, cycles and theta graphs [23].Further, for the special case that each internal face is a rectangle, a characterization for cubic graphs was known [22].
Figure 3: The orthogonal drawing is transformed into an ortho-radial drawing by bending the horizontal edges into concentric circular arcs, while vertical edges become segments of rays that emanate from the center of the ortho-radial grid.combinatorial embedding of ∆ is E, the face f c is the central face of ∆ and f o is the outer face of ∆.We call the tuple I = (G, E, f c , f o ) an instance of ortho-radial graph drawing and ∆ a drawing of I.
We observe that the definition of ortho-radial drawings allows edges to have bends, i.e., an edge may consist of a sequence of straight-line segments and circular arcs.In this paper, we focus on ortho-radial drawings without bends; we call such drawings bend-free.Hence, each edge is either part of a radial ray or of a concentric circle of G.This is not a restriction as any ortho-radial drawing can be turned into a bend-free drawing by replacing bends with subdivision vertices.
In a bend-free ortho-radial drawing of G each edge has a geometric direction in the sense that is drawn either clockwise, counterclockwise, towards the center or away from the center.Hence, using the metaphor of a cylinder, the edges point right, left, down or up, respectively.Moreover, horizontal edges point left or right, while vertical edges point up or down; see Figure 1.
We further observe that if the central and outer face are identical then an ortho-radial drawing can be intepreted as a distorted orthogonal drawing, in which the horizontal edges are bended to circular arcs, while the vertical edges remain straight segments; see Figure 3 for an example.Hence, utilizing the framework for orthogonal drawings by Tamassia [31], this allows us to easily create an ortho-radial drawing of an instance I for the case that the central face f c and the outer face f o are the same.Hence, we assume f c = f o in the remainder of this work, which changes the problem of finding an ortho-radial drawing of I substantially.
We first introduce concepts that help us to combinatorially describe the ortho-radial drawing ∆.Let v be a vertex of G and let E(v) be the counterclockwise order of the edges in E around v. A combinatorial angle at v is a pair of edges (e 1 , e 2 ) that are both incident to v and such that e 1 immediately precedes e 2 in E(v); see Figure 4.An angle assignment Γ of an instance I = (G, E, f c , f o ) assigns to each combinatorial angle (e 1 , e 2 ) of E a rotation rot(e 1 , e 2 ) ∈ {−2, −1, 0, 1}.For an ortho-radial drawing ∆ of I we can derive an angle assignment that defines rot(e 1 , e 2 ) = 2 − 2α/π for each angle (e 1 , e 2 ) at v, where α is the counterclockwise geometric angle between e 1 and e 2 in ∆.Hence, the rotation of a combinatorial angle counts the number of right turns that are taken when going from e 1 to e 2 via v, where negative numbers correspond to left turns; see Figure 4.In particular, in case that e 1 = e 2 we derive rot(e 1 , e 2 ) = −2 from ∆, i.e., v contributes two left turns.But conversely, we cannot derive an ortho-radial drawing from every angle assignment.
For a face f of E with facial walk v 1 . . .v k around f (where f is oriented in clockwise order) we define rot(f ) = k i=1 rot(v i−1 v i , v i v i+1 ), where we define v 0 := v k and v k+1 := v 1 .Every angle assignment Γ that is derived from a bend-free ortho-radial drawing is locally consistent in the following sense [23].

e e
Figure 5: In this drawing, the angles around vertices sum up to 360 • , and also the sum of angles for each face is as expected for an ortho-radial drawing.However, the graph does not have an ortho-radial drawing without bends.Definition 1.An angle assignment is locally consistent if it satisfies the following two conditions.1.For each vertex, the sum of the rotations around v is 2(deg(v) − 2).
2. For each face f , we have f is a regular face 0, f is the outer or the central face but not both −4, f is both the outer and the central face.
We call a locally consistent angle assignment of I an ortho-radial representation of I. Unlike for orthogonal representations Condition (1) and Condition (2) do not guarantee that for an ortho-radial representation of I there is an ortho-radial drawing of I having the same angles; see Figure 5.In this paper, we introduce a third more global condition that characterizes all ortho-radial representations of I that can be drawn.To that end, we first introduce basic concepts on rotations and directions in orthoradial representations in Section 3.1, which we then use to define this global condition in Section 3.2.

Rotations and Directions in Ortho-Radial Representations
We transfer two basic properties of ortho-radial drawings to ortho-radial representations.First, the rotations of all cycles are either 0 or 4. Second, fixing the geometric direction of a single edge e , fixes the geometric directions of all edges.We call e a reference edge and assume that it points to the right and lies on the outer face of E.
For two edges e = uv and e = vw we define the rotation between them as rot(uvw) = k−1 i=1 rot(e i , e i+1 )− 2(k − 2), where e = e 1 , . . ., e k = e are the edges that are incident to v and lie between e and e in counterclockwise order; see Figure 6(a).
The rotation of a path P = v 1 . . .v k is the sum of the rotations at its internal vertices, that is rot(P ) = k−1 i=2 rot(v i−1 v i v i+1 ); see Figure 6(b).Observation 1.Let P be a path with start vertex s and end vertex t.
Similarly, for a cycle C = v 1 . . .v k , its rotation is the sum of the rotations at all its vertices (where we define v 0 = v k and v k+1 = v 1 ), i.e., rot(C) = k i=1 rot(v i−1 v i v i+1 ).We observe that the rotation of a face f is equal to the rotation of the cycle that we obtain from the facial walk around f .Proof.Let H be the sub-graph of G that is contained in the interior of C; we note that C belongs to H. We remove H • = H − C from the ortho-radial representation by deleting the edges and vertices of H • successively.We show that in each deletion step we again obtain an ortho-radial representation; in particular Condition 1 and Condition 2 hold.After H • has been completely removed, the cycle C is a face of the resulting ortho-radial representation.By Condition 2 the statement follows.
We do the removal of H • based on two rules.The first rule removes a degree-1 vertex from H • adapting the angle assignment accordingly.The second rule removes an edge of H • that lies on a cycle of H adapting the angle assignment accordingly.
We show the following claims.Claim 1: If H • is not empty, then the first or second rule is applicable.Claim 2: Applying the first rule yields a connected graph and an ortho-radial representation of this graph.Claim 3: Applying the second rule yields a connected graph and an ortho-radial representation of this graph.
We now prove Claim 1. Assume that the second rule is not applicable, but H • contains at least one vertex.We contract C and the sub-graph in the exterior of C to one vertex.As the second rule is not applicable, the result is a tree, which shows that there is a degree-1 vertex in H • .Hence, the first rule is applicable.
For proving Claim 2 and Claim 3 we first show a general statement on rotations.Let a, b, c and d vertices of G such that d = c, a and there are the edges ab, bc and bd.We assume that ab, bc and bd appear around b in clockwise order.Figure 7 shows the six cases that are possible, from which we derive rot(abc) = rot(abd) + rot(dbc) − 2 We now prove Claim 2. Let u be a degree-1 vertex and let v be the adjacent vertex of u; see Figure 8a.The edge uv lies on a face f .Let xv and vw be the preceding and succeeding edges of uv on f , respectively.We note that, possibly, x = w.Let h be the new face after deleting v.As u has degree one, the resulting graph after deleting u is still connected.Further, we define the deletion of u such that the resulting angle assignment is locally correct, i.e., such that it satisfies Condition 1 at v. In order to prove Condition 2 we apply Equation (1) with a = x, b = v, c = w and d = u as follows.
If f is a regular face, then h is also a regular face.Hence, we obtain rot(h) = 4.If f is the central face, then h is also the central face so that rot(h) = 0. Finally, we prove Claim 3. Let uv be the edge that is removed; see Figure 8b.As uv lies on a cycle in H, it separates two faces f and g.We assume that f lies locally to the left of uv and g lies locally to the right of uv.Let w and x be the preceding and succeeding vertex on f , respectively.Further, let y and z be the preceding and succeeding vertex on g.We note that possibly w = z or x = y.Let h be the new face after deleting uv, whose boundary consists of the two paths f [ux, wv] and g[vz, yu].As uv lies on a cycle, the resulting graph after deleting uv is still connected.Further, we define the deletion of uv such that the resulting angle assignment is locally correct, i.e., such that it satisfies Condition 1 at u and v.We prove Condition 2 by showing Since f and g lie in the interior of the essential cycle C, neither f nor g is the outer face.If both are regular faces, then h is also regular.From Equation (2) we correctly obtain rot(h) = 4.If one of them is the central face, then h is the new central face.From Equation ( 2) we obtain rot(h) = 0.In the remainder of the proof we show rot(h) = rot(f ) + rot(g) − 4. For f , g and h we obtain the following rotations.Proof.Let t and s be the vertices immediately before and after b on C. We observe that a lies in the interior of C if and only if ab lies locally to the right of the path sbt.Considering all six cases how the edges ab, sb, and tb can be arranged (see Figure 10), we obtain rot(abs) − rot(abt) = rot(tbs) + r a .Similarly, we define s and t as the vertices immediately before and after c on C. Considering all cases as above we get rot(s cd) − rot(t cd) = rot(s bt ) + r d .
Splitting S and T into three parts (see Figure 9), we have Combining the rotations at b and c using the observations from above, we get For two edges e and e let P be an arbitrary path that starts at the source or target of e and ends at the source or target of e , and that neither contains e nor e .We call P a reference path from e to e .We define the combinatorial direction of e = xy with respect to e = uv and P as dir(e, P, e rot(e + P + e ) P starts at v and ends at x, rot(e + P + e ) + 2 P starts at u and ends at x, rot(e + P + e ) − 2 P starts at v and ends at y, rot(e + P + e ) P starts at u and ends at y.
With the fixed direction of the reference edge e , it is natural to determine the direction of any other edge e by considering the direction of any reference path from e to e.In order to get consistent results, any two reference paths P and Q from e to e must induce the same direction of e, which means that dir(e , P, e) and dir(e , Q, e) may only differ by a multiple of 4. In the following lemma we show that this is indeed the case.Lemma 3. Let e and e be two edges of an ortho-radial representation Γ, and let P and Q be two reference paths from e to e .Proof.First, we define a construction that helps us to reduce the number of cases to be considered.We subdivide e by a vertex u into two edges e 1 and e 2 ; see Figure 11a.Further, we add a path consisting of two edges e 3 and e 4 such that the target of e 4 is u.We define that rot(e 3 e 4 ) = 1 and rot(e 4 e 2 ) = −1.
Similarly, we subdivide e by a vertex v into two edges e 1 and e 2 .Further, we add a path consisting of two edges e 3 and e 4 such that the source of e 3 is v.We define that rot(e 1 e 3 ) = 1 and rot(e 3 e 4 ) = −1.
Let S be a reference path from e to e ; see Figure 11b.Let S 1 be the path that starts at the source of e 3 and ends at the starting point of S only using edges from {e 1 , e 2 , e 3 , e 4 }.Further, let S 2 be the path that starts at the end point of S and ends at the target of e 4 only using edges from {e 1 , e 2 , e 3 , e 4 }.The extension S of S is the path S 1 + S + S 2 .The following claim shows that we can consider S instead of S such that it is sufficient to consider the rotation of S instead of the direction dir(e, S, e ), which distinguishes four cases.Claim 1: dir(e, S, e ) = rot(S ) The detailed proof of Claim 1 is found at the end of this proof.In the following let P and Q be the extensions of P and Q, respectively.We show that rot(P ) ≡ rot(Q ) (mod 4).Moreover, for the case that e = e and e lies on an essential cycle that is respected by P and Q, we show that rot(P ) = rot(Q ).Altogether, due to Claim 1 this proves Lemma 3. We show rot(P ) = rot(Q ) by converting P into Q successively.More precisely, we construct paths R 1 . . .R k such that R i consists of a prefix of P followed by a suffix of Q such that with increasing i the used prefix of P becomes longer, while the used suffix of Q becomes shorter.In particular, we have R 1 = Q and R k = P .We show that rot(R i ) ≡ rot(R i+1 ) (mod 4).If R i = P , we construct R i+1 from R i as follows; see Figure 12.
There is a first edge vw on P such that the following edge does not lie on R i .Let x be the first vertex on P after w that lies on R i and let y be the vertex on R i that follows x immediately.As both P and R i end at the same edge, these vertices always exist.We define and x occurs on Q after w.Further, R i+1 is a path as we can argue as follows.We can decompose R i+1 into three paths: R The paths R 1 i+1 and R 3 i+1 do not intersect as both also belong to R i , which is a path by induction.The paths R 1 i+1 and R 2 i+1 do not intersect (except at their common vertex w), because both belong to P .The paths R 2 i+1 and R 3 i+1 do not intersect (except at their common vertex x), because by the definition of x no vertex of P between w and x lies on R i .
Next, we show that rot(R i ) ≡ rot(R i+1 ) (mod 4).To that end consider the cycle C i that consists of the two paths R i [w, x] and R i+1 [w, x].We orient C i such that the interior of the cycle locally lies to the right of its edges.By the definition of R i+1 we obtain rot(R i [e 3 , vw]) = rot(R i+1 [e 3 , vw]) and rot(R i [xy, e 4 ]) = rot(R i+1 [xy, e 4 ]), as these subpaths of R i and R i+i coincide, respectively.Hence, it remains to show that rot(R i [vw, xy]) ≡ rot(R i+1 [vw, xy]) (mod 4) and rot(R i [vw, xy]) = rot(R i+1 [vw, xy]) in the special case that e = e and e lies on an essential cycle that is respected by P and Q.
In general we can describe the obtained situation as follows.We are given a cycle and two edges ab and cd (with b = c) such that b and c lie on that cycle, but a and d not; see also Figure 9. Hence, we can apply Lemma 2.
We distinguish two cases: if the interior of C i lies locally to the right of R i we define S = vw+R i [w, x]+ xy and T = vw + R i+1 [w, x] + xy, and otherwise S = vw + R i+1 [w, x] + xy and T = vw + R i [w, x] + xy.We only consider the first case, as the other case is symmetric.By Lemma 2 we obtain rot(S) − rot(T ) = rot(C i ) + r v + r y .As rot(C i ) ≡ 0 (mod 4) and r v , r y ≡ 2 (mod 4) we obtain rot(S) ≡ rot(T ) (mod 4) and with this rot(R i [vw, xy]) ≡ rot(R i+1 [vw, xy]) (mod 4).Altogether, in the general case we obtain rot(R i ) ≡ rot(R i+1 ).
Finally, we prove the second statement of the lemma.Hence, there are two essential cycles C and C such that 1. C lies in the interior of C, 2. e lies on C and e lies on C , and 3. P and Q lie in the interior of C and in the exterior of C .In particular, the paths P and Q respect C as they lie in the exterior of C .We show that rot(S) = rot(T ).First, we observe that R i [e, vw] respects the cycle C i by the simplicity of R i and R i+1 .In particular, vw lies in the exterior of C i so that r v = −2.We distinguish the two cases whether C i is essential or non-essential.If C i is a non-essential cycle, the edge xy is also contained in the exterior of C i as P and Q end on the essential cycle C , which both respect.Hence, we obtain r y = −2.Thus, we get by Lemmas 1 and 2 that rot(S) − rot(T ) = rot(C i ) + r v + r y = 4 − 2 − 2 = 0.If C i is an essential cycle, then the cycle C is contained in the interior of C i as both contain the central face, and C i is composed by parts of paths that respect C .Consequently, the edge xy lies in the interior of C i so that we obtain r y = 2.By Lemmas 1 and 2 we get rot(S) − rot(T ) = rot(C i ) + r v + r y = 0 − 2 + 2 = 0.It remains to prove Claim 1.
Proof of Claim 1.We distinguish the four cases given by the definition of dir(e, S, e ); see Figure 11b.If S starts at the target of e and ends at the source of e , we obtain dir(e, S, e ) = rot(e + S + e ) = rot(e 2 + S + e 1 ) as subdividing e and e transfers the directions of e and e to e  Proof.The statement directly follows from the second statement of Lemma 3 by assuming that C is the outermost essential cycle of Γ and C is the cycle containing e .
Using this result, the geometric directions of all edges of a given ortho-radial representation Γ can be determined as follows.Let P be any reference path from the reference edge e to any edge e, the edge e points right, down, left, and up if dir(e , P, e) is congruent to 0, 1, 2, and 3, respectively.Lemma 3 ensures that the result is independent of the choice of the reference path.In fact, Lemma 3 even gives a stronger result as we can infer the geometric direction of one edge from the geometric direction of another edge locally without having to resort to paths to the reference edge.We often implicitly make use of this observation in our proofs.

Drawable Ortho-Radial Representations
In this section we introduce concepts that help us to characterize the ortho-radial representations that have an ortho-radial drawing.To that end, consider an arbitrary bend-free ortho-radial drawing ∆ of a plane 4-graph G.As we assume throughout this work that the outer and central face are not the same, there is an essential cycle C that lies on the outer face f of ∆.Let e be a horizontal edge of C that points to the right and that lies on the outermost circle of the ortho-radial grid among all such edges, and let R ∆ be the set of all edges e with dir(e, P, e ) = 0 for any path P on f ; see Figure 13.We observe that R ∆ is independent of the choice of e, because if there are multiple choices for e, then all of these edges are contained in R ∆ .We call the edges in R ∆ the outlying edges of ∆.Without loss of generality, we require that the reference edge of the according ortho-radial representation Γ stems from R ∆ ; as R ∆ is not empty and all of the edges in R ∆ are possible candidates for being a reference edge, we can always change the reference edge of Γ to one of the edges in R ∆ .These outlying edges possess the helpful properties that they all lie on the outermost essential cycle, which makes them the ideal choice as reference edges.
An ortho-radial representation Γ of a graph G with reference edge e is drawable if there exists a bendfree ortho-radial drawing ∆ of G embedded as specified by Γ such that the corresponding angles in ∆ and Γ are equal and the edge e is an outlying edge, i.e., e ∈ R ∆ .Unlike for orthogonal representations Condition (1) and Condition (2) do not guarantee that the ortho-radial representation is drawable; see Figure 5. Therefore, we introduce a third condition, which is formulated in terms of labelings of essential cycles.
Let e be an edge on an essential cycle C in G and let P be a reference path from the reference edge e to e that respects C. We define the label of e on C as C (e) = dir(e , P, e).By Corollary 1 the label C (e) of e does not depend on the choice of P .We call the set of all labels of an essential cycle its labeling.
We call an essential cycle monotone if either all its labels are non-negative or all its labels are nonpositive.A monotone cycle is a decreasing cycle if it has at least one strictly positive label, and it is an increasing cycle if it has at least one strictly negative label.We also refer to increasing and decreasing cycles as strictly monotone.An ortho-radial representation is valid if it contains no strictly monotone cycles.The validity of an ortho-radial representation ensures that on each essential cycle with at least one non-zero label there is at least one edge pointing up and one pointing down.
A main goal of this paper is to show that a graph with a given ortho-radial representation can be drawn if and only if the representation is valid.Further, we show how to test validity of a given representation and how to obtain a bend-free ortho-radial drawing from a valid ortho-radial representation in quadratic time.Altogether, this yields our main results: Theorem 2. An ortho-radial representation is drawable if and only if it is valid.Theorem 3. Given an ortho-radial representation Γ, it can be determined in O(n 2 ) time whether Γ is valid.In the negative case a strictly monotone cycle can be computed in O(n 2 ) time.
Theorem 4. Given a valid ortho-radial representation, a corresponding drawing can be constructed in O(n 2 ) time.
We prove the three theorems in the given order.Section 4-6 deals with Theorem 2. In Section 7 we prove Theorem 3. In particular, together with the proof of Theorem 2 this already leads to a version of Theorem 4, but with a running time of O(n 4 ).In Section 9 we show how to achieve O(n 2 ) running time proving Theorem 4.

Transformations of Ortho-Radial Representations
In this section we introduce helpful tools that we use throughout this work.In the remainder of this work we assume that we are given an ortho-radial representation Γ with reference edge e .
Since the reference edge lies on an essential cycle by definition, we can compute the labelings of essential cycles via the rotation of paths as shown in the following lemma.This simplifies the arguments of our proofs.Lemma 4. For every edge e on an essential cycle C there is a reference path P from e to e such that P respects C, starts at the target of e and ends on the source of e.Moreover, C (e) = rot(e + P + e).
Proof.Let Q be a reference path from the reference edge e = rs to e = tu respecting C. We construct the desired reference path P as follows.Let C be the outermost essential cycle, i.e., C is the unique essential cycle such that every edge of C bounds the outer face.If C and C have a common vertex, we define v to be the first common vertex on C after s; see Figure 14a.We set . By the choice of v this concatenation is a path.Moreover, it is a reference path from e to e that respects C. If C and C are disjoint, let v be the first vertex of Q lying on C and let w be the last vertex of Q before v that lies on C ; see Figure 14b.We set We observe that the concatenation P is a path by the choice of v and w, and that P is a reference path from e to e respecting C.
By Corollary 1 we have C (e) = dir(e , P, e) since P is a reference path from e to e respecting C. Further, since P starts at the target s of the reference edge e and ends at the source t of the edge e, we can express the direction of P as dir(e , P, e) = rot(e + P + e).
The next lemma shows how we can change the reference edge e on the essential cycle C o that is part of the outer face; Figure 15 illustrates the lemma.Lemma 5. Let Γ be an ortho-radial representation and let e be the reference edge of Γ. Further, let C o be the essential cycle that lies on the outer face and let e be an edge on C o such that rot(C o [e , e ]) = 0.For every edge e on an essential cycle C of Γ it holds C (e) = C (e), where C is the labeling of C with respect to e .
In particular, Γ with reference edge e is valid if and only if Γ with reference edge e is valid.In our arguments we frequently exploit certain symmetries.For an ortho-radial representation Γ we introduce two new ortho-radial representations, its flip flip(Γ) and its mirror mirror(Γ).Geometrically, viewed as a drawing on a cylinder, a flip corresponds to rotating the cylinder by 180 • around a line perpendicular to the axis of the cylinder so that is upside down, see Figure 16, whereas mirroring corresponds to mirroring it at a plane that is parallel to the axis of the cylinder; see Figure 17.Intuitively, the first transformation exchanges left/right and top/bottom, and thus preserves monotonicity of cycles, while the second transformation exchanges left/right but not top/bottom, and thus maps increasing cycles to decreasing ones and vice versa.This intuition indeed holds with the correct definitions of flip(Γ) and mirror(Γ), but due to the non-locality of the validity condition for ortho-radial representations and the dependence on a reference edge this requires some care.The following two lemmas formalize flipped and mirrored ortho-radial representations.We denote the reverse of a directed edge e by e.In particular, increasing and decreasing cycles of Γ correspond to increasing and decreasing cycles of flip(Γ), respectively.
Proof.We define flip(Γ) as follows.The central face of Γ becomes the outer face of flip(Γ) and the outer face of Γ becomes the central face of flip(Γ).Further, we choose an arbitrary edge e on the central face f c of Γ with fc (e ) = 0 (such an edge exists since the cycle bounding the central face is not strictly monotone), and choose e as the reference edge of flip(Γ).All other information of Γ is transferred to flip(Γ) without modification.As the local structure is unchanged, flip(Γ) is an ortho-radial representation.
The essential cycles in Γ bijectively correspond to the essential cycles in flip(Γ) by reversing the direction of the cycles.That is, any essential cycle C in Γ corresponds to the cycle C in flip(Γ).Note that the reversal is necessary since we always consider essential cycles to be directed such that the center lies in its interior, which is defined as the area locally to the right of the cycle.
Consider any essential cycle C in Γ.We denote the labeling of C in Γ by C and the labeling of C in flip(Γ) by C .We show that for any edge e on C, C (e) = C (e), which in particular implies that any monotone cycle in Γ corresponds to a monotone cycle in Γ and vice versa.By Lemma 4 there is a reference path P from the target of e to the source of the edge e respecting C. Similarly, there is a path Q from the target of e to the source of e that lies in the interior of C. The path Q is a reference path from e to e respecting C in flip(Γ).
Assume for now that P + e + Q is simple.We shall see at the end how the proof can be extended if this is not the case.By the choice of e , we have 0 = fc (e ) = rot(e + P + e + Q + e ) = rot(e + P + e) + rot(e + Q + e ) Hence, rot(e + P + e) = − rot(e + Q + e ) = rot(e + Q + e) and in total Thus, any monotone cycle in Γ corresponds to a monotone cycle in flip(Γ) and vice versa.
If P + e + Q is not simple, we make it simple by cutting G at C such that the interior and the exterior of C get their own copies of C; see Figure 18.We connect the two parts by an edge between two new vertices x and x on the two copies of e, which we denote by vw in the exterior part and v w in the interior part.The new edge is placed perpendicular to these copies.The path P + vxx w + Q is simple and its rotation is 0. Hence, the argument above implies C (e) = C (e).Proof.We define mirror(Γ) as follows.We reverse the direction of all faces and reverse the order of the edges around each vertex.The outer and central face are equal to those in Γ (except for the directions) and the reference edge is e .By this definition (e 1 , e 2 ) is a combinatorial angle in Γ if and only if (e 2 , e 1 ) is a combinatorial angle in mirror(Γ).We define rot mirror(Γ) (e 2 , e 1 ) = rot Γ (e 1 , e 2 ), where the subscript indicates the ortho-radial representation that defines the rotation.Thus, edges that point left in Γ point right in mirror(Γ) and vice versa, but the edges that point up (down) in Γ also point up (down) in mirror(Γ).Note that this construction satisfies the conditions for ortho-radial representations.Let e = tu be an edge on an essential cycle C and let P be a reference path from e = rs to e that respects C; by Lemma 4 we assume that P starts at s and ends at t.After mirroring, P still is a reference path from e to e, but its rotation in mirror(Γ) may be different from its rotation in Γ.As above, to distinguish the directions and rotations of paths in mirror(Γ) from the ones in Γ, we include mirror(Γ) and Γ as subscripts to rot and dir.
By the definition of labels as directions of reference paths we directly obtain that mirror( ) C (e) = − C (e).
In particular, if C is increasing (decreasing) in Γ, then C is decreasing (increasing) in mirror(Γ).

Properties of Labelings
In this section we study the properties of labelings in more detail to derive useful tools for proving Theorem 2. Throughout this section, we are given an instance (G, E, f c , f o ) with an ortho-radial representation Γ and a reference edge e .The following observation follows immediately from the definition of labels and the fact that the rotation of any essential cycle is 0. Note that, if an edge e is contained in two essential cycles C 1 and C 2 , then their labelings may generally differ, i.e., C1 (e) = C2 (e).In fact, Figure 19 shows that two cycles C 1 , C 2 may share two edges e, e such that C1 (e) = C2 (e) and C1 (e ) = C2 (e ).The rest of this section is devoted to understanding the relationship between labelings of essential cycles that share vertices or edges.The following technical lemma is a key tool in this respect; see also Figure 20.
Lemma 8. Let C 1 and C 2 be two essential cycles and let H = C 1 + C 2 be the subgraph of G formed by C 1 and C 2 .Let v be a common vertex of C 1 and C 2 that is incident to the central face of H.For i = 1, 2, let further u i and w i be the vertices preceding and succeeding v on C i , respectively.Then C1 (vw 1 ) = Proof.Let C be the cycle that bounds the central face of H. First assume that the edge vw 1 is incident to the central face of H.
Let P be a reference path from the reference edge to vw 1 respecting C 1 .Similarly, let Q be a reference path from the reference edge to vw 2 respecting C 2 .By Lemma 4 we assume that P and Q start at the target of the reference edge and end at v. We observe that both P and Q respect the essential cycle C.
Then, Corollary 1 applied to P and Q yields C (vw 1 ) = rot(e + P + vw 1 ) = rot(e + P ) + rot(u 1 vw 1 ) By the definition of labelings it is C1 (u 1 v) = rot(e + P ), C2 (u 2 v) = rot(e + Q), and C1 (vw 1 ) = C1 (u 1 v) + rot(u 1 vw 1 ).Combining this with the previous equation give the desired result: If vw 1 does not lie on C, then the edge vw 2 does.By swapping the roles of C 1 and C 2 and using the same argument as above, we obtain Since vw 1 lies locally to the left of both u 1 vw 2 and u 2 vw 2 , it is rot(u i vw 1 ) = rot(u i vw 2 ) − α for i = 1, 2 and the same constant α, which is either 1 or 2. Hence, we get Finally, if w 1 = w 2 , i.e., vw 1 lies on both C 1 and C 2 , then C1 (vw  This allows us to prove an important criterion to exclude strictly monotone cycles.We call an essential cycle C horizontal if C (e) = 0 for all edge e of C. We show that a strictly monotone cycle and a horizontal cycle cannot share vertices.
Proposition 1.Let C 2 be a horizontal cycle and let C 1 be an essential cycle that shares at least one vertex with C 2 .Then C 1 is not strictly monotone.
Proof.The situation is illustrated in Figure 21.
If the two cycles are equal, the claim clearly holds.Otherwise, we show that one can find two edges on C 1 whose labels have opposite signs.
Let v be a shared vertex of C 1 and C 2 that is incident to the central face f of H = C 1 + C 2 and such that the edge vw 1 on C is not incident to f .For i = 1, 2 denote by u i and w i the vertex preceding and succeeding v on C i , respectively.By Lemma 8 it is where the second equality follows from the assumption that C2 (u 2 v) = 0. Let y be the first common vertex of C 1 and C 2 on the central face f after v.That is, f [v, y] is a part of one of the cycles C 1 and C 2 , and it intersects the other cycle only at v and y.For i = 1, 2, we denote by x i and z i the vertices preceding and succeeding y on C i .Again by Lemma 8 (this time swapping the roles of C 1 and C 2 ), we have Overall, we have C1 (vw 1 ) = rot(u 2 vw 1 ) and C1 (x 1 y) = − rot(x 1 yz 2 ).By construction vw 1 and x 1 y lie on the same side of C 2 .Hence, u 2 vw 1 and x 1 yz 2 both make a right turn if vw 1 and x 1 y lie in the interior of C 2 and a left turn otherwise.Thus, it is rot(u 2 vw 1 ) = rot(x 1 yz 2 ) = 0, and therefore C1 (vw 1 ) and C1 (x 1 y) have opposite signs.Hence, C 1 is not strictly monotone.
In many cases we cannot assume that one of two essential cycles sharing a vertex is horizontal.However, we can still draw conclusions about their intersection behavior from their labelings and find conditions under which shared edges have the same label on both cycles.
Intuitively, positive labels can often be interpreted as going downwards and negative labels as going upwards.In Figure 19b all edges of C 1 [v, w] have positive labels and in total the distance from the center decreases along this path, i.e., the distance of v from the center is greater than the distance of w from the center.Yet, the edges on C 1 [v, w] point in all possible directions-even upwards.One can still interpret a maximal path with positive labels as leading downwards with the caveat that this is a property of the whole path and does not impose any restriction on the directions of the individual edges.
Using this intuition, we expect that a path P going down cannot intersect a path Q going up if P starts below Q.In Lemma 9, we show that this assumption is correct if we restrict ourselves to intersections on the central face.
Lemma 9. Let C 1 and C 2 be two simple, essential cycles in G sharing at least one vertex.Let H = C 1 + C 2 , and denote the central face of H by f .Let v be a vertex that is shared by C 1 and C 2 that is incident to f and, for i = 1, 2, let u i and w i be the vertices preceding and succeeding v on C i , respectively.Proof.The second case follows from the first by taking the mirror representation; this reverses the order on the cycles and changes the sign of each label by Lemma 7, but does not change the notion of interior and exterior.It therefore suffices to consider the first case.
Since the central face f lies in the interior of both C 1 and C 2 and v lies on the boundary of f , one of the edges vw 1 and vw 2 is incident to f .We denote this edge by vx and it is either x = w 1 (as in Figure 22a) or x = w 2 .By Lemma 8, we have C1 (u 1 v) + rot(u 1 vx) = C2 (u 2 v) + rot(u 2 vx).Applying C1 (u 1 v) ≥ 0 and C2 (u 2 v) ≤ 0, we obtain rot(u 1 vx) ≤ rot(u 2 vx).Therefore, u 2 v lies to the right of or on u 1 vx and thus in the interior of C 1 .
The next lemma is a direct consequence of Lemma 9 when applied to decreasing and increasing cycles.Lemma 10.A decreasing and an increasing cycle do not have any common vertex.
Proof.Let C 1 be an increasing and C 2 a decreasing cycle.Assume that they have a common vertex.But then there also is a common vertex on the central face f of the subgraph C 1 + C 2 .Consider any maximal common path P of C 1 and C 2 on f .We denote the start vertex of P by v and the end vertex by w.Note that v may equal w.By Lemma 9 the edge to v on the decreasing cycle C 2 lies strictly in the exterior of C 1 , where the strictness follows from the maximality of P .Similarly, the edge from w on C 2 lies strictly in the interior of C 1 .Hence, C 2 [w, v] crosses C 1 .Let x be the first intersection of C 1 and C 2 on f after w.Then the edge to x on C 2 lies strictly in the interior of C 1 , contradicting Lemma 9.
For the correctness proof in Section 7, a crucial insight is that for essential cycles using an edge that is part of a regular face, we can find an alternative cycle without this edge in a way that preserves labels on the common subpath.Proof.Consider the graph H = C + f composed of the essential cycle C and the regular face f .Since e is incident to f , the edge e cannot lie on both the outer and the central face in H.If e does not lie on the outer face, we define C as the cycle bounding the outer face but directed such that it contains the center in its interior; see Figure 24a.Otherwise, C denotes the cycle bounding the central face; see Figure 24b.
Since C lies in the exterior of f , the intersection of C with C forms one contiguous path Q. Setting P = C − Q yields a path that lies completely on f (it is possible though that P and f are directed differently).
By the construction of C the edges of Q are incident to the central face of C + C .Then Lemma 8 implies that C (e) = C (e) for all edges e of Q.
The last lemma of this section shows that we can replace single edges of an essential cycle C with complex paths without changing the labels of the remaining edges on C. Lemma 12. Let C be an essential cycle in an ortho-radial representation Γ and let uv be an edge of C. Consider the ortho-radial representation Γ that is created by replacing uv with an arbitrary path P such that the interior vertices of P do not belong to Γ, i.e., they are newly inserted vertices in Γ .If the cycle Proof.For an illustration of the proof see Figure 25.Let e = xy be an arbitrary edge on C[v, u] and let R be a reference path from the reference edge e to e that respects C. We first construct a new reference path R that does not contain uv as follows.Let w be the first vertex of R that lies on We observe that R is again a reference path of e that respects C. Further, it can be partitioned into a prefix that only consists of edges that do not belong to C and a suffix that only consists of edges that belong to C [v, u].
We now show that R is a reference path of e in Γ that respects C .As R does not use uv, it is still contained in Γ and hence it is a reference path of e.So assume that R does not respect C .Hence, R

Characterization of Rectangular Ortho-Radial Representations
Throughout this section, assume that I = (G, E, f c , f o ) is an instance with an ortho-radial representation Γ and a reference edge e .We prove Theorem 2 for the case that Γ is rectangular.In a rectangular ortho-radial representation the central face and the outer face are horizontal cycles, and every regular face is a rectangle, i.e., it has exactly four right turns, but no left turns.We first observe that a bend-free ortho-radial drawing ∆ can be described by an angle assignment together with the lengths of its vertical edges and the angles of the circular arcs representing the horizontal edges; we call the angles of the circular arcs central angles.We define two flow networks that assign consistent lengths and central angles to the vertical edges and horizontal edges, respectively.These networks are straightforward adaptions of the networks used for drawing rectangular graphs in the plane [12].In the following, vertex and edge refer to the vertices and edges of G, whereas node and arc are used for the flow networks.
The network N ver = (F ver , A ver ) with nodes F ver and arcs A ver for the vertical edges contains one node for each face of G except for the central and the outer face.All nodes have a demand of 0. For each vertical edge e in G, which we assume to be directed upwards, there is an arc a e = f g in N ver , where f is the face to the left of e and g the one to its right.The flow on f g has the lower bound l(f g) = 1 and upper bound u(f g) = ∞.An example of this flow network is shown in Figure 26a.
Similarly, the network N hor = (F hor , A hor ) assigns the central angles of the horizontal edges.There is a node for each face of G, and an arc a e = f g for every horizontal edge e in G such that f lies locally below e and g lies locally above e.Additionally, N hor includes one arc from the outer to the central face.Again, all edges require a minimum flow of 1 and have infinite capacity.The demand of all nodes is 0. Figure 26b shows an example of such a flow network.Valid flows in these two flow networks then yield an ortho-radial drawing of Γ. Lemma 13.A pair of valid flows in N hor and N ver corresponds to a bend-free ortho-radial drawing of Γ and vice versa.
Proof.Given a feasible flow ϕ ver in N ver , we set the length of each vertical edge e of G to the flow ϕ ver (a e ) on the arc a e that crosses e.For each face f of G, the total length of its left side is equal to the total amount of flow entering f .Similarly, the length of the right side is equal to the amount of flow leaving f .As the flow is preserved at all nodes of N ver , the left and right sides of f have the same length.The central angles of the horizontal edges are obtained from a flow ϕ hor in N hor .Let Φ be the total amount of flow that leaves the central face.Then for each horizontal edge e we set its central angle to 2πϕ hor (a e )/Φ, where ϕ hor (a e ) is the amount of flow of the arc a e that connects the two adjacent faces of e.As the flow is preserved at all nodes of N hor , the top and bottom sides of each face have the same central angle.
Conversely, given a bend-free ortho-radial drawing ∆ of Γ, we can extract flows in the two networks.For each vertical edge e we set the flow ϕ ver (a e ) of the corresponding arc a e to l e /l min , where l e is the length of e in ∆ and l min is the length of the shortest edge in ∆.With the scaling, we ensure that the flow of each arc is at least 1.Similarly, for the horizontal edges we assign to each arc a e of each horizontal edge e the flow ϕ hor (a e ) = α e /α min , where α e is the central angle of e in ∆ and α min is the smallest central angle of any horizontal edge in ∆.Again, the scaling ensures that each arc has flow at least 1.Since the opposing sides of the regular faces have the same lengths and central angles, the flow is preserved at all nodes.
Using this correspondence of drawings and feasible flows, we show the characterization of rectangular graphs.
Theorem 1.Let Γ be a rectangular ortho-radial representation and let N hor = (F hor , A hor ) and N ver = (F ver , A ver ) be the flow networks as defined above.The following statements are equivalent: (i) Γ is drawable.
(iii) For every subset S ⊆ F ver such that there is an arc from F ver \ S to S in N ver , there is also an arc from S to F ver \ S.
Proof."(i) ⇒ (ii)": Let ∆ be a bend-free ortho-radial drawing of G preserving the embedding described by Γ and let C be an essential cycle.Our goal is to show that C is not strictly monotone.To this end, we construct a path P from the reference edge of Γ to a vertex on C such that either the labeling of C induced by P attains both positive and negative values or it is 0 everywhere.In ∆ either all vertices of C lie on the same concentric circle, or there is a maximal subpath Q of C whose vertices all have maximum distance to the center of the ortho-radial grid among all vertices of C. In the first case, we may choose the endpoint v of the path P arbitrarily, whereas in the second case we select the first vertex of Q as v; for an example see Figure 27.
We construct the path P backwards (i.e., the construction yields P ) as follows: Starting at v we choose the edge going upwards from v, if it exists, or the one leading left.Since all faces of Γ are rectangles, at least one of these always exists.This procedure is repeated until the target s of the reference edge is reached.
To show that this algorithm terminates, we assume that this was not the case.As G is finite, there must be a first time a vertex w is visited twice.Hence, there is a cycle C in ∆ containing w that contains only edges going left or up.As all drawable essential cycles with edges leading upwards must also have edges that go down [23], all edges of C are horizontal.By construction, there is no edge incident to a vertex of C that leads upwards.The only cycle with this property, however, is the one enclosing the outer face because G is connected.But this cycle contains the reference edge, and therefore the algorithm halts.
This not only shows that the construction of P ends, but also that P is a path (i.e., the construction does not visit a vertex twice).Thus, P is a reference path from the reference edge e to the edge vv , where v is the vertex following v on C. Further, P respects C as P starts at the outermost circle of the ortho-radial grid that is used by C and as by construction all edges of P point left or upwards.By the construction of P , the label of vv induced by P is 0. If all edges of C are horizontal, this implies C (e) = 0 for all edges e of C, which shows that C is not strictly monotone.Otherwise, we claim that the edges e − = uv and e + = wx directly before and after Q on C have labels −1 and +1, respectively.Since all edges on Q are horizontal and e − goes down, we have rot(C[v, x]) = 1 and therefore "(ii) ⇒ (iii)": Instead of proving this implication directly, we show the contrapositive.That is, we assume that there is a set S F ver of nodes in N ver such that S has no outgoing but at least one incoming arc.From this assumption we derive that Γ is not valid, as we find a strictly monotone cycle.
Let N ver [S] denote the node-induced subgraph of N ver induced by the set S. Without loss of generality, S can be chosen such that N ver [S] is weakly connected, i.e., the underlying undirected graph is connected.If N ver is not weakly connected, at least one weakly-connected component of N ver [S] possesses an incoming arc but no outgoing arc, and we can work with this component instead.
As each node of S corresponds to a face of G, S can also be considered as a collection of faces of G. To distinguish the two interpretations of S, we refer to this collection of faces by S. Our goal is to show that the innermost or the outermost boundary of S forms a strictly monotone cycle in Γ. Figure 28 shows an example of such a set S of nodes.Here, the arcs a and a lead from a node outside of S to one in S.These arcs cross edges on the outer boundary of S, which point upwards.
Let F be the set of faces of E (including the central and outer face).Let Z be a connected component of F \ S such that there exists an arc from Z to S in N ver and let C be the cycle in G that separates Z from S. If C were non-essential, then rot(C) = 4 and C would therefore contain an upward and a downward edge.One of these edges would correspond to an incoming arc of S and the other edge to an outgoing arc of S, contradicting the choice of S. Thus, C is essential.
As usual we consider C in clockwise direction.We may assume without loss of generality that C contains S in its interior; otherwise, we consider flip(Γ) and C. Note that for each edge of C the face locally to the right belongs to S whereas the face locally to the left does not.Hence, upward edges of C correspond to incoming arcs of S and downward edges to outgoing arcs.Since there is an arc from Z to S but not vice versa, the cycle C contains at least one upward but no downward edge.Hence, there is some integer k such that all labels of C belong to L k = {4k, 4k + 1, 4k + 2}.Since the numbers in L k are either all non-negative (if k ≥ 0) or all negative (if k < 0), the cycle C is monotone.Moreover, C is not horizontal because it has an upward edge.
"(iii) ⇒ (i)": By Lemma 13 the existence of a drawing is equivalent to the existence of feasible flows in N hor and N ver .If a flow network N contains for each arc a a cycle C a that contains a, then routing one unit flow along each of these cycles C a and adding all flows gives a circulation in N where at least one unit flows along each arc.Hence, it suffices to prove that in N hor and in N ver each arc is contained in a cycle.
Note that N hor without the arc from the outer face g to the central face f is a directed acyclic graph with f as its only source and g as its only sink.For each arc a = gf in N hor there is a directed path P a from f to g via a.Adding the arc gf , we obtain the cycle C a = P a + gf .
For N ver we consider an arc a = f g, and we define the set S g of all nodes h for which there exists a directed path from g to h in N ver .By definition, there is no arc from a vertex in S g to a vertex not in S g .As N ver satisfies iii, S g does not have any incoming arcs either.Hence, f ∈ S g and there is a directed path P a from g to f .Then C a = P a + f g is the desired cycle.By [23] an ortho-radial drawing of a graph is locally consistent.Therefore, Theorem 1 implies the characterization of ortho-radial drawings for rectangular graphs.
Corollary 3 (Theorem 2 for Rectangular Ortho-Radial Representations).A rectangular ortho-radial representation is drawable if and only if it is valid.
We note that we can construct the flows in N hor and N ver using standard techniques based on flows in planar graphs with multiple sinks and sources [26].With this a drawing can be computed in O(n 3 2 ) time.

Drawable Representations of Planar 4-Graphs
In the previous section we proved that a rectangular ortho-radial representation is drawable if and only if it is valid.We extend this result to general ortho-radial representations by reduction to the rectangular case.In Section 7.1 we present a procedure that augments a given instance such that all faces become rectangles.For readability we defer some of the proofs to Section 7.2.In Section 7.3 we use the rectangulation procedure and Corollary 3 to show Theorem 2. We remark that all our proofs are constructive, but make use of tests whether certain modified ortho-radial representations are valid.We develop an efficient testing algorithm for this in Section 8.

Rectangulation Procedure
Throughout this section, we are given an instance I = (G, E, f c , f o ) with a valid ortho-radial representation Γ and a reference edge e .The core of the argument is a rectangulation procedure that successively augments G with new vertices and edges to a graph G along with a valid rectangular ortho-radial representation Γ .Then, Γ is drawable by Corollary 3, and removing the augmented parts yields a drawing of Γ.
The rectangulation procedure works by augmenting non-rectangular faces one by one, thereby successively removing concave angles at the vertices until all faces are rectangles.Traversing the boundary of a face in clockwise direction yields a sequence of left and right turns, where a degree-1 vertex contributes two left turns.Note that concave angles correspond exactly to left turns in this sequence.Consider a face f with a left turn (i.e., a concave angle) at u such that the following two turns when walking along f (in clockwise direction) are right turns; see Figure 29.We call u a port of f .We define a set of candidate edges that contains precisely those edges vw of f , for which rot(f [u, vw]) = 2; see Figure 29a.We treat this set as a sequence, where the edges appear in the same order as in f , beginning with the first candidate after u.The augmentation Γ u vw with respect to a candidate edge vw is obtained by splitting the edge vw into the edges vz and zw, where z is a new vertex, and adding the edge uz in the interior of f such that the angle formed by zu and the edge following u on f is 90 • .The direction of the new edge uz in Γ u vw is the same for all candidate edges.If this direction is vertical, we call u a vertical port and otherwise a horizontal port.We note that any vertex with a concave angle in a face becomes a port during the augmentation process.For regular faces Tamassia [31] shows that they always contain a port.Moreover, the following observation can be proven analogously.However, an augmentation Γ u vw is not necessarily valid.We prove that we can always find an augmentation that is valid.The crucial ingredient is the following proposition.
Proposition 2. Let G be a planar 4-graph with valid ortho-radial representation Γ, let f be a regular face of G and let u be a port of f with candidate edges e 1 = v 1 w 1 , . . ., e k = v k w k .Then the following facts hold: 1.If u is a vertical port, then Γ u e1 is a valid ortho-radial representation; see Figure 29b 2. If u is a horizontal port, then Γ u e1 does not contain an increasing cycle and Γ u e k does not contain a decreasing cycle; see Figure 29c-d.3. Let P i be the maximal path that contains the vertex w i of the candidate edge e i = v i w i and that consists of only horizontal edges.If u is a horizontal port and Γ u ei contains a decreasing cycle and Γ u ei+1 contains an increasing cycle, then u is an endpoint of P i and adding the horizontal edge uz to the other endpoint z of P i yields a horizontal cycle; see Figure 29e.In particular, Γ + uz is valid.
To increase the readability we split the proof of Proposition 2 into the separate Lemmas 14-17, which we defer to Section 7.2.
We are now ready describe the rectangulation procedure.Let G be a planar 4-graph with valid ortho-radial representation Γ.Without loss of generality, we can assume that G is connected, otherwise we can treat the connected components separately.We further insert triangles in both the central and outer face and suitably connect these to the original graph; see Figure 30.Namely, for the central face g we identify an edge e on the simple cycle C bounding g such that C (e) = 0. Since Γ is valid and C is an essential cycle, such an edge exists.We then insert a new cycle C of length 3 inside g and connect one of its vertices to a new vertex on e.The new cycle C now forms the boundary of the central face.Analogously, we insert into the outer face a cycle C o of length 3 which contains G and is connected to the reference edge e .We choose an arbitrary edge e on C o as new reference edge.We observe that there is a path P from e to e with rotation 0. Hence, each reference path from e to an essential cycle in Γ can be extended by P such that the new path is a reference path with respect to e and has the same rotation.
After this preprocessing any face f that is not a rectangle is regular, and it therefore contains a port u.If any of the candidate augmentations Γ u ei is valid, then Γ u ei has fewer concave corners than Γ, and we continue the augmentation procedure with Γ u ei .On the other hand, if none of these augmentations is valid, then each Γ u ei contains a strictly monotone cycle.Let i be the smallest index such that Γ u ei contains an increasing cycle and note that such an index i exists and that i > 1 by property 2 of Proposition 2.Then, by definition of i, Γ u ei−1 contains a decreasing cycle and Γ u ei contains an increasing cycle.But then property 3 of Proposition 2 guarantees the existence of a vertex z such that Γ + uz is valid and has fewer concave corners than Γ.Using this procedure we can iteratively augment Γ to a rectangular ortho-radial representation that contains a subdivision of the ortho-radial representation Γ.In this illustration it is assumed that inserting the edge uz into a valid ortho-radial representation creates an increasing cycle C that uses uz.However, then there is cycle C not using uz that is also increasing.

Proof of Proposition 2
Throughout this section, we assume that we are in the situation described by Proposition 2. That is, G is a planar 4-graph with valid ortho-radial representation Γ, and u is a port of a regular face f with candidate edges e 1 = v 1 w 1 , . . ., e k = v k w k .After possibly replacing Γ with flip(Γ), we may assume that the edge uz resulting from an augmentation with a candidate is directed to the right or up.By Lemma 6 there is a one-to-one correspondence between increasing (decreasing) cycles in Γ and increasing (decreasing) cycles in flip(Γ).Lemma 14.If u is a vertical port, then Γ u e1 is a valid ortho-radial representation.
Proof.Assume for the sake of contradiction that Γ u e1 contains a strictly monotone cycle C.As Γ is valid, C must contain the new edge uz in either direction (i.e., uz or zu).Let f be the new rectangular face of G + uz containing u, v 1 and z, and consider the subgraph H = C + f of G + uz.According to Lemma 11 there exists an essential cycle C that does not contain uz.Moreover, C can be decomposed into paths P and Q such that P lies on f and Q is a part of C; see Figure 31.
The goal is to show that C is increasing or decreasing.We present a proof only for the case that C is an increasing cycle.The proof for decreasing cycles can be obtained by flipping all inequalities.
For each edge e on Q the labels C (e) and C (e) are equal by Lemma 11, and hence C (e) ≤ 0. For an edge e ∈ P , there are two possible cases: e either lies on the side of f parallel to uz or on one of the two other sides.In the first case, the label of e is equal to the label C (uz) ( C (zu) if C contains zu instead of uz).In particular the label is negative.
In the second case, we first note that C (e) is even, since e points left or right.Assume that C (e) was positive and therefore at least 2.Then, let e be the first edge on C after e that points to a different direction.Such an edge exists, since otherwise C would be an essential cycle whose edges all point to the right, but they are not labeled with 0. This edge e lies on Q or is parallel to uz.Hence, the argument above implies that C (e ) ≤ 0. However, C (e ) differs from C (e) by at most 1, which requires C (e ) ≥ 1.Therefore, C (e) cannot be positive.
We conclude that all edges of C have a non-positive label.If all labels were 0, C would not be an increasing cycle by Proposition 1.Thus, there exists an edge on C with a negative label and C is an increasing cycle in Γ.But as Γ is valid, such a cycle does not exist, and therefore C does not exist either.Hence, Γ u e1 is valid.
Lemma 15.If u is a horizontal port, then Γ u e1 contains no increasing cycle.
Proof.Let f be the new rectangular face of Γ u e1 containing u, v 1 and z, and assume for the sake of contradiction that there is an increasing cycle C in Γ u e1 .This cycle must use either uz or zu.Similar to the proof of Lemma 14, we find an increasing cycle C in Γ, contradicting the validity of Γ. Applying Lemma 11 to C and f yields an essential cycle C without uz and zu that can be decomposed into a path P on f and a path Q ⊆ C \ f such that all edges of Q have non-positive labels.We show in the following that the edges of P also have non-positive labels.
If C contains uz, there are three possibilities for an edge e of P , which are illustrated in Figure 32: The edge e lies on the left side of f and points up, e is parallel to uz, or e = v 1 z.In the first case C (e) = C (uz) − 1 < 0 and in the second case C (e) = C (uz) ≤ 0. If e = v 1 z, C cannot contain zv 1 and therefore zw 1 ∈ C.Then, C (e) = C (zw 1 ) < 0. In all three cases the label of e is at most 0.
If C contains zu, the label of zu has to leave a remainder of 2 when it is divided by 4 since zu points to the left.As the label is also at most 0, we conclude C (zu) ≤ −2.The edges of P lie either on the left, top or right of f .Therefore, the label of any edge e on P differs by at most 1 from C (zu), and thus we get C (e) ≤ 0.
Summarizing the results above, we see that all edges on C are labeled with non-positive numbers.The case that all labels of C are equal to 0 can be excluded, since C would not be an increasing cycle by Proposition 1.Hence, C is an increasing cycle, which was already present in Γ, contradicting the validity of Γ. Lemma 16.If u is a horizontal port, then Γ u e k contains no decreasing cycle.
Proof.Let uz be the new edge inserted in Γ u e k .In Γ u e k , the face f is split in two parts.Let f be the face containing v k and f the one containing w k .Assume for the sake of contradiction that there is a decreasing cycle C in Γ u e k .Then, either uz or zu lies on C. By Lemma 11 there exists an essential cycle C that can be decomposed into a path P on f and Q = C ∩ C ; see Figure 33a.For all edges e ∈ E(Q), we have C (e) = C (e) ≥ 0 by Lemma 11.Since C is already present in Γ and Γ is valid, C cannot be decreasing.Moreover, since C and C intersect, C cannot be horizontal by Proposition 1.Therefore, C must contain an edge xy with C (xy) < 0, which hence has to lie on P .
Our goal is to show that there must be a candidate on f after y and in particular after the last candidate e k -a contradiction.The following claim gives a sufficient condition for the existence of such a candidate.Claim 1: If rot(f [u, yx]) ≤ 2, then there is a candidate on f [yx, u].To prove Claim 1, we determine for each edge e on f the value r(e) := rot(f [u, e]).By assumption, it is r(yx) ≤ 2. For the last edge e last on f [yx, u] it is r(e last ) = rot(f ) − rot(tuv) = 5, where t and v are the preceding and succeeding vertices of u on f , respectively.Here, we use that f is a regular face (i.e., rot(f ) = 4) and rot(tuv) = −1 since u is a port.
Note that for two consecutive edges e, e on the boundary of f , it is r(e ) ≤ r(e) + 1.Therefore, there exists an edge e that lies between yx and e last on the boundary of f that satisfies r(e) = 2. Hence, e is a candidate that lies after yx on the boundary of f .
To finish the proof of the lemma it hence suffices to show that rot(f [u, yx]) ≤ 2. As e k is a candidate, we have rot(f [u, zw k ]) = 2 and therefore Thus, it suffices to show rot(f [zw k , yx]) ≤ 0. We present a detailed argument for the case that C uses uz as illustrated in Figure 33.At the end of the proof, we briefly outline how the argument can be adapted if C uses zu.
If C uses uz, then P is directed such that f lies to the left of P .Thus, C lies in the interior of C. Let now ab be the last edge of Q, and let R be the path defined by C[b, uz] + f [zw k , y]; see Figure 33b    Lemma 17.Let P i be the maximal path that contains the vertex w i of the candidate edge e i = v i w i and that consists of only horizontal edges.If u is a horizontal port and Γ u ei contains a decreasing cycle and Γ u ei+1 contains an increasing cycle, then u is an endpoint of P i and adding the horizontal edge uz to the other endpoint z of P i yields a horizontal cycle.In particular, Γ + uz is valid.
Proof.Let z i be the new vertex inserted in Γ u ei and z i+1 the one in Γ u ei+1 .Since both uz i and uz i+1 point to the right, there is no augmentation of Γ containing both edges.We compare Γ u ei and Γ u ei+1 by the following construction (see also Figure 35), which models all important aspects of both representations: Starting from Γ we insert new vertices z i on e i and z i+1 on e i+1 .We connect u and z i by a path of length 2 that points to the right and denote its internal vertex by x.Furthermore, a path of length 2 from x via a new vertex y to z i+1 is added.The edge xy points down and yz i+1 to the right.In the resulting ortho-radial representation Γ the edge uz i in Γ u ei is modeled by the path uxz i .Similarly, the edge uz i+1 in Γ u ei+1 is modeled by the path uxyz i+1 in Γ.Take any decreasing cycle in Γ u ei .As Γ is valid, this cycle must contain either uz i or z i u.We obtain a cycle C 1 in Γ by replacing uz i with uxz i (or z i u with z i xu).Note that ux and xz i have the same label as uz i , and the labels of all other edges on the cycles stay the same by Lemma 12. Therefore, C 1 is a decreasing cycle.
Similarly, there exists an increasing cycle C 1 in Γ u ei+1 , which contains uz i+1 or z i+1 u.Replacing uz i+1 with uxyz i+1 (or z i+1 u with z i+1 yxu) we get a cycle C 2 in Γ.By Lemma 12 the labels of C 2 are non-positive outside of uxyz i+1 (or z i+1 yxu) and there is an edge with negative label.Consequently, the only edge of C 2 that may have a positive label is the edge e between x and y.Since C 1 and C 2 intersect, Lemma 10 implies that C 2 is not increasing.Thus, the label of e is positive.If e = yx, then C2 (e) ≥ 3 and its succeeding edge has a positive label as well.Hence, the cycle C 2 contains the edge xy and consequently the edge ux.
Using this construction we show that one endpoint of P i is u and the other is another vertex of f .To that end, we prove the following claims.Claim 1: The cycles C 1 and C 2 both contain the edge ux and it is C1 (ux) = C2 (ux) = 0. Claim 2: The vertices w i and v i+1 have a degree of at least 2. Further, C 1 contains w i and C 2 contains v i+1 .Claim 3: The edges of f [w i , v i+1 ] are part of P i .In particular, C 2 contains w i or C 1 contains v i+1 .Claim 4: The right endpoint of P i is u and the left endpoint z lies on f .Using these claims we prove the lemma as follows.Due to Claim 4 we can insert the horizontal edge uz into Γ obtaining a horizontal cycle P i + uz.The resulting ortho-radial representation is valid, because any strictly monotone cycle necessarily contains uz and hence shares a vertex with a horizontal cycle, contradicting Lemma 1.This finishes the proof.In the following we prove the claims.
Claim 1.Let H = C 1 + C 2 be the graph formed by the two cycles C 1 and C 2 and let f be its central face.Assume that the edge ux is not incident to f .As both C 1 and C 2 contain ux (or xu), the face f consists of edges of both C 1 and C 2 .In particular, there is an edge e of C 2 \ C 1 on f whose source v lies on C 1 ; see Figure 36.Let x 1 and x 2 be the succeeding vertices of v on C 1 and C 2 , respectively.As C 1 is a decreasing cycle, we have C1 (vx 1 ) ≥ 0. If C2 (vx 2 ) ≤ 0, then by Lemma 9 the edge e = vx 2 lies in the exterior of C 1 , which contradicts the choice of e.Hence, we have C2 (vx 2 ) > 0, which implies that e = xy.Further, the cyclic order of the vertex x implies that ux is the predecessor of xy on the central face, which contradicts the assumption that ux is not incident to f .Since C 2 contains ux, the central face f lies to the right of ux.Since C 1 is also directed such that f lies to the right of C 1 , it cannot contain xu, but it contains ux.By Lemma 8 we further obtain that Claim 2. We consider the setting in Γ; see Figure 35c.From Claim 1 we obtain C1 (xz i ) = 0. Consequently, since C 1 is a decreasing cycle and since rot(xz i w i ) = 1 and rot(xz i v i ) = −1, the cycle contains the edge z i w i but not the edge z i v i .In particular, this implies that w i has a degree of at least 2, as otherwise C 1 would not be simple.Similarly, from Claim 1 we obtain C1 (yz i+1 ) = 0. Consequently, since C 2 has only non-positive labels except on xy and since rot(xz i+1 v i+1 ) = −1 and rot(xz i+1 w i+1 ) = 1, the cycle contains the edge z i+1 v i+1 but not the edge z i+1 w i+1 .In particular, this implies that v i+1 has a degree of at least 2, as otherwise C 2 would not be simple.
Claim 3. Let e s be the direct successor of e i and let e p be the direct predecessor of e i+1 on the boundary of f .In order to show the claim, we do a case distinction on the rotations rot(e i , e s ) and rot(e p , e i+1 ).From Claim 2 it follows that rot(e i , e s ) ∈ {−1, 0, 1} and rot(e p , e i+1 ) ∈ {−1, 0, 1}.Further, it cannot be both rot(e i , e f ) = 1 and rot(e p , e i+1 ) = 1.Otherwise, since rot(f [u, e i ]) = 2 and rot(f [u, e i+1 ]) = 2, it would hold rot(f [u, e s ]) = 3 and rot(f [u, e p ]) = 1.In that case, there would be a further candidate edge e with rot(f [u, e]) = 2 between e i and e i+1 .Thus, we obtain rot(e i , e s ) ∈ {−1, 0} or rot(e p , e i+1 ) ∈ {−1, 0}, First, assume that rot(e i , e s ) = 0. We obtain e s = e i+1 and hence e p = e i .Otherwise, e s would be a candidate edge between e i and e i+1 .Consequently, f [w i , v i+1 ], which consist of the single vertex v = w i = v i+1 , trivially belongs to P i .Moreover, by Claim 1 the cycle C 2 then also contains w i and C 1 contains v i+1 .The very same argument can be applied for rot(e p , e i+1 ) = 0, as we also obtain e s = e i+1 and e p = e i .In particular, we obtain rot(e i , e s ) = 0 if and only if rot(e p , e i+1 ) = 0. Now, assume that rot(e i , e s ) = −1 or rot(e p , e i+1 ) = −1.We first consider the case that rot(e i , e s ) = −1; see Figure 37a.We observe that C 1 contains e s as it also contains the vertex w i by Claim 1.Let Q i be the maximal horizontal path on f that starts at w i .We observe that Q i is a prefix of P i , and the cycle C 1 shares at least e s with Q i .Since by Claim 1 the cycle C 1 has label 0 on ux, it also has label 0 on any of its edges that lie on Q i .In fact, this implies that C 1 completely contains the path Q i .Otherwise, it would contain an edge that does not belong Q i , but starts at an intermediate vertex of Q i .By the choice of Q i such an edge has a negative label since its preceding edge has label 0, which contradicts that C 1 is decreasing.For the same reason, the edge e that succeeds Q i on f has a negative label.Hence, the edge e is the candidate e i+1 .Consequently, C 1 contains v i+1 and f [w i , v i+1 ] = Q i , which shows Claim 3.For the case that rot(e l , e i+1 ) = −1 we use similar arguments; see Figure 37b.Let Q i+1 be the maximal horizontal path on f that starts at v i+1 when going along f counterclockwise.The first edge of Q i+1 is e p , which also belongs to C 2 .Further, C 2 has label 0 on any of its edges that belong to Q i+1 .Consequently, C 2 contains Q i+1 completely, as otherwise it would contain an edge that points downwards, contradicting that C 2 has only non-positive labels except for the edge xy.Hence, the edge of f that is incident with the endpoint of Q i+1 and does not belong to Q i+1 is the candidate edge e i , which concludes the proof.Claim 4. We first show that u is the right endpoint of P i .To that end, let H = C 1 + C 2 be the graph formed by the two cycles C 1 and C 2 and let f be its central face.From the proof of Claim 1 we know that ux is incident to the central face.Further, from Claim 2 and Claim 3 it follows that C 1 and C 2 have the vertex w i or the vertex v i+1 in common; see Figure 37a and Figure 37b, respectively.Let v = w i in the former case and let v = v i+1 in the latter case.
We first show that . Assume that this is not the case.Consider the maximal common prefix of C 1 [v, x] and C 2 [v, x], and let w be the endpoint of that prefix.As v is incident to f , this also applies to w.Further, by Lemma 9 the outgoing edge of w on C 2 lies in the exterior of C 1 .Let t be the first intersection of C 1 and C 2 on f after w.Then the edge to t on C 2 lies strictly in the exterior of C 1 contradicting Lemma 9.
Hence, we have x]; we denote that path by P .Since ux is incident to f , all edges of P are incident to f as well.Hence, by Corollary 2 all edges of P have label 0 on C 1 and C 2 and are therefore horizontal.As f [w i , v i+1 ] also belongs to P i , we conclude that u is the right endpoint of P i .
Finally, we argue that z belongs to the face f .As by Claim 3 f [w i , v i+1 ] belongs to P i , the vertex z belongs to a prefix P of P i that does not contain any edge of f [w i , v i+1 ] and ends either at w i or at v i+1 ; see Figure 38a and Figure 38b, respectively.If P is empty, w i or v i+1 is z, respectively, which shows the claim.So assume that P is not empty.Let vw be the last edge of P , i.e., depending on the considered case we either have w = w i or w = v i+1 .By the local ordering of the incident edges of w, the path P lies in the interior of f .Further, vw is incident to f on both sides, as otherwise the two other incident edges of w could not be incident to f as well.Hence, we obtain rot(f [u, wv]) = 3 and rot(f [u, vw]) = 0. Thus, the path f [wv, vw] of f consists only of horizontal edges, as otherwise there would be an edge e on that path with rot(f [u, e]) = 2, which contradicts the choice of e i and e i+1 .Altogether, the path f [wv, vw] is P + P , which proves that z belongs to f .

Proof of the Main Theorem
We are now ready to prove the characterization of drawable ortho-radial representations.Theorem 2. An ortho-radial representation is drawable if and only if it is valid.
Proof.If Γ is a valid ortho-radial representation, then using the rectangulation procedure of Section 7.1 we obtain a valid rectangular ortho-radial representation Γ that contains a subdivision of Γ.Then Γ has a drawing ∆ by Theorem 3, and a drawing ∆ of Γ is obtained from ∆ by removing edges that are in Γ but not in Γ, and by undoing subdivisions.It remains to show that the reference edge e of Γ is an outlying edge in ∆, which then implies that Γ is drawable.
Let C o be the essential cycle that is part of the outer face of Γ and let e o be an outermost horizontal edge of C o in ∆, i.e., an horizontal edge of C o with maximum distance to the center; see Figure 39a.If e o can be chosen as the reference edge e , then e is an outlying edge of ∆.Hence, assume that e o cannot be chosen as e .
Let C T be the essential cycle that forms the outer face of Γ .Further, let l be the ray that emanates from the center of ∆ and goes through the source vertex v of e o .Let p 1 , . . ., p k be the intersection points of l with ∆ from v on.We observe that p 1 = v and p k lies on C T .For each intersection point p i with 1 ≤ i ≤ k we insert a vertex v i at p i if there is no vertex so far.Further, we add vertical edges to ∆ such that the new drawing contains the path P = v 1 . . .v k .We denote the resulting drawing by ∆ ; see Figure 39b.
By the construction of the rectangulation the drawing ∆ further contains a path Q that connects a subdivision vertex u 1 on e with a vertex u 2 on C T .We observe that the cycle Since C has a left bend at both v 1 and u 1 it follows that C o [v 1 , u 1 ] has rotation 0. Consequently, e is an outlying edge in ∆.Altogether, we obtain that Γ is drawable.
Conversely, assume that Γ is drawable.Hence, Γ has a drawing ∆ in which the reference edge e of Γ is an outlying edge.By Lemma 5 we can assume without loss of generality that e lies on the outermost circle that is used by an essential cycle of ∆.By [23] the representation Γ satisfies Conditions 1 and 2 of Definition 1.To prove that Γ is valid, we show how to reduce the general case to the more restricted one, where all faces are rectangles.By Corollary 3 the existence of a drawing and the validity of the ortho-radial representation are equivalent.
Given the drawing ∆, we augment it such that all faces are rectangles.This rectangulation is similar to the one described in Section 7.1 but works with a drawing and not only with a representation.We first insert the missing parts of the innermost and outermost circle that are used by ∆ such that the outer and the central face are already rectangles.For each left turn on a face f at a vertex u, we then cast a ray from v in f in the direction in which the incoming edge of u points.This ray intersects another edge in ∆.Say the first intersection occurs at the point p.Either there already is a vertex z drawn at p or p lies on an edge.In the latter case, we insert a new vertex, which we call z, at p. We then insert the edge uz in G and update ∆ and Γ accordingly.
Repeating this step for all left turns, we obtain a drawing ∆ and an ortho-radial representation Γ of the augmented graph G ; see Figure 39c for an example of ∆ .As the labelings of essential cycles are unchanged by the addition of edges elsewhere in the graph, any increasing or decreasing cycle in Γ would also appear in Γ .But by Corollary 3 Γ is valid, and hence neither Γ nor Γ contain increasing or decreasing cycles.Thus, Γ is valid.
We remark that the proof of Theorem 2 is in fact constructive and it can easily be implemented in polynomial time, provided that we can check in polynomial time whether a given ortho-radial representation is valid.We develop such an algorithm with running time O(n 2 ) in Section 8.In Section 9 we show how compute a rectangulation of Γ in time O(n 2 ).

Validity Testing
In this section, we show how to check whether a given ortho-radial representation is valid in polynomial time, which yields the following statement.Theorem 3. Given an ortho-radial representation Γ, it can be determined in O(n 2 ) time whether Γ is valid.In the negative case a strictly monotone cycle can be computed in O(n 2 ) time.
The two conditions for ortho-radial representations are local and checking them can easily be done in linear time.Throughout this section, we therefore assume that we are given an instance I = (G, E, f c , f o ) with an ortho-radial representation Γ and a reference edge e .The condition for validity however references all essential cycles of which there may be exponentially many.We present an algorithm that checks whether Γ contains a strictly monotone cycle and computes such a cycle if one exists.The main difficulty is that the labels on a decreasing cycle C depend on a reference path P that runs from e to C and respects C.However, we know neither the path P nor the cycle C in advance, and choosing a specific cycle C may rule out certain paths P and vice versa.
We only describe how to search for decreasing cycles; increasing cycles can be found by searching for decreasing cycles in the mirrored representation by Lemma 7. A decreasing cycle C is outermost if it is not contained in the interior of any other decreasing cycle.Clearly, if Γ contains a decreasing cycle, then it also has an outermost one.We first show that in this case this cycle is uniquely determined.Lemma 18.If Γ contains a decreasing cycle, there is a unique outermost decreasing cycle.
Proof.Assume that Γ has two outermost decreasing cycles C 1 and C 2 , i.e., C 1 does not lie in the interior of C 2 and vice versa.Let C be the cycle bounding the outer face of the subgraph H = C 1 + C 2 that is formed by the two decreasing cycles.By construction, C 1 and C 2 lie in the interior of C, and we claim that C is a decreasing cycle contradicting that C 1 and C 2 are outermost.To that end, we show that C (e) = C1 (e) for any edge e that belongs to both C and C 1 , and C (e) = C2 (e) for any edge e that belongs to both C and C 2 .Hence, all edges of C have a non-negative label since C 1 and C 2 are decreasing.By Proposition 1 there is at least one label of C that is positive, and hence C is a decreasing cycle.It remains to show that C (e) = C1 (e) for any edge e that belongs to both C and C 1 ; the case that e belongs to both C and C 2 can be handled analogously.Let Γ H be the ortho-radial representation Γ restricted to H. We flip the cylinder to exchange the outer face with the central face and vice versa.More precisely, Lemma 6 implies that the reverse edge e of e lies on the central face of the flipped representation flip(Γ H ) of Γ H . Further, it proves that C (e) = C (e) and C1 (e) = C1 (e), where is the labeling in Γ H . Hence, by Corollary 2 we obtain C (e) = C1 (e).Flipping back the cylinder, again by Lemma 6 we obtain C (e) = C1 (e).
The core of our algorithm is an adapted left-first DFS.Given a directed edge e it determines the outermost decreasing cycle C in Γ such that C contains e in the given direction and e has the smallest label among all edges on C, if such a cycle exists.By running this test for each directed edge of G as the start edge, we find a decreasing cycle if one exists.
More precisely, the DFS visits each vertex at most once and it maintains for each visited vertex v a reference edge ref(v), the edge of the search tree via which v was visited.Whenever it has a choice which vertex to visit next, it picks the first outgoing edge in clockwise direction after the reference edge that leads to an unvisited vertex.In addition to that, we employ a filter that ignores certain outgoing edges during the search.To that end, we define for all outgoing edges e incident to a visited vertex v a search label ˜ (e) by setting ˜ (e) = ˜ (ref(v)) + rot(ref(v) + e) for each outgoing edge e of v.In our search we ignore edges with negative search labels.For a given directed edge vw in G we initialize the search by setting ref(w) = vw, ˜ (vw) = 0 and then start searching from w.
Let T denote the directed search tree with root w constructed by the DFS in this fashion.If T contains v, then this determines a candidate cycle C containing the edge vw.If C is a decreasing cycle, which we can easily check by determining a reference path, we report it.Otherwise, we show that there is no outermost decreasing cycle C such that vw lies on C and has the smallest label among all edges on C.
It is necessary to check that C is essential and decreasing.For example the cycle in Figure 40 is found by the search and though it is essential, it is non-decreasing.This is caused by the fact that the label of vw is actually −4 on this cycle but the search assumes it to be 0.  Hence, T contains a path Q from w to x that was found by the search before and Q does not completely lie on C.There is a prefix of Q (possibly of length 0) lying on C followed by a subpath not on C until the first vertex p of Q that again belongs to C; see Figure 41 Since C (vw) ≥ 0 and ˜ (yx) ≥ 0 (as yx was not filtered out), it follows that C (xy) ≥ rot(abc) + rot(dba) + rot(cbd) = 2 as this is the sum of clockwise rotations around a degree-3 vertex.Hence, C is decreasing and contains C in its interior, a contradiction.Since both embeddings of H lead to a contradiction, we obtain a contradiction to our initial assumption that the search fails to find C.The left-first DFS clearly runs in O(n) time.In order to guarantee that the search finds a decreasing cycle if one exists, we run it for each of the O(n) directed edges of G. Since some edge must have the lowest label on the outermost decreasing cycle, Lemma 19 guarantees that we eventually find a decreasing cycle if one exists.Increasing cycles can be found by searching for decreasing cycles in the mirror representation mirror(Γ) (Lemma 7).Altogether, this proves Theorem 3.

Efficient Rectangulation Procedure
Let G be a planar 4-graph with valid ortho-radial representation Γ.By Theorem 2 Γ is drawable.The proof of Theorem 2 is constructive and shows how to augment Γ to a valid rectangular ortho-radial representation Γ .Then a drawing ∆ of Γ can be computed by determining flows in two flow networks by Theorem 13.A drawing ∆ of Γ can be finally obtained by undoing augmentation steps.Hence, it remains to show how a valid ortho-radial representation can be rectangulated efficiently.
To follow the construction of the proof of Theorem 2, one needs to determine efficiently whether an augmentation yields a valid ortho-radial representation Γ u vw .We call such an augmentation a valid augmentation.Since each valid augmentation reduces the number of concave angles, we obtain a rectangulation after O(n) valid augmentations.Moreover, there are O(n) candidates for each augmentation, each of which can be tested for validity (and increasing/decreasing cycles can be detected) in O(n 2 ) time by Theorem 3. Thus, the rectangulation algorithm can be implemented to run in O(n 4 ) time.
In the remainder of this section we present an improvement to O(n 2 ) time, which is achieved in three steps.First, we show that, due to the nature of augmentations, each validity test can be done in O(n) time.This reduces the running time of the augmentation procedure to O(n 3 ); see Section 9.1.Second, we show how to find a valid augmentation for a given port u using only O(log n) validity tests, thus improving the running time to O(n 2 log n); see Section 9.2.Finally, we design an algorithm that can be used to post-process a valid augmentation and which reduces the number of validity tests to O(n) and the running time to O(n 2 ) in total; see Section 9.3.Altogether, this proves our third main result.Theorem 4. Given a valid ortho-radial representation, a corresponding drawing can be constructed in O(n 2 ) time.

1st Improvement -Faster Validity Test
The general test for strictly monotone cycles performs one left-first DFS per edge and runs in O(n 2 ) time.However, we can exploit the special structure of the augmentation to reduce the running time to O(n).For the proof we restrict ourselves to the case that the inserted edge uz points to the right.The case that it points left can be handled by flipping the representation using Lemma 6.
The key result is that in any decreasing cycle of an augmentation the new edge uz has the minimum label.Thus, performing only one left-first DFS starting at uz is sufficient.For increasing cycles the arguments do not hold, but in a second step we show that the test for increasing cycles can be replaced by a simple test for horizontal paths.
Recall that the augmentations Γ u vw that are tested during the rectangulation are built by adding one edge uz to a valid representation Γ.Hence, any strictly monotone cycle in Γ u vw contains the edge uz.We first show that the new edge uz has label 0 on any decreasing cycle in the augmentation Γ u vw if vw is the first candidate.We extend this result afterwards to augmentations to all candidates.Since the label of edges on decreasing cycles is non-negative, this implies in particular that the label of uz is minimum, which is sufficient for the left-first DFS to succeed (see Lemma 19).While the same statement does not generally hold for all candidates, it does hold if the first candidate creates a decreasing cycle.Lemma 21.Let Γ be a valid ortho-radial representation and let u be a horizontal port on f with first candidate vw.Further, let v w be another candidate and denote the edge inserted in Γ u v w by uz .If Γ u vw contains a decreasing cycle, any decreasing cycle C in Γ u v w uses uz in this direction and C (uz ) = 0.
Proof.In order to simulate the simultaneous insertion of two new edges to both vw and v w we use the structure from the proof of Lemma 17; see Figure 44.We denote the resulting augmented representation by Γ.There is a one-to-one correspondence between decreasing cycles in Γ u vw and decreasing cycles in Γ containing uxz.Let C be a decreasing cycle in Γ containing uxz.By Lemma 20 the cycle C contains uxz in this direction, and we have C (ux) = 0.
Similarly, for any decreasing cycle in Γ u v w there is a cycle in Γ where uz (z u) is replaced by the path uxyz (z yxu).Let C be the cycle in Γ that corresponds to the decreasing cycle C in Γ u v w .Suppose for now that C uses uz in this direction, which means that C uses ux.In particular, since Let f be the central face of H = C + C .We note that f is a decreasing cycle by Lemma 8 and Proposition 1.Since Γ is valid, f is not exclusively formed by edges of G. Thus, by the construction of H, the path uxyz lies on f .Lemma 8 therefore implies that C (ux) = C (ux) = 0, where the last equality follows from Lemma 20.
Above we assumed that C uses uz in this direction.This is in fact the only possibility.Assume for the sake of contradiction that C contains z u and hence xu ∈ C .As above we can argue that the central face f of C + C is not exclusively formed by edges of G and that the path z yxz lies on f .By Lemma 8 we have C (yx) = C (xz)−rot(yxz) = −1.Hence, we obtain C (z u) = C (xu) = C (yx)+rot(yxu) = −2, which contradicts that C is a decreasing cycle.
Altogether, we can efficiently test which of the candidates e 1 , . . ., e k produce decreasing cycles as follows.By Lemma 20, if the first candidate is not valid, then Γ u e1 has a decreasing cycle that contains the new edge uz with label 0, which is hence the minimum label for all edges on the cycle.This can be tested in O(n) time by Lemma 19.Fact 2 of Proposition 2 guarantees that we either find a valid augmentation or a decreasing cycle.In the former case we are done, in the second case Lemma 21 allows us to similarly restrict the labels of uz to 0 for the remaining candidate edges, thus allowing us to detect decreasing cycles in Γ u ei in O(n) time for i = 2, . . ., k.It is tempting to use the mirror symmetry (Lemma 7) to exchange increasing and decreasing cycles to deal with increasing cycles in an analogous fashion.However, this fails as mirroring invalidates the property that u is followed by two right turns in clockwise direction.For example, in Figure 45 inserting the edge to the last candidate introduces an increasing cycle C with C (uz) = −4.We therefore give a direct algorithm for detecting increasing cycles in this case.
Let e i = v i w i and e i+1 = v i+1 w i+1 be two consecutive candidates for u such that Γ u ei contains a decreasing cycle but Γ u ei+1 does not.If Γ u ei+1 contains an increasing cycle, then by Fact 3 of Proposition 2 the vertices w i , v i+1 and u lie on a horizontal path that starts at a vertex z incident to f and ends at u.The presence of such a horizontal path P can clearly be checked in linear time, thus allowing us to also detect increasing cycles provided that the previous candidate produced a decreasing cycle.If P exists, we insert the edge uz.By Proposition 1 this does not produce strictly monotone cycles.Otherwise, if P does not exist, the augmentation Γ u ei+1 is valid.In both cases we have resolved the horizontal port u successfully.
Summarizing, the overall algorithm for augmenting from a horizontal port u now works as follows.By exploiting Lemmas 20 and 21, we test the candidates in the order as they appear on f until we find the first candidate e for which Γ u e does not contain a decreasing cycle.Using Fact 3 of Proposition 2 we either find that Γ u e is valid, or we find a horizontal path as described above.In both cases this allows us to determine an edge whose insertion does not introduce a strictly monotone cycle.Since in each test for a decreasing cycle the edge uz can be restricted to have label 0, each of the tests takes linear time.This improves the running time of the rectangulation algorithm to O(n 3 ).

2nd Improvement -Fewer Validity Tests
Instead of linearly searching for a suitable candidate for u, we can employ a binary search on the candidates, which reduces the number of validity tests for u from linear to logarithmic.To do this efficiently, we first compute the list of all candidates e 1 , . . ., e k for u in time linear in the size of f .Next, we test if the augmentation Γ u e1 is valid.If it is, we are done.Otherwise, we start the binary search on the list e 1 , . . ., e k , where k is the number of candidates for u.The search maintains a sublist e i , . . ., e j of consecutive candidates such that Γ u ei contains a decreasing cycle and Γ u ej does not.Note that this invariant holds in the beginning, because we explicitly test for a decreasing cycle in Γ u e1 and there is no decreasing cycle in Γ u e k by Fact 2 of Proposition 2. If the list consists of only two consecutive candidates, i.e., j = i+1, we stop.Otherwise, we set m = (i+j)/2 and test if Γ u em contains a decreasing cycle.If it does, we recurse on e m , . . ., e j and otherwise on e i , . . ., e m .As the invariant is preserved, we end up with two consecutive candidates e i and e i+1 such that Γ u ei contains a decreasing cycle and Γ u ei+1 does not.In this situation Fact 3 of Proposition 2 guarantees that we find a valid augmentation.Clearly this only requires O(log n) validity tests in total.Further, as argued in the previous subsection each of these tests can be performed in linear time.Altogether, we obtain the following lemma.
Lemma 22.Using binary search we find a valid augmentation for u in O(n log n) time.
Since there are O(n) ports to remove, we obtain that any planar 4-graph with valid ortho-radial representation can be rectangulated in O(n 2 log n) time.
Theorem 5. Given a valid ortho-radial representation Γ, a corresponding rectangulation can be computed in O(n 2 log n) time.

3rd Improvement -Linear Number of Validity Tests
In this section we describe an improvement of our algorithm that reduces the total number of validity tests to O(n) such that the running time of our algorithm becomes O(n 2 ).The improvement adapts the augmentation step for horizontal ports of the rectangulation procedure.Let u be a horizontal port of a face f and let e 1 , . . ., e k be its candidate edges.The adapted augmentation step resolves u in two steps.Step 1.We do a linear scan on e 1 , . . ., e k to search for the first candidate e m of u that gives rise to a valid augmentation with an additional edge uz.Recall that z either subdivides e m or uz completes a horizontal cycle that contains the source of e m .We note that we apply m validity tests in this step.
In case that m < 4, the augmentation step is stopped.Otherwise we continue with the following step.
Step 2. In the following let Γ 0 be the valid ortho-radial representation that we obtain after Step 1.We observe that the inserted edge uz splits the face f into two smaller faces.In the following we describe the three steps in greater detail.
Step 2.1.We adapt Γ 0 as follows.We introduce a path B = b 1 . . .b 5 in f that connects a subdivision vertex b 1 on uz with a subdivision vertex on e m−1 ; see Figure 46.The edge b 1 b 2 points upwards, the edge b 3 b 4 points downwards, and the other two edges point to the right.The face that lies to the left of B is the face f we seek to rectangulate.Similarly, we introduce a path T = t 1 . . .t 5 in f that connects a subdivision vertex t 1 on ub 1 with a subdivision vertex on e 1 .The edge t 1 t 2 points upwards, the edge t 3 t 4 points downwards, and the other two edges point to the right.Finally, we subdivide the edge ut 1 by two additional vertices.Altogether, the edge uz has been replaced by a path R = r 1 . . .r 6 with r 1 = u, r 4 = t 1 , r 5 = b 1 and r 6 = z.
As we have obtained the edges of R by subdividing uz, they all point to the right.In the case that uz does not lie on a horizontal cycle, we orient r 2 r 3 such that it points downwards.We denote the resulting ortho-radial representation by Γ 1 .Further, let f 1 be the face that lies to the right of T , and let f 2 be the face that lies to the left of T .
Step 2.2.We iteratively resolve the ports in f 1 until the face is rectangulated.For each port u of f 1 we augment the ortho-radial representation as follows.If u is a vertical port, we augment with respect to the first candidate edge and if u is a horizontal port we augment with respect to the last candidate edge of u .The procedure stops when f 1 is completely rectangulated.We denote the resulting ortho-radial representation by Γ 2 .We emphasize that this step does not execute any validity test.
Step 2.3.Starting with Γ 2 , we rectangulate the face f 2 , which has a constant number of ports, by iteratively applying the original augmentation step.We denote the resulting ortho-radial representation by Γ 3 .In the following we show that the modified rectangulation procedure runs in O(n 2 ) time and yields a valid ortho-radial representation.
Since the proof is rather technical, we defer it to Section 23.In the following we argue the running time.To that end, we first prove that the output rectangulation has linear size.
Lemma 24.The rectangulated ortho-radial representation produced by the modified rectangulation procedure has size O(n).
Proof.For the proof we define the potential function Φ = 3 • horizontal corners of Γ + vertical corners of Γ, where a horizontal (vertical) corner is a concave corner that becomes a horizontal (vertical) port of a face during the rectangulation procedure.At the beginning of the rectangulation procedure it holds Φ ≤ 4n, because each vertex with degree greater than 1 can be either a horizontal or a vertical corner, but not both.Further, each vertex with degree 1 is both a horizontal and vertical corner.We show that for each augmentation step of the rectangulation procedure the potential Φ decreases by some value ∆Φ ≥ 1 and that the number ∆V of inserted vertices is proportional to ∆Φ.Since the rectangulation procedure terminates with Φ = 0, Lemma 24 follows.
In case that the augmentation step handles a vertical port, this vertical corner is resolved but no new corner is created.Hence, Φ decreases by ∆Φ = 1.Moreover, ∆V = 1.For the case that the augmentation step handles a horizontal port, we distinguish two sub-cases.If m < 4, this horizontal corner is resolved but no new corner is created.Hence, Φ decreases by ∆Φ = 3.Moreover, ∆V ≤ 1 (in case that the augmentation step closes a horizontal cycle we have ∆V = 0).Now consider the case that m ≥ 4. Let k 1 and k 2 be the number of the horizontal and vertical corners, respectively, that are resolved during the rectangulation of f 1 and f 2 in Step 2.2 and Step 2.3, excluding those that lie on R, T and B.
Due to the insertion of the vertices r 3 and b 4 the potential increases by at most 2. Further, by resolving the horizontal corner u the potential decreases by 3. Further, rectangulating f 1 and f 2 decreases the potential by 3k 1 + k 2 .Altogether, we obtain ∆Φ ≥ Proof.We now show that by replacing the original augmentation step with this adaption, the number of validity tests is linear and the rectangulation procedure runs in O(n 2 ) time.We use a charging argument that assigns to each vertex and to each edge of the output rectangulation a constant number of the validity tests that have been applied during the rectangulation procedure.Further, we distribute the total running time such that running time linear in the output size is assigned to each vertex and each edge.Hence, by Lemma 24 the rectangulation procedure applies O(n) validity tests and runs in O(n 2 ) time.
Let u be a port that is considered in a rectangulation step.If u is a vertical port, we determine its first candidate edge in O(n) time, which we charge on u.Further, we do not apply a validity test.
If u is a horizontal port, we determine its candidate edges in O(n) time, which we charge on u.Further, we apply m validity tests in Step 1.If m < 4, only a constant number of validity tests is applied, which we charge on u.Otherwise, we charge the validity tests of e 1 , e m−1 and e m on u.We observe that after the augmentation step, the horizontal port u is resolved and no further validity tests can be charged on u.Further, we charge the validity test of e i with 2 ≤ i ≤ m − 2 on e i .Hence, since by construction the candidates e 2 , . . ., e m−2 belong to rectangles after the augmentation step, each edge can only be charged twice (once from each side).
Step 2.1 has constant running time and applies no validity tests.We charge the running time on u.Step 2.2 requires no validity tests and resolves each concave corner v on f 1 in O(n) time, which we charge on v. Afterwards, the face f 1 is rectangulated and v cannot be charged again.In Step 2.3 we need O(n) time for each concave corner v to identify the candidate edges, which we charge on v. Further, when applying a validity test in this step, we charge it on the corresponding candidate edge.As f 2 has only a constant number of concave corners, each edge of f 2 is charged with at most a constant number of validity tests.Further, since f 2 is rectangulated afterwards its edges cannot be charged again (from the side of f 2 ).
Hence, over all rectangulation steps we obtain O(n) validity tests and running time O(n 2 ).Altogether, we obtain that any planar 4-graph with valid ortho-radial representation can be rectangulated in O(n 2 ) time.Using Corollary 3 this further implies that a corresponding bend-free ortho-radial drawing can be computed in O(n 2 ) time.Theorem 6.Given a valid ortho-radial representation Γ, a corresponding rectangulation can be computed in O(n 2 ) time.

Proof of Lemma 23
We prove Lemma 23 by showing that each rectangulation step yields a valid ortho-radial representation.By Proposition 2 Step 1 yields a valid ortho-radial representation Γ 0 .If Step 2 is not considered, Γ 0 is the output of the rectangulation step.So assume that Step 2 is executed.We use the same notation as in the description of the algorithm.In particular, Step 2.1, Step 2.2 and Step 2.3 produce the ortho-radial representations Γ 1 , Γ 2 and Γ 3 from the ortho-radial representation of the preceding step.In the following we consider the sub-steps of Step 2 separately and show that Γ 1 , Γ 2 and Γ 3 are valid.
Correctness of Step 2.1.In order to show the correctness of the first step we successively add the paths R, T and B to Γ 0 and prove the validity of each created ortho-radial representation.To that end, let Next, we prove that Γ T and Γ B are valid.To that end, we introduce the following definition.A cascading cycle is a non-monotone essential cycle that can be partitioned into two paths P and Q such that the labels on P are −1 and the labels on Q are non-negative.We further require that the edges incident to the internal vertices of P either all lie in the interior of C or they all lie in the exterior of C. In the first case we call C an outer cascading cycle and in the second case an inner cascading cycle.The path P is the negative path of the cycle.We first prove the following two general lemmata on cascading cycles.The first lemma shows that a cascading cycle cannot be crossed by an increasing cycle.Lemma 27.Let C 1 be a cascading cycle and C 2 an increasing cycle.Either C 1 lies in the interior of C 2 or vice versa.
Proof.We assume without loss of generality that C is an outer cascading cycle.The case that it is an inner cascading cycle can be handled by flipping the cylinder, which exchanges the exterior and interior of essential cycles but keeps the labels.
Let g be the central face of the subgraph formed by the cycles C 1 and C 2 .Assume that g is neither C 1 nor C 2 .Hence, there exist (not necessarily distinct) vertices v and v on g such that g[v, v ] belongs to both C 1 and C 2 , the edge that precedes v on g does not belong to C 2 , and the edge that succeeds v on g does not belong to C 1 ; see Figure 47.
For i = 1, 2 let u i and w i be the vertices of C i that precede and succeed v, respectively.Further, let u i and w i be the vertices of C i that precede and succeed v , respectively.Since u 2 v strictly lies in the exterior of g, we obtain rot(u 2 vw 1 ) < rot(u 1 vw 1 ).Hence, Lemma 8 gives C1 (u 1 v) < C2 (u 2 v).Further, by definition of C 1 and C 2 it holds C1 (u 1 v) ≥ −1 and C2 (u 2 v) ≤ 0. Thus, we obtain C1 (u 1 v) = −1 and C2 (u 2 v) = 0. Since C 1 is an outer cascading cycle this also implies that v is the endpoint of the negative path P of C 1 .
We use the next lemma to show that the introduced paths T and B do not impact the validity of the ortho-radial representation.
Lemma 28.Let C be a cascading cycle in an ortho-radial representation Γ and let P be a sub-path of C such that 1. the intermediate vertices of P have degree 2 in the graph, 2. P contains the negative path of C, and 3. P contains an edge e with label C (e) > 0. If Γ without P is valid, then Γ is valid.
Proof.First assume that Γ contains a decreasing cycle C , which implies that P is contained in C (in either direction).Let H = C + C be the common sub-graph of C and C , and let g be the central face of H.We distinguish the following two cases.
Case 1, P is part of g.First assume that C and C use P in opposite directions.Since the central face locally lies to the right of any essential cycle, this implies that the central face lies to the left and right of P .Consequently, the central face is not simple, which contradicts that H is biconnected.So assume that C and C use P in the same direction.By Proposition 8 it holds C (e ) = C (e ) = −1 for any edge e on the negative path of C. Thus, C is not a decreasing cycle.
Case 2, P is not part of g.Let C g be the essential cycle formed by g.Since C g consists of edges of C and C, the corresponding labels of C and C also apply on C g by Proposition 8. Further, since C is a decreasing cycle and P is the only part of C that has a negative label on C, the cycle C g only has non-negative labels.Since P does not lie on C g but on C, C has at least one vertex with C g in common.By Proposition 1 the cycle C g is not horizontal.Altogether, C g is a decreasing cycle that also exists in Γ − P , which contradicts its validity.
Finally, assume that Γ contains an increasing cycle C , which implies that P is contained in C in either direction.Lemma 27 implies that the central face g of the subgraph formed by the two essential cycles C and C is either C or C .In particular, P or P lies on g.Hence, both C and C use P in the same direction as otherwise g would lie in the exterior of one of these cycles.But this would contradict that they are essential.Hence, they both contain P in this direction and P also lies on g.By Proposition 8 both cycles have the same labels on P .Since P contains the edge e with C (e) > 0 and thus C (e) > 0, the cycle C is not an increasing cycle.
We construct a cascading cycle C T in Γ T as follows.Let C be the outermost decreasing cycle in Γ u e1 and let ut 5 be the newly inserted edge in Γ u e1 .We replace ut 5 by R[u, r 4 ] + T obtaining the cycle C T , which is well-defined because C uses ut 5 in that direction by Lemma 20.
Lemma 29.C T is a cascading cycle with negative path t 1 t 2 no matter whether r 2 r 3 points to the right or downwards.
Proof.Let C be the outermost decreasing cycle in Γ u e1 .By Lemma 12 the labels of C and C T coincide on C[t 5 , u](= C T [t 5 , u]).Hence, since C is a decreasing cycle all labels on C T [t 5 , u] are non-negative.Further, by Lemma 20 the edge ut 5 has label 0 on C. If r 2 r 3 points to the right the sequence of the labels on R[u, r 4 ] + T is therefore 0, 0, 0, −1, 0, 1, 0. If r 2 r 3 points downwards the sequence is 0, 1, 0, −1, 0, 1, 0. In both cases C T is a cascading cycle.
Applying Lemma 27 to the situation of C T proves that Γ T does not contain any increasing cycles.Together with Lemma 28 this yields that Γ T is valid.We analogously prove the validity of Γ B as for Γ T .Let C be the outermost decreasing cycle in Γ u em−1 and let ub 5 be the newly inserted edge in Γ u em−1 .We replace ub 5 by R[u, r 5 ] + B obtaining the cycle C B , which is well-defined because C uses ub 5 in that direction by Lemma 20. ] + B is therefore 0, 0, 0, 0, −1, 0, 1, 0. If r 2 r 3 points downwards the sequence is 0, 1, 0, 0, −1, 0, 1, 0. In both cases C B is a cascading cycle.
Applying Lemma 27 to the situation of C T proves that Γ B does not contain any increasing cycles.Together with Lemma 28 this yields that Γ B is valid.The following lemma summarizes the result.
Correctness of Step 2.2.By Lemma 31 the ortho-radial representation Γ 1 of Step 1 is valid.We now prove that Γ 2 is a valid ortho-radial representation.We use the same notation as in the description of the algorithm.
Starting with the valid ortho-radial representation Γ 1 , the procedure iteratively resolves ports in the face f 1 , which locally lies to the right of T .In case that we resolve a vertical port u in a representation Π, the resulting ortho-radial representation Π u Altogether, applying the lemma inductively on the inserted edges, we obtain that Γ 2 is valid.
Correctness of Step 2.3.As we only apply the first phase of the augmentation step on f 2 , the resulting ortho-radial representation Γ 3 is also valid due to the correctness of the first phase.This concludes the correctness proof of the second phase.

Conclusion
In this paper we considered orthogonal drawings of graphs on cylinders.Our main result is a characterization of the plane 4-graphs that can be drawn bend-free on a cylinder in terms of a combinatorial description of such drawings.These ortho-radial representations determine all angles in the drawing without fixing any lengths, and thus are a natural extension of Tamassia's orthogonal representations.However, compared to those, the proof that every valid ortho-radial representation has a corresponding drawing is significantly more involved.The reason for this is the more global nature of the additional property required to deal with the cyclic dimension of the cylinder.Our ortho-radial representations establish the existence of an ortho-radial TSM framework in the sense that they are a combinatiorial description of the graph serving as interface between the "Shape" and "Metrics" step.
For rectangular plane 4-graphs, we gave an algorithm producing a drawing from a valid ortho-radial representation.Our proof reducing the drawing of general plane 4-graphs with a valid ortho-radial representation to the case of rectangular plane 4-graphs is constructive.We have described an algorithm that checks the validity of an ortho-radial representation in O(n 2 ) time.In the positive case, we can also produce a corresponding drawing in the same running time, whereas in the negative case we find a strictly monotone cycle.These algorithms correspond to the "Metrics" step in a TSM framework for ortho-radial drawings.
While bend-minimal orthogonal representations can be created in polynomial time, we showed that creating valid bend-minimal ortho-radial representations is N P-hard.This directly rises the research question of developing approximation algorithms and fixed parameter tractable algorithms for such representations.Further, powerful and fast heuristics may help to carry over the framework into practice, e.g., for creating ortho-radial drawings of large transportation networks.
Finally, we want to emphasize that we deem the generalization of ortho-radial drawings from the cylinder to the torus or even more complex surfaces an interesting and promising research question.It is far from clear how to transfer our results to the torus as its two cyclic dimensions lead to different types of essential cycles.

Figure 1 :
Figure 1: An ortho-radial drawing of a graph on a grid (a) and its equivalent interpretation as an orthogonal drawing on a cylinder (b).

Figure 4 :
Figure 4: A combinatorial embedding (left) and a ortho-radial drawing (right) of a graph.For each combinatorial angle a rotation is given.

Figure 9 :
Figure 9: Illustration for proof of Lemma 2. Cycle C with two additional edges ab and cd.If a lies in the exterior of C then r a = +2 and otherwise r a = −2.Similarly, if d lies in the exterior of C then r d = +2 and r d = −2 otherwise.

Figure 12 : 1 .
Figure 12: Illustration for proof of Lemma 3. The path R i (gray) consists of a prefix of the path P (orange) and a suffix of the path Q (blue).

Figure 13 :
Figure 13: The outer face of an ortho-radial drawing.All outlying edges are marked blue.

Figure 14 :
Figure 14: Illustration of proof for Lemma 4. The outermost cycle C contains the essential cycle C.There is always a reference path from s on C to t on C respecting C. (a) The cycles C and C have vertices in common.(b) The cycles C and C are disjoint.

Figure 15 :
Figure 15: Illustration of proof for Lemma 5.The outermost cycle C o contains the essential cycle C.Further, there is a reference path P from e to an edge e on C. (a) The path P contains the edge e .(b) The path P does not contain the edge e .
(a) Flipping the cylinder.
The ortho-radial drawing before and after flipping.

Figure 16 :
Figure 16: Illustration of flipping the cylinder.

Lemma 7 (Figure 18 :
Figure 18: Illustration of proof for Lemma 6.(a) The path P is a reference path from e to e in Γ respecting C and the path Q is a reference path from e to e in flip(Γ) respecting C. (b) The edge e is subdivided by a vertex x.Afterwards, G is cut at C such that the interior and the exterior get their own copies of C. The copies are connected by an edge between x and x .

Observation 2 .
Let C be an essential cycle.Then, for any two edges e and e on C, it holds that rot(C[e, e ]) = C (e ) − C (e).

Corollary 2 .
Let C 1 and C 2 be two essential cycles, let H = C 1 + C 2 be the subgraph of G formed by C 1 and C 2 , and let e be an edge that lies on both C 1 and C 2 and that is incident to the central face of H. Then C1 (e) = C2 (e).

Figure 21 :
Figure 21: Illustration of proof for Proposition 1.All edges of C 2 are labeled with 0. In this situation there are edges on C 1 with labels −1 and 1.Hence, C 2 is neither increasing nor decreasing.

Figure 22 : 1 xFigure 23 :
Figure 22: Possible intersection of two cycles C and C at v. (a) The labels of the incoming edges satisfy C1 (u 1 v) ≥ 0 and C2 (u 2 v) ≤ 0. The edges vw 1 and vw 2 could be exchanged.(b) The labels of the outgoing edges satisfy C1 (vw 1 ) ≥ 0 and C2 (vw 2 ) ≤ 0. The edges u 1 v and u 2 v could be exchanged.C 2

Lemma 11 .Figure 24 :Figure 25 :
Figure 24: The edge e cannot lie on both the outer and the central face.In both cases C can be subdivided in two paths P and Q on C and f , respectively.Here, these paths are separated by the vertices a and b.(a) The cycle bounding the outer face is C .The edge e does not lie on the outer face, and hence the cycle bounding this face is defined as C .(b) The cycle bounding the central face is C .
(i) P or P lies on f , (ii) Q = C ∩ C , and (iii) C (e) = C (e) for all edges e on Q.

Figure 26 :
Figure 26: Flow networks N ver and N hor (blue arcs) for an example graph G (black edges).

Figure 27 :
Figure 27: The path P from s to v-constructed backwards by going only up or left-does not intersect the interior of C. The rotations of the edges on P relative to e are 0 or 1.

Figure 28 :
Figure 28: A set S of nodes in a graph G such that N ver [S] has no outgoing but two incoming arcs a and a .The set of faces S corresponding to the nodes in S are shaded with blue.The outermost boundary of S forms an increasing cycle C.The edges on this cycle with label −1 are exactly those that are crossed by a or a .All other edges on C are labeled with 0. Note that the edge on C at the bottom is curved because G does not admit an ortho-radial drawing.

Figure 29 :
Figure 29: Examples of augmentations.(a) The candidate edges of u are e 1 , e 2 and e 3 .(b) Insertion of vertical edge uz.(c) Γ u vw contains a decreasing cycle.(d) Γ u vw is valid.(e) Insertion of horizontal edge uw i because there is a horizontal path from w i to u.

Observation 3 .Figure 30 :
Figure 30: The outer and the central face are rectangulated by adding cycles of length 3. The cycle C is connected to an arbitrary edge xy that has label 0 and C is connected to a new vertex on the old reference edge rs.The edge uv is selected as the new reference edge.

Figure 31 :
Figure31: Illustration of proof for Lemma 14.In this illustration it is assumed that inserting the edge uz into a valid ortho-radial representation creates an increasing cycle C that uses uz.However, then there is cycle C not using uz that is also increasing.

Figure 32 :
Figure 32: The increasing cycle C contains uz.There are three possibilities for edges on C that lie not on C: They lie on the left side of f (like e 1 ), on the top (like e 2 ), or on the right side formed by only the edge vz.

Figure 33 :
Figure 33: The situation in the proof of Lemma 16.The cycle C is decreasing and it is assumed that C (xy) < 0. (a) The decomposition of C into P and Q.(b) The reference paths R and C [b, x] from ab to xy.

Figure 34 :
Figure 34: Three possibilities how the path between w and v can look like: a w = v , b all edges point right, and c all edges point left.In the first two cases the edge uw is inserted and in (c) uv is added.

Figure 35 :
Figure 35: Illustration of proof for Lemma 17.(a) Γ u ei is obtained by inserting the edge uz i into Γ.(b) Γ u ei+1 is obtained by inserting the edge uz i+1 into Γ.(c) Γ is obtained by combining Γ u ei and Γ u ei+1 .

Figure 36 :
Figure 36: Illustration of proof for Claim 1 of Lemma 17.

Lemma 19 .
Assume that Γ contains a decreasing cycle.Let C be the outermost decreasing cycle of Γ and let vw be an edge on C with the minimum label, i.e., C (vw) ≤ C (e) for all edges e of C. Then the left-first DFS from vw finds C. Proof.Assume for the sake of contradiction that the search does not find C. Let T be the tree formed by the edges visited by the search.Since the search does not find C by assumption, a part of C[w, v] does not belong to T .Let xy be the first edge on C[w, v] that is not visited, i.e., C[w, x] is a part of T but xy ∈ T .There are two possible reasons for this.Either ˜ (xy) < 0 or y has already been visited before via another path Q from w with Q = C[w, y].The edge vw lies on the outer face of H.The edge vw does not lie on the outer face of H.

Figure 42 :
Figure 42: The two possible embeddings of the subgraph formed by the decreasing cycle C and the path P , which was found by the search.
. We set P = Q[w, p] and denote the vertex where P leaves C by b.By construction the edge vw lies on C[p, b].The subgraph H = P + C that is formed by the decreasing cycle C and the path P consists of the three internally vertex-disjoint paths P [b, p], C[b, p] and C[b, p] between b and p.Since edges that are further left are preferred during the search, the clockwise order of these paths around b and p is fixed as in Figure 41.In H there are three faces, bounded by C, C[b, p] + P [p, b] and P [b, p] + C[p, b], respectively.Since C is an essential cycle and it bounds a face in H, it bounds the central face and one of the two other faces is the outer face.These two possibilities are shown in Figure 42.We denote the cycle bounding the outer face but in which the edges are directed such that the outer face lies locally to the left by C .That is, the boundary of the outer face is C .We distinguish cases based on which of the two possible cycles constitutes C .If C = C[b, p] + P [p, b] forms the outer face of H, vw lies on C as illustrated in Figure 42a and we show that C is a decreasing cycle, which contradicts the assumption that C is the outermost decreasing cycle.Since P is simple and lies in the exterior of C, the path P is contained in C , which means C [w, p] = P .The other part of C is formed by C[p, w].Since C forms the central face of H, the labels of the edges on C[p, w] are the same for C and C by Proposition 8.In particular, C (vw) = C (vw) and all the labels of edges on C[p, w] are non-negative because C is decreasing.The label of any edge e on both C and P is C (e) = C (vw) + rot(vw + P [w, e]) = C (vw) + ˜ (e) ≥ 0. Thus, the labeling of C is non-negative.Further, not all labels of C are 0 since otherwise C would not be a decreasing cycle by Proposition 1.Hence, C is decreasing and contains C in its interior, a contradiction.If C = C[p, b]+P [b, p], the edge vw does not lie on C ; see Figure 42b.We show that C is a decreasing cycle containing C in its interior, again contradicting the choice of C. As above, Proposition 8 implies that the common edges of C and C have the same labels on both cycles.It remains to show that all edges xy on P [p, b] have non-negative labels.To establish this we use paths to the edge that follows b on C.This edge bc has the same label on both cycles and thus provides a handle on C (xy).We make use of the following equations, which follow immediately from the definition of the (search) labels.C (bc) = C (xy) + rot(P [xy, db]) + rot(dbc) = C (xy) − rot(P [bd, yx]) − rot(cbd) C (bc) = C (vw) + rot(C[vw, ab]) + rot(abc) ˜ (yx) = rot(C[vw, ab]) + rot(abd) + rot(P [bd, yx]) Since C (bc) = C (bc) and rot(abd) = − rot(dba), we thus get C (xy) = C (vw) + rot(C[vw, ab]) + rot(abc) + rot(P [bd, yx]) + rot(cbd) = C (vw) + ˜ (yx) + rot(dba) + rot(abc) + rot(cbd).

Figure 43 :
Figure 43: A decreasing cycle C that uses uz and an essential cycle C derived from C.

Lemma 20 .Figure 44 :Figure 45 :
Figure 44: The structure used to simulate the simultaneous insertion of uz to vw and uz to v w .

Figure 46 :
Figure 46: Illustration of Step 1, which inserts R, T and B into Γ 0 .Depending on whether uz lies on a horizontal cycle C in Γ 0 , the edge r 2 r 3 points (a) to the right or (b) downwards.
Moreover, in Step 2.1 we add at most 13 vertices.In Step 2.2 we add k 1 + k 2 vertices for the corners not on T and B, and we add 3 vertices for t 4 , b 2 , and b 3 .In Step 2.3 we add at most 3 vertices for t 2 , t 3 , and possibly r 2 .In total, we add ∆V≤ 19 + k 1 + k 2 vertices.In all cases ∆V ≤ 19∆Φ.Altogether, we obtain that the rectangulation procedure terminates (since Φ decreases in every rectangulation step) and the resulting rectangulation has O(n) vertices, and therefore O(n) edges.Lemma 25.The modified rectangulation procedure applies O(n) validity tests and runs in O(n 2 ) time.
not strictly monotone.It remains to consider the case that C uses R. If the edge r 2 r 3 of R points to the right, R lies on a horizontal cycle by construction.By Proposition 1 C is not strictly monotone.If r 2 r 3 points downwards, the cycle C corresponds to an essential cycle C = C[z, u] + uz in Γ 0 .By Lemma 12 the labels of C and C coincide on C[z, u].By construction C is not horizontal.Hence, it contains edges e and e with C (e) = 1 and C (e ) = −1.Since uz is a horizontal edge, we have e = uz = e .Therefore, C (e) = 1 and C (e ) = −1, that is, C is not strictly monotone.

Lemma 30 .
C B is a cascading cycles no matter whether r 2 r 3 points to the right or downwards.In particular, b 1 b 2 is the negative path of C B .Proof.Let C be the outermost decreasing cycle in Γ u em−1 .By Lemma 12 the labels of C and C B coincide on C[b 5 , u](= C B [b 5 , u]).Hence, since C is a decreasing cycle all labels on C B [b 5 , u] are non-negative.Further, by Lemma 21 the edge ub 5 has label 0 on C. If r 2 r 3 points to the right the sequence of the labels on R[u, r 4

e 1 is
valid by Fact 1 of Proposition 2, where e 1 is the first candidate of u .So assume that u is a horizontal port.In that case we take Π u e l for the next iteration, where e l is the last candidate of u .We observe that the augmentation of f 1 may subdivide edges on the negative paths of C T and C B , but the added edges lie in the interior of C T and the exterior of C B .Hence, C T remains an outer cascading cycle and C B an inner cascading cycle.Lemma 32.The ortho-radial representation Π u e l is valid.Proof.Assume that Π u e l is not valid.Hence, there is a strictly monotone cycle C that uses e = u z , where z is the vertex subdividing e l .Since e l is the last candidate of u , the cycle C is increasing by Fact 2 of Proposition 2. By construction e strictly lies in the interior of C T and the exterior of C B .This implies that C lies in the interior of C T and the exterior of C B by Lemma 27.In other words, C is contained in the subgraph H formed by the intersection of the interior of C T and the exterior of C B .As R[r 1 , r 4 ] belongs to both C T and C B , it is incident to the outer and the central face of H. Hence, removing R[r 1 , r 4 ] leaves a subgraph without essential cycles.Thus, the essential cycle C includes R[r 1 , r 4 ].By Proposition 8 the labels of C and C T are the same on R[r 1 , r 4 ].If r 2 r 3 points downwards, its label is 1, which contradicts that C is increasing.If otherwise r 2 r 3 points right, it lies on a horizontal cycle.But then C is not increasing by Proposition 1.

v 2 v 3 w 1 (
a) G lies between C1 and C2.G lies between C2 and C3.

Figure 48 :
Figure 48: Possible embeddings of G : In both cases G contains no essential cycles.The roles of C 1 and C 3 can be exchanged.
In Step 2.1 we partition the face that contains the edges e 1 , ..., e m−1 by inserting two paths T and B of constant size that start at subdivision vertices on uz and end at subdivision vertices on e 1 and e m−1 , respectively; see Figure46.These two paths separate two sub-faces f 1 and f 2 of f that contain the candidate edges e 1 , . . ., e m−2 , which are all but a constant number of edges for which we have performed validity tests in Step 1.In Step 2.2.we rectangulate f 1 without performing any validity test and in Step 2.3 we rectangulate f 2 performing a number of validity tests that is proportional to the size of f 2 .
Figure 47: Illustration of proof for Lemma 27.It is assumed that the central face g is neither the outer cascading cycle C 1 nor the increasing cycle C 1 .Further, C 1 and C 2 have the edges g[v, v ] in common.It is proven that any edge of C 1 [v, v ] has label 0 and any edge of C 1 [v , v] has label −1, which contradicts that C 1 is a cascading cycle.