Smooth Orthogonal Drawings of Planar Graphs Philipp Kindermann - - PowerPoint PPT Presentation

smooth orthogonal drawings of planar graphs
SMART_READER_LITE
LIVE PREVIEW

Smooth Orthogonal Drawings of Planar Graphs Philipp Kindermann - - PowerPoint PPT Presentation

Smooth Orthogonal Drawings of Planar Graphs Philipp Kindermann Chair of Computer Science I Universit at W urzburg Joint work with Md. Jawaherul Alam, Michael A. Bekos, Michael Kaufmann, Stephen G. Kobourov & Alexander Wolff


slide-1
SLIDE 1

Smooth Orthogonal Drawings

  • f Planar Graphs

Philipp Kindermann Chair of Computer Science I Universit¨ at W¨ urzburg

Joint work with

  • Md. Jawaherul Alam, Michael A. Bekos, Michael Kaufmann,

Stephen G. Kobourov & Alexander Wolff

slide-2
SLIDE 2

Orthogonal Layouts

  • all edge segments are horizontal or vertical
  • a well-studied drawing convention
  • many examples in applications
slide-3
SLIDE 3

Orthogonal Layouts

  • all edge segments are horizontal or vertical
  • a well-studied drawing convention
  • many examples in applications

ER diagram in OGDF

slide-4
SLIDE 4

Orthogonal Layouts

  • all edge segments are horizontal or vertical
  • a well-studied drawing convention
  • many examples in applications

ER diagram in OGDF UML diagram by Oracle

slide-5
SLIDE 5

Orthogonal Layouts

  • all edge segments are horizontal or vertical
  • a well-studied drawing convention
  • many examples in applications

ER diagram in OGDF UML diagram by Oracle Organigram of HS Limburg

slide-6
SLIDE 6

Orthogonal Layouts

  • all edge segments are horizontal or vertical
  • a well-studied drawing convention
  • many examples in applications

ER diagram in OGDF UML diagram by Oracle Organigram of HS Limburg Circuit diagram by Jeff Atwood

slide-7
SLIDE 7

Orthogonal Layouts

  • all edge segments are horizontal or vertical
  • a well-studied drawing convention
  • many examples in applications

UML diagram by Oracle Circuit diagram by Jeff Atwood Fused Grid city layouts [By Fgrammen, via Wikimedia Commons]

slide-8
SLIDE 8

Orthogonal Layouts

  • all edge segments are horizontal or vertical
  • a well-studied drawing convention
  • many examples in applications

VLSI/PCI chip design [Mora et al. 2013] Fused Grid city layouts [By Fgrammen, via Wikimedia Commons]

slide-9
SLIDE 9

Orthogonal Layouts – Well-Known Results

Can minimize number of bends for fixed embedding. [Tamassia, SIAM J Comp’87] [Bl¨ asius et al., ’11] Given an embedding and a function flex: E → N≥1, can compute a drawing with ≤ flex(e) bends/edge (if one exists). [Garg & Tamassia, SIAM J Comp’01] Without fixed embedding, bend minimization is hard to approx. [Biedl & Kant, CGTA’98], [Liu et al., DAM’98] Can compute drawing on the (n × n)-grid with ≤ 2n + 2 bends for any embedding (and ≤ 2 bends/edge – except octahedron)

slide-10
SLIDE 10

Smooth Drawings

Mark Lombardi (1951–2000)

Lombardi drawings

  • circular arc edges
  • perfect angular

resolution

slide-11
SLIDE 11

Smooth Drawings

Mark Lombardi (1951–2000)

Lombardi drawings

  • circular arc edges
  • perfect angular

resolution k-Lombardi drawings

  • each edge sequence of k

circular arcs

slide-12
SLIDE 12

Smooth Drawings

The New York Times info diagram

slide-13
SLIDE 13

Smooth Drawings

Terra Nova - Design Overdrive by Carlos Barbosa

slide-14
SLIDE 14

Smooth Drawings

Public transportation map by O¨ OVG

slide-15
SLIDE 15

Smooth Orthogonal Layouts

Combine both worlds:

  • rthogonal

smooth orthogonal

slide-16
SLIDE 16

Smooth Orthogonal Layouts

Combine both worlds:

  • edges leave and enter vertices horizontally or vertically
  • rthogonal

smooth orthogonal

slide-17
SLIDE 17

Smooth Orthogonal Layouts

Combine both worlds:

  • edges leave and enter vertices horizontally or vertically
  • each edge is drawn as a sequence of axis-aligned line

segments and circular-arc segments without bends

  • rthogonal

smooth orthogonal

slide-18
SLIDE 18

Smooth Orthogonal Layouts

Combine both worlds:

  • edges leave and enter vertices horizontally or vertically
  • each edge is drawn as a sequence of axis-aligned line

segments and circular-arc segments without bends

  • there are no edge-crossings (for planar graphs)
  • rthogonal

smooth orthogonal

slide-19
SLIDE 19

Edge Complexity

  • rthogonal

smooth orthogonal

slide-20
SLIDE 20

Edge Complexity

  • rthogonal

smooth orthogonal complexity of an edge: number of arcs

slide-21
SLIDE 21

Edge Complexity

  • rthogonal

smooth orthogonal complexity of an edge: number of arcs 2

slide-22
SLIDE 22

Edge Complexity

  • rthogonal

smooth orthogonal complexity of an edge: number of arcs 2 2

slide-23
SLIDE 23

Edge Complexity

  • rthogonal

smooth orthogonal complexity of an edge: number of arcs edge complexity: maximum complexity over all edges 2 2

slide-24
SLIDE 24

Edge Complexity

  • rthogonal

smooth orthogonal complexity of an edge: number of arcs edge complexity: maximum complexity over all edges 2 2 1 2

slide-25
SLIDE 25

Liu et al. Algorithm

biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-26
SLIDE 26

Liu et al. Algorithm

  • choose vertices s and t

biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-27
SLIDE 27

Liu et al. Algorithm

  • choose vertices s and t
  • place vertices by their st-numbering

biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-28
SLIDE 28

Liu et al. Algorithm

  • choose vertices s and t
  • place vertices by their st-numbering
  • Invariant:

When we fix an endpoint of edge e, we associate e with a column.

biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-29
SLIDE 29

Liu et al. Algorithm

  • choose vertices s and t
  • place vertices by their st-numbering
  • Invariant:

When we fix an endpoint of edge e, we associate e with a column.

  • Use ports in this order:
  • ut:

↑ → ← in: ↓ ← → biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-30
SLIDE 30

Liu et al. Algorithm

  • choose vertices s and t
  • place vertices by their st-numbering
  • Invariant:

When we fix an endpoint of edge e, we associate e with a column.

1 n 2

  • Use ports in this order:
  • ut:

↑ → ← in: ↓ ← → biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-31
SLIDE 31

Liu et al. Algorithm

  • choose vertices s and t
  • place vertices by their st-numbering
  • Invariant:

When we fix an endpoint of edge e, we associate e with a column.

1 n 2

  • Use ports in this order:
  • ut:

↑ → ← in: ↓ ← → biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-32
SLIDE 32

Liu et al. Algorithm

  • choose vertices s and t
  • place vertices by their st-numbering
  • Invariant:

When we fix an endpoint of edge e, we associate e with a column.

1 n 2 3

  • Use ports in this order:
  • ut:

↑ → ← in: ↓ ← → biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-33
SLIDE 33

Liu et al. Algorithm

  • choose vertices s and t
  • place vertices by their st-numbering
  • Invariant:

When we fix an endpoint of edge e, we associate e with a column.

1 n 2 3

  • Use ports in this order:
  • ut:

↑ → ← in: ↓ ← → biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-34
SLIDE 34

Liu et al. Algorithm

  • choose vertices s and t
  • place vertices by their st-numbering
  • Invariant:

When we fix an endpoint of edge e, we associate e with a column.

1 n 2 3

  • Use ports in this order:
  • ut:

↑ → ← in: ↓ ← → biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-35
SLIDE 35

Liu et al. Algorithm

  • choose vertices s and t
  • place vertices by their st-numbering
  • Invariant:

When we fix an endpoint of edge e, we associate e with a column.

1 n 2 3

  • Use ports in this order:
  • ut:

↑ → ← in: ↓ ← → biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-36
SLIDE 36

Liu et al. Algorithm

  • choose vertices s and t
  • place vertices by their st-numbering
  • Invariant:

When we fix an endpoint of edge e, we associate e with a column.

1 n 2 3

  • Use ports in this order:
  • ut:

↑ → ← in: ↓ ← → biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-37
SLIDE 37

Liu et al. Algorithm

  • choose vertices s and t
  • place vertices by their st-numbering
  • Invariant:

When we fix an endpoint of edge e, we associate e with a column.

1 n 2 3

  • Use ports in this order:
  • ut:

↑ → ← in: ↓ ← → biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-38
SLIDE 38

Liu et al. Algorithm

  • choose vertices s and t
  • place vertices by their st-numbering
  • Invariant:

When we fix an endpoint of edge e, we associate e with a column.

1 n 2 3

  • Use ports in this order:
  • ut:

↑ → ← in: ↓ ← → biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-39
SLIDE 39

Liu et al. Algorithm

3

  • choose vertices s and t
  • place vertices by their st-numbering
  • Invariant:

When we fix an endpoint of edge e, we associate e with a column.

1 n 2

  • Use ports in this order:
  • ut:

↑ → ← in: ↓ ← →

  • Eliminate S-shapes

biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-40
SLIDE 40

Liu et al. Algorithm

  • choose vertices s and t
  • place vertices by their st-numbering
  • Invariant:

When we fix an endpoint of edge e, we associate e with a column.

  • Use ports in this order:
  • ut:

↑ → ← in: ↓ ← →

  • Eliminate S-shapes

3 1 n 2

biconnected 4 -planar graph → orthogonal complexity-3 layout

slide-41
SLIDE 41

SC2-Layouts

biconnected 4 -planar graph → orthogonal complexity-2 layout

3 1 n 2 smooth

slide-42
SLIDE 42

SC2-Layouts

biconnected 4 -planar graph → orthogonal complexity-2 layout

→ 3 1 n 2 smooth

slide-43
SLIDE 43

SC2-Layouts

biconnected 4 -planar graph → orthogonal complexity-2 layout

→ 3 1 n 2 smooth

slide-44
SLIDE 44

SC2-Layouts

biconnected 4 -planar graph → orthogonal complexity-2 layout

→ → 3 1 n 2 smooth

slide-45
SLIDE 45

SC2-Layouts

biconnected 4 -planar graph → orthogonal complexity-2 layout

→ → 3 1 n 2 smooth

slide-46
SLIDE 46

SC2-Layouts

biconnected 4 -planar graph → orthogonal complexity-2 layout

→ → → 3 1 n 2 smooth

slide-47
SLIDE 47

SC2-Layouts

biconnected 4 -planar graph → orthogonal complexity-2 layout

→ → → 3 1 n 2 smooth

slide-48
SLIDE 48

SC2-Layouts

biconnected 4 -planar graph → orthogonal complexity-2 layout

→ → → → 3 1 n 2 smooth

slide-49
SLIDE 49

SC2-Layouts

biconnected 4 -planar graph → orthogonal complexity-2 layout

→ → → → 3 1 n 2 smooth

slide-50
SLIDE 50

SC2-Layouts

biconnected 4 -planar graph → orthogonal complexity-2 layout

→ → → → 3 1 n 2 → smooth

slide-51
SLIDE 51

SC2-Layouts

biconnected 4 -planar graph → orthogonal complexity-2 layout

→ → → → → 3 1 n 2 smooth

slide-52
SLIDE 52

SC2-Layouts

biconnected 4 -planar graph → orthogonal complexity-2 layout

→ → → → → → 3 1 n 2 smooth

slide-53
SLIDE 53

SC2-Layouts

biconnected 4 -planar graph → orthogonal complexity-2 layout

→ → → → → → 3 1 n 2 smooth

slide-54
SLIDE 54

Crossings

slide-55
SLIDE 55

Crossings

slide-56
SLIDE 56

Crossings

slide-57
SLIDE 57

Crossings

slide-58
SLIDE 58

Crossings

slide-59
SLIDE 59

Crossings

slide-60
SLIDE 60

Cut

Def.

slide-61
SLIDE 61

Cut

Def.

  • y-monotone curve

u

slide-62
SLIDE 62

Cut

Def.

  • y-monotone curve
  • consists of horizontal, vertical and circular segments

u u

slide-63
SLIDE 63

Cut

Def.

  • y-monotone curve
  • consists of horizontal, vertical and circular segments
  • divides the current drawing into a left and a right part

u u

slide-64
SLIDE 64

Cut

Def.

  • y-monotone curve
  • consists of horizontal, vertical and circular segments
  • divides the current drawing into a left and a right part
  • intersects only horizontal segments

u u u

slide-65
SLIDE 65

Cut

Def.

  • y-monotone curve
  • consists of horizontal, vertical and circular segments
  • divides the current drawing into a left and a right part
  • intersects only horizontal segments

u u u u

slide-66
SLIDE 66

Cut

Def.

  • y-monotone curve
  • consists of horizontal, vertical and circular segments
  • divides the current drawing into a left and a right part
  • intersects only horizontal segments

u u u u u

slide-67
SLIDE 67

Cut

Def.

  • y-monotone curve
  • consists of horizontal, vertical and circular segments
  • divides the current drawing into a left and a right part
  • intersects only horizontal segments

u u u u u

Problems:

slide-68
SLIDE 68

Cut

Def.

  • y-monotone curve
  • consists of horizontal, vertical and circular segments
  • divides the current drawing into a left and a right part
  • intersects only horizontal segments

u u u u u

Problems:

slide-69
SLIDE 69

Cut

Def.

  • y-monotone curve
  • consists of horizontal, vertical and circular segments
  • divides the current drawing into a left and a right part
  • intersects only horizontal segments

u u u u u

Problems:

slide-70
SLIDE 70

Invariants

(I1) Every open edge is associated with a column

slide-71
SLIDE 71

Invariants

(I1) An L-shape always contains a horizontal segment; it never contains a vertical segment. Every open edge is associated with a column (I2)

slide-72
SLIDE 72

Invariants

(I1) An L-shape always contains a horizontal segment; it never contains a vertical segment. Every open edge is associated with a column (I2) (I3) A C-shape always has a horizontal segment incident to its bottom vertex.

slide-73
SLIDE 73

Maintain invariants

L-shape

slide-74
SLIDE 74

Maintain invariants

L-shape C-shape

slide-75
SLIDE 75

Maintain invariants

L-shape C-shape Double C-shape

slide-76
SLIDE 76

Maintain invariants

L-shape C-shape Double C-shape protected

slide-77
SLIDE 77

Invariants, updated

(I1) An L-shape always contains a horizontal segment; it never contains a vertical segment. Every open edge is associated with a column (I2) (I3) An unprotected C-shape always has a horizontal segment incident to its bottom vertex.

slide-78
SLIDE 78

Eliminate crossings

u v v u

slide-79
SLIDE 79

Eliminate crossings

u v v u

  • 1. move v up
slide-80
SLIDE 80

Eliminate crossings

u v

  • 1. move v up

v u

slide-81
SLIDE 81

Eliminate crossings

u v

  • 1. move v up

v u

  • 2. find a cut
slide-82
SLIDE 82

Eliminate crossings

u v

  • 1. move v up

v u

  • 2. find a cut
slide-83
SLIDE 83

Eliminate crossings

u v

  • 1. move v up

v u

  • 2. find a cut
  • 3. move vertices to the left
slide-84
SLIDE 84

Eliminate crossings

u v

  • 1. move v up
  • 2. find a cut
  • 3. move vertices to the left

v u

slide-85
SLIDE 85

Example Run

1

slide-86
SLIDE 86

Example Run

1

slide-87
SLIDE 87

Example Run

1

slide-88
SLIDE 88

Example Run

1

slide-89
SLIDE 89

Example Run

1

slide-90
SLIDE 90

Example Run

1

slide-91
SLIDE 91

Example Run

1

slide-92
SLIDE 92

Example Run

1

slide-93
SLIDE 93

Example Run

1

slide-94
SLIDE 94

Example Run

1

slide-95
SLIDE 95

Example Run

1

slide-96
SLIDE 96

Example Run

1

slide-97
SLIDE 97

Example Run

1

slide-98
SLIDE 98

Example Run

1

slide-99
SLIDE 99

Example Run

1

slide-100
SLIDE 100

Example Run

1

slide-101
SLIDE 101

Example Run

1

slide-102
SLIDE 102

Extension to Arbitrary Graphs

slide-103
SLIDE 103

Extension to Arbitrary Graphs

cutvertices

slide-104
SLIDE 104

Extension to Arbitrary Graphs

bridges cutvertices

slide-105
SLIDE 105

Extension to Arbitrary Graphs

bridges cutvertices

slide-106
SLIDE 106

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face cutvertices

slide-107
SLIDE 107

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face Draw cut vertices with right angles cutvertices

slide-108
SLIDE 108

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face Draw cut vertices with right angles cutvertices

slide-109
SLIDE 109

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face Draw cut vertices with right angles cutvertices

slide-110
SLIDE 110

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face Draw cut vertices with right angles cutvertices

slide-111
SLIDE 111

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face Draw cut vertices with right angles cutvertices

slide-112
SLIDE 112

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face Draw cut vertices with right angles cutvertices

slide-113
SLIDE 113

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face Draw cut vertices with right angles cutvertices Connect the pieces

slide-114
SLIDE 114

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face Draw cut vertices with right angles cutvertices Connect the pieces

slide-115
SLIDE 115

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face Draw cut vertices with right angles cutvertices Connect the pieces

slide-116
SLIDE 116

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face Draw cut vertices with right angles cutvertices Connect the pieces

slide-117
SLIDE 117

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face Draw cut vertices with right angles cutvertices Connect the pieces

slide-118
SLIDE 118

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face Draw cut vertices with right angles cutvertices Connect the pieces

slide-119
SLIDE 119

Extension to Arbitrary Graphs

bridges Draw specific vertex on outer face Draw cut vertices with right angles cutvertices Connect the pieces 4-planar graph → smooth orthogonal complexity-2 layout

slide-120
SLIDE 120

SC1-Layouts

slide-121
SLIDE 121

SC1-Layouts

Any biconnected 4-outerplanar graph admits an SC1-layout.

slide-122
SLIDE 122

SC1-Layouts

Any biconnected 4-outerplanar graph admits an SC1-layout.

slide-123
SLIDE 123

SC1-Layouts

Consider the dual tree Any biconnected 4-outerplanar graph admits an SC1-layout.

slide-124
SLIDE 124

SC1-Layouts

Consider the dual tree Pick a root, traverse the tree Any biconnected 4-outerplanar graph admits an SC1-layout.

slide-125
SLIDE 125

SC1-Layouts

Consider the dual tree Pick a root, traverse the tree Any biconnected 4-outerplanar graph admits an SC1-layout.

slide-126
SLIDE 126

SC1-Layouts

Consider the dual tree Pick a root, traverse the tree Any biconnected 4-outerplanar graph admits an SC1-layout.

slide-127
SLIDE 127

SC1-Layouts

Consider the dual tree Pick a root, traverse the tree Any biconnected 4-outerplanar graph admits an SC1-layout.

slide-128
SLIDE 128

SC1-Layouts

Consider the dual tree Pick a root, traverse the tree Any biconnected 4-outerplanar graph admits an SC1-layout.

slide-129
SLIDE 129

SC1-Layouts

Consider the dual tree Pick a root, traverse the tree Any biconnected 4-outerplanar graph admits an SC1-layout.

slide-130
SLIDE 130

SC1-Layouts

Consider the dual tree Pick a root, traverse the tree Any biconnected 4-outerplanar graph admits an SC1-layout.

slide-131
SLIDE 131

SC1-Layouts

Consider the dual tree Pick a root, traverse the tree Any biconnected 4-outerplanar graph admits an SC1-layout.

slide-132
SLIDE 132

SC1-Layouts

Any triconnected 3-planar graph admits an SC1-layout. Any biconnected 4-outerplanar graph admits an SC1-layout.

slide-133
SLIDE 133

SC1-Layouts

Any Hamiltonian 3-planar graph admits an SC1-layout. Any triconnected 3-planar graph admits an SC1-layout. Any biconnected 4-outerplanar graph admits an SC1-layout.

slide-134
SLIDE 134

Area Requirement of SC1-Layouts

There is an infinite class of graphs that require exponential area if they are drawn with SC1.

slide-135
SLIDE 135

Area Requirement of SC1-Layouts

There is an infinite class of graphs that require exponential area if they are drawn with SC1.

slide-136
SLIDE 136

Area Requirement of SC1-Layouts

There is an infinite class of graphs that require exponential area if they are drawn with SC1.

slide-137
SLIDE 137

Area Requirement of SC1-Layouts

There is an infinite class of graphs that require exponential area if they are drawn with SC1.

slide-138
SLIDE 138

Area Requirement of SC1-Layouts

There is an infinite class of graphs that require exponential area if they are drawn with SC1.

slide-139
SLIDE 139

Biconnected Graphs without SC1-Layout

There exists a biconnected 4-planar graph that admits an OC2-layout, but does not admit an SC1-layout.

slide-140
SLIDE 140

Biconnected Graphs without SC1-Layout

There exists a biconnected 4-planar graph that admits an OC2-layout, but does not admit an SC1-layout.

slide-141
SLIDE 141

Biconnected Graphs without SC1-Layout

There exists a biconnected 4-planar graph that admits an OC2-layout, but does not admit an SC1-layout.

slide-142
SLIDE 142

Open Problems

  • Do all 4-planar graphs admit an SC2-layout

in polynomial area?

slide-143
SLIDE 143

Open Problems

  • Do all 4-planar graphs admit an SC2-layout

in polynomial area?

  • Do all 4-outerplanar graphs admit an SC1-layout?
slide-144
SLIDE 144

Open Problems

  • Do all 4-planar graphs admit an SC2-layout

in polynomial area?

  • Do all 4-outerplanar graphs admit an SC1-layout?
  • Do all 3-planar graphs admit an SC1-layout?
slide-145
SLIDE 145

Open Problems

  • Do all 4-planar graphs admit an SC2-layout

in polynomial area?

  • Do all 4-outerplanar graphs admit an SC1-layout?
  • Do all 3-planar graphs admit an SC1-layout?
  • Is it NP-hard to decide whether a 4-planar graph

admits an SC1-layout?