# Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing.

## Presentation on theme: "Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing."— Presentation transcript:

Orthogonal Drawing Kees Visser

Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing

Introduction  Orthogonal drawing Given embedding Only vertical or horizontal line segments Maximum degree of 4

Introduction  Uses in VLSI circuits  Minimize bends  Finding an orthogonal drawing of graph G with the minimum number of bends without a fixed embedding is NP-Complete.

Introduction  Tamassia and Garg and Tamassia found algorithms to find a minimal bend orthogonal drawing of graph G in polynomial time.

Orthogonal Representation  Planar representation Set of circularly ordered edge list P(F) One for each face  P(F 1 ) = (e8, e7, e11, e6, e3)  P(F 2 ) = (e1, e2, e10, e9, e11, e7, e8)  P(F 3 ) = (e6, e9, e10, e5, e4)  P(F 0 ) = (e1, e2, e5, e4, e3)

Orthogonal representation  Definitions: An edge appearing in the same list twice is a bridge An angle formed by to edges is a vertex- angle An angle formed by two line segments at a bend is a bend-angle Both vertex angles and bend angles are 90, 180, 270 or 360 degrees

Orthogonal representation  Facts: The sum of vertex-angles around any vertex is 360 degrees The sum or the angles inside any facial polygon is (2p-4)90 degree, and the sum of the angles of the outer facial polygon is (2p+4)90 degrees, where p is the number of edges

Orthogonal representation  Orthogonal representation 1 list for each face Each element in the list has 3 values, the edge number (E r ), a bit string and the angle formed in the face from this edge to the next edge (A r ). The bit string indicated the bends in the line. A 0 indicates a 90 degree bend, 1 means 270 and ε means a straight line

Orthogonal representation R(F1) = ((e8, ε, 180),(e7, ε, 90),(e11, ε, 90),(e6, ε, 180),(e3, 0, 90)) R(F2) = ((e1, 0, 90), (e2, 00, 90), (e10, ε, 180), (e9, ε, 180), (e11, ε, 270), (e7, ε, 180), (e8, ε, 90))

Orthogonal representation  Necessary properties of a orthogonal representation: (p1) There is some planer graph whose planer representation is given by the e- fields of the list in R (p2) For each pair of elements r and r’ in R with E r =E r’, string S r’ can be obtained by applying bitwise negation to the reversion of S r’

Orthogonal representation (p3) For each element r in R, define the rotation p(r) as follows: p(r) = |S r |0 - |S r |1 + (2-Ar/90) (p4) For each vertex v, the sum of the vertex angles around v given by the A- fields in R is equal to 360 degrees

Flow network  A flow network N is a directed graph with two disjoint non empty sets of sources and sinks  Each arc e of N is labelled with 3 nonnegative integers A lower bound λ(e) A capacity μ(e) A cost c(e)

Flow network  The flow Ф(e) must equal or higher then the lower bound and lower of equal then the capacity.  σ(u) is the production of source u  -σ(u) is the consumption of sink u

Bend-optimal drawing 1 unit of flow represents an angle of 90 degrees Each vertex and face is a node Each vertex Node is a source (U v ), σ(U v ) = 4 Each face Node is a sink -σ(U F ), -σ(U F ) = 2p(F)-4 (if F is an inner face), -σ(U F ) = 2p(F)+4 (if F is the outer face). p(F) is the number of vertex-angles in face F

Bend-optimal drawing

The arc set of network N consists of the vertex arcs (A v ) and face arcs (A F ) The set of Av consists of arcs from every vertex node to every face node the vertex borders. Flow Ф(U v, U F ) is the sum of vertex angles at vertex v inside face F. λ(U v, U F ) is equal to the number of vertex- angles at v inside face F. μ(U v, U F ) = 4 c(U v, U F ) = 0

Bend-optimal drawing

The set of A F consists of arcs from every face F that shares an edge with face F’ Flow Ф(U F, U F’ ) is the number of bends with an angle of 90 degrees inside face F along the edges which are common to F and F’ λ(U F, U F’ ) = 0 μ(U F, U F’ ) = +∞ c(U F, U F ) = 1

Bend-optimal drawing

Theorem: Let G be a plane graph, let N be the network constructed from G. For each integer flow Ф in network N, there is an orthogonal representation R that represents an orthogonal drawing D of G and whose number of bends is equal to the cost of the flow Ф. In particular, the minimum cost flow can be used to construct a bend-optimal orthogonal drawing of G.

Bend-optimal drawing  Proof We construct a orthogonal representation R of G by computing the a- and s-fields from the flow values in A v and A F. L = |(R(v,F)| and R(v,F) ={r 1,r 2,…,r L }, where 1 =< L =< 4 A r1 = 90(Ф(U v, U F )- L + 1) and A ri = 90 for each i, 2 =< i =< L

Bend-optimal drawing S r1 = 0 Ф(U F, U F’ )1 Ф(U F’, U F ) S r’1 = 0 Ф(U F’, U F )1 Ф(U F, U F’ ) S ri = S r’i = ε for each i 2 =< i =< L Example:  L = 3, Ф(U F, U F’ ) = 2 and Ф(U F’, U F ) = 1  S r1 = 001 and S r2 = S r3 = ε

Bend-optimized drawing  R(F) needs to satisfy Properties (p1)-(p4) (p1) There is some planer graph whose planer representation is given by the e-fields of the list in R (p2) For each pair of elements r and r’ in R with E r =E r’, string S r’ can be obtained by applying bitwise negation to the reversion of S r’ (p3) For each element r in R, define the rotation p(r) as follows: p(r) = |S r |0 - |S r |1 + (2-Ar/90) (p4) For each vertex v, the sum of the vertex angles around v given by the A-fields in R is equal to 360 degrees

Bend-optimized drawing  (p1) is automatically satisfied since we have build R from a planar representation  (p2) easily follows from the assignment of the S-values.  (p4) follows from the definition that every source produces 4 units.  (p3) Solving the equation by replacing with the flow equations makes this satisfied. Look in the book for a more precise proof of this.

Conclusion  Garg and Tamassia have shown that the minimum cost flow problem in this specific network can be solved in time O(n 7/4√(log n) )

Questions?

Similar presentations