Algorithms for Graph Visualization Flow Methods: Orthogonal Layout

Algorithms for Graph Visualization Flow Methods: Orthogonal Layout

Algorithms for Graph Visualization Flow Methods: Orthogonal Layout INSTITUT FUR¨ THEORETISCHE INFORMATIK · FAKULTAT¨ FUR¨ INFORMATIK Tamara Mchedlidze 18.01.2018 1 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Orthogonal Layout • Edges consist of vertical and horizontal segments • Applied in many areas ER diagram in OGDF UML diagram by Oracle Organigram of HS Limburg Circuit diagram by Jeff Atwood 2 - 1 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Orthogonal Layout • Edges consist of vertical and horizontal segments • Applied in many areas Aesthetic functions? ER diagram in OGDF UML diagram by Oracle Organigram of HS Limburg Circuit diagram by Jeff Atwood 2 - 2 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Orthogonal Layout • Edges consist of vertical and horizontal segments • Applied in many areas Aesthetic functions: • number of bends • length of edges • ER diagram in OGDF width, height, area • monotonicity of edges UML diagram by Oracle • ... Organigram of HS Limburg Circuit diagram by Jeff Atwood 2 - 3 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen (Planar) Orthogonal Drawings Three-step approach: Topology { Shape { Metrics [Tamassia SIAM J. Comput. 1987] V = fv1; v2; v3; v4g E = fv1v2; v1v3; v1v4; v2v3; v2v4g 3 - 1 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen (Planar) Orthogonal Drawings Three-step approach: Topology { Shape { Metrics [Tamassia SIAM J. Comput. 1987] V = fv1; v2; v3; v4g E = fv1v2; v1v3; v1v4; v2v3; v2v4g combinatorial embedding/ planarization 4 3 Reduce Crossings 2 1 3 - 2 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen (Planar) Orthogonal Drawings Three-step approach: Topology { Shape { Metrics [Tamassia SIAM J. Comput. 1987] V = fv1; v2; v3; v4g E = fv1v2; v1v3; v1v4; v2v3; v2v4g combinatorial embedding/ planarization 4 4 3 Bend Minimization Reduce Crossings 1 3 2 orthogonal 1 representation 2 3 - 3 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen (Planar) Orthogonal Drawings Three-step approach: Topology { Shape { Metrics [Tamassia SIAM J. Comput. 1987] 4 V = fv1; v2; v3; v4g 3 E = fv1v2; v1v3; v1v4; v2v3; v2v4g 1 combinatorial 2 embedding/ planar planarization Area- orthogonal minimization 4 drawing 4 3 Bend Minimization Reduce Crossings 1 3 2 orthogonal 1 representation 2 3 - 4 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen (Planar) Orthogonal Drawings Three-step approach: Topology { Shape { Metrics [Tamassia SIAM J. Comput. 1987] 4 V = fv1; v2; v3; v4g 3 E = fv1v2; v1v3; v1v4; v2v3; v2v4g 1 combinatorial 2 embedding/ planar planarization Area- orthogonal minimization 4 drawing 4 3 Bend Minimization Reduce Crossings 1 3 2 orthogonal 1 representation 2 3 - 5 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Orthogonal Representation Given: planar Graph G = (V; E), set of faces F, outer face f0 Find: orthogonale representation H(G) = fH(f) j f 2 Fg Face representation H(f): of f is a clockwise* ordered sequence of edge descriptions (e; δ; α) with • e edge of f • δ is sequence of f0; 1g∗ (0 = right bend, 1 = left bend) • π 3π 0 α is angle 2 f 2 ; π; 2 ; 2πg between e and next edge e 4 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Orthogonal Representation: Example π 3π π H(f0) = ((e1; 11; 2 ); (e5; 111; 2 ); (e4; ;; π); (e3; ;; π); (e2; ;; 2 )) 3π π H(f1) = ((e1; 00; 2 ); (e2; ;; 2 ); (e6; 00; π)) π π π H(f2) = ((e5; 000; 2 ); (e6; 11; 2 ); (e3; ;; π); (e4; ;; 2 )) e3 f e2 0 Combinatorial \drawing" of H(G)? f1 f2 e4 e6 e1 e5 5 - 1 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Orthogonal Representation: Example π 3π π H(f0) = ((e1; 11; 2 ); (e5; 111; 2 ); (e4; ;; π); (e3; ;; π); (e2; ;; 2 )) 3π π H(f1) = ((e1; 00; 2 ); (e2; ;; 2 ); (e6; 00; π)) π π π H(f2) = ((e5; 000; 2 ); (e6; 11; 2 ); (e3; ;; π); (e4; ;; 2 )) 1 e1 1 f0 0 0 1 e2 e3 e4 e e 3 0 f0 2 0 f1 0 f1 f2 e4 e 1 f2 e6 1 6 e1 0 0 e5 1 e5 1 5 - 2 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Orthogonal Representation: Example π 3π π H(f0) = ((e1; 11; 2 ); (e5; 111; 2 ); (e4; ;; π); (e3; ;; π); (e2; ;; 2 )) H(f ) = ((e ; 00; 3π ); (e ; ;; π ); (e ; 00; π)) 1 1 2 2 2 6 is f0 listed wrongly!? π π π H(f2) = ((e5; 000; 2 ); (e6; 11; 2 ); (e3; ;; π); (e4; ;; 2 )) 1 e1 1 f0 0 0 1 e2 e3 e4 e e 3 0 f0 2 0 f1 0 f1 f2 e4 e 1 f2 e6 1 6 e1 0 0 e5 1 e5 1 5 - 3 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Orthogonal Representation: Example π 3π π H(f0) = ((e1; 11; 2 ); (e5; 111; 2 ); (e4; ;; π); (e3; ;; π); (e2; ;; 2 )) 3π π H(f1) = ((e1; 00; 2 ); (e2; ;; 2 ); (e6; 00; π)) π π π H(f2) = ((e5; 000; 2 ); (e6; 11; 2 ); (e3; ;; π); (e4; ;; 2 )) 1 e1 1 f0 0 0 π π e2 e3 π e4 3π 1 2 π 3π 2 π e3 π π π π π 2 e 0 2 2 2 2 2 f0 2 0 f1 0 f1 f2 e4 e 1 f2 e6 1 6 e1 0 0 e5 1 e5 1 5 - 4 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Orthogonal Representation: Example π 3π π H(f0) = ((e1; 11; 2 ); (e5; 111; 2 ); (e4; ;; π); (e3; ;; π); (e2; ;; 2 )) 3π π H(f1) = ((e1; 00; 2 ); (e2; ;; 2 ); (e6; 00; π)) π π π H(f2) = ((e5; 000; 2 ); (e6; 11; 2 ); (e3; ;; π); (e4; ;; 2 )) 1 e1 1 f0 π 0 0 2 π π π e2 e3 π e4 3π 1 0 3π 2 π e3 2 π π π π 2 e 2 2 2 2 f0 2 f1 f1 f2 e4 0 0 f2 e6 1 e6 1 e1 0 0 e5 1 e5 1 5 - 5 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Orthogonal Representation: Example π 3π π H(f0) = ((e1; 11; 2 ); (e5; 111; 2 ); (e4; ;; π); (e3; ;; π); (e2; ;; 2 )) 3π π H(f1) = ((e1; 00; 2 ); (e2; ;; 2 ); (e6; 00; π)) π π π H(f2) = ((e5; 000; 2 ); (e6; 11; 2 ); (e3; ;; π); (e4; ;; 2 )) 1 e1 1 f0 π 0 0 2 π π π e2 e3 π e4 3π 1 0 3π 2 π e3 2 π π π π 2 e 2 2 2 2 f0 2 f1 f1 f2 e4 0 0 f2 e6 1 e6 1 e1 0 0 e5 1 e5 1 concrete coordinates are not fixed yet! 5 - 6 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Correctness of an Orthogonal Representation (H1) H(G) corresponds to F; f0 6 - 1 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Correctness of an Orthogonal Representation (H1) H(G) corresponds to F; f0 (H2) for an edge fu; vg shared by faces f and g with ((u; v); δ1; α1) 2 H(f) and ((v; u); δ2; α2) 2 H(g) sequence δ1 is reverced and inverted δ2 6 - 2 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Correctness of an Orthogonal Representation (H1) H(G) corresponds to F; f0 (H2) for an edge fu; vg shared by faces f and g with ((u; v); δ1; α1) 2 H(f) and ((v; u); δ2; α2) 2 H(g) sequence δ1 is reverced and inverted δ2 (H3) Let jδj0 (resp. jδj1) be the number of zeros (resp. ones) in δ and r = (e; δ; α). For C(r) := jδj0 − jδj1 + 2 − 2α/π holds X X that: C(r) = 4 for f 6= f0 and C(r) = −4 r2H(f) r2H(f0) 6 - 3 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Correctness of an Orthogonal Representation (H1) H(G) corresponds to F; f0 (H2) for an edge fu; vg shared by faces f and g with ((u; v); δ1; α1) 2 H(f) and ((v; u); δ2; α2) 2 H(g) sequence δ1 is reverced and inverted δ2 (H3) Let jδj0 (resp. jδj1) be the number of zeros (resp. ones) in δ and r = (e; δ; α). For C(r) := jδj0 − jδj1 + 2 − 2α/π holds X X that: C(r) = 4 for f 6= f0 and C(r) = −4 r2H(f) r2H(f0) (H4) For each node v the summ of incident angles is 2π 6 - 4 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Correctness of an Orthogonal Representation (H1) H(G) corresponds to F; f0 (H2) for an edge fu; vg shared by faces f and g with ((u; v); δ1; α1) 2 H(f) and ((v; u); δ2; α2) 2 H(g) sequence δ1 is reverced and inverted δ2 (H3) Let jδj0 (resp. jδj1) be the number of zeros (resp. ones) in δ and r = (e; δ; α). For C(r) := jδj0 − jδj1 + 2 − 2α/π holds X X that: C(r) = 4 for f 6= f0 and C(r) = −4 r2H(f) r2H(f0) (H4) For each node v the summ of incident angles is 2π Pair, think and share: 5 min What does the condition (H3) mean intuitively? 6 - 5 Dr. Tamara Mchedlidze · Algorithmen zur Visualisierung von Graphen Flussmethoden: orthogonales Graphenzeichnen Bend Minization with Given Embedding Problem: Geometric Bend Minimization Given: • planar Graph G = (V; E) with maximum degree 4 • combinatorial embedding F and outer face f0 Find: orthogonal drawing with minimum number of bends that preserves the embedding 7 - 1 Dr.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    109 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us