Windrose Planarity Embedding Graphs with Direction-Constrained - - PowerPoint PPT Presentation

windrose planarity
SMART_READER_LITE
LIVE PREVIEW

Windrose Planarity Embedding Graphs with Direction-Constrained - - PowerPoint PPT Presentation

Windrose Planarity Embedding Graphs with Direction-Constrained Edges Philipp Kindermann LG Theoretische Informatik FernUniversit at in Hagen Published at SODA16. Joint work with Patrizio Angelini, Giordano Da Lozzo, Giuseppe Di


slide-1
SLIDE 1

Windrose Planarity

Embedding Graphs with Direction-Constrained Edges

Published at SODA’16. Joint work with Patrizio Angelini, Giordano Da Lozzo, Giuseppe Di Battista, Valentino Di Donato, G¨ unter Rote & Ignaz Rutter Philipp Kindermann LG Theoretische Informatik FernUniversit¨ at in Hagen

slide-2
SLIDE 2

Upward Planarity

An undirected graph is planar: no crossings

slide-3
SLIDE 3

Upward Planarity

An undirected graph is planar: no crossings

slide-4
SLIDE 4

Upward Planarity

An undirected graph is planar: no crossings A directed graph is upwards planar:

  • all edges are y-monotone curves directed upwards
  • no crossings
slide-5
SLIDE 5

Upward Planarity

An undirected graph is planar: no crossings A directed graph is upwards planar:

  • all edges are y-monotone curves directed upwards
  • no crossings
slide-6
SLIDE 6

Upward Planarity

An undirected graph is planar: no crossings A directed graph is upwards planar:

  • all edges are y-monotone curves directed upwards
  • no crossings
slide-7
SLIDE 7

Upward Planarity

planar An undirected graph is planar: no crossings A directed graph is upwards planar:

  • all edges are y-monotone curves directed upwards
  • no crossings
slide-8
SLIDE 8

Upward Planarity

planar acyclic An undirected graph is planar: no crossings A directed graph is upwards planar:

  • all edges are y-monotone curves directed upwards
  • no crossings
slide-9
SLIDE 9

Upward Planarity

planar acyclic An undirected graph is planar: no crossings A directed graph is upwards planar:

  • all edges are y-monotone curves directed upwards
  • no crossings
slide-10
SLIDE 10

Upward Planarity

planar acyclic ? An undirected graph is planar: no crossings A directed graph is upwards planar:

  • all edges are y-monotone curves directed upwards
  • no crossings
slide-11
SLIDE 11

Upward Planarity: Testing

Testing Upward Planarity is...

slide-12
SLIDE 12

Upward Planarity: Testing

Testing Upward Planarity is...

  • NP-complete in general

[Garg & Tamassia ’95]

slide-13
SLIDE 13

Upward Planarity: Testing

Testing Upward Planarity is...

  • NP-complete in general

[Garg & Tamassia ’95]

  • poly for single-source graphs

[Di Battista et al. ’98]

slide-14
SLIDE 14

Upward Planarity: Testing

Testing Upward Planarity is...

  • NP-complete in general

[Garg & Tamassia ’95]

  • poly for single-source graphs

[Di Battista et al. ’98]

  • poly for fixed embedding

[Garg & Tamassia ’95]

slide-15
SLIDE 15

Upward Planarity: Testing

planar acyclic Testing Upward Planarity is...

  • NP-complete in general

[Garg & Tamassia ’95]

  • poly for single-source graphs

[Di Battista et al. ’98]

  • poly for fixed embedding

[Garg & Tamassia ’95] ?

slide-16
SLIDE 16

Upward Planarity: Testing

planar acyclic bimodal Testing Upward Planarity is...

  • NP-complete in general

[Garg & Tamassia ’95]

  • poly for single-source graphs

[Di Battista et al. ’98]

  • poly for fixed embedding

[Garg & Tamassia ’95]

slide-17
SLIDE 17

Upward Planarity: Testing

planar acyclic bimodal Testing Upward Planarity is...

  • NP-complete in general

[Garg & Tamassia ’95]

  • poly for single-source graphs

[Di Battista et al. ’98]

  • poly for fixed embedding

[Garg & Tamassia ’95]

slide-18
SLIDE 18

Upward Planarity: Testing

planar acyclic bimodal Testing Upward Planarity is...

  • NP-complete in general

[Garg & Tamassia ’95]

  • poly for single-source graphs

[Di Battista et al. ’98]

  • poly for fixed embedding

[Garg & Tamassia ’95]

  • ×
slide-19
SLIDE 19

Windrose Planarity

q-constrained graph (G, Q):

slide-20
SLIDE 20

Windrose Planarity

q-constrained graph (G, Q):

  • G: undirected planar graph
slide-21
SLIDE 21

Windrose Planarity

q-constrained graph (G, Q):

  • G: undirected planar graph
  • Q: partition of all neighbors of v into

ր

v,

տ

v,

ւ

v, and

ց

v.

slide-22
SLIDE 22

Windrose Planarity

q-constrained graph (G, Q):

  • G: undirected planar graph
  • Q: partition of all neighbors of v into

ր

v,

տ

v,

ւ

v, and

ց

v.

ր

v

տ

v

ց

v

ւ

v v

slide-23
SLIDE 23

Windrose Planarity

Two directions: q-constrained graph (G, Q):

  • G: undirected planar graph
  • Q: partition of all neighbors of v into

ր

v,

տ

v,

ւ

v, and

ց

v.

ր

v

տ

v

ց

v

ւ

v v

slide-24
SLIDE 24

Windrose Planarity

Two directions: q-constrained graph (G, Q):

  • G: undirected planar graph
  • Q: partition of all neighbors of v into

ր

v,

տ

v,

ւ

v, and

ց

v.

ր

v

տ

v

ց

v

ւ

v A q-constrained graph is windrose planar: v

slide-25
SLIDE 25

Windrose Planarity

Two directions: q-constrained graph (G, Q):

  • G: undirected planar graph
  • Q: partition of all neighbors of v into

ր

v,

տ

v,

ւ

v, and

ց

v.

ր

v

տ

v

ց

v

ւ

v A q-constrained graph is windrose planar:

  • no crossings

v

slide-26
SLIDE 26

Windrose Planarity

Two directions: q-constrained graph (G, Q):

  • G: undirected planar graph
  • Q: partition of all neighbors of v into

ր

v,

տ

v,

ւ

v, and

ց

v.

ր

v

տ

v

ց

v

ւ

v A q-constrained graph is windrose planar:

  • no crossings
  • all edges are xy-monotone curves

v

slide-27
SLIDE 27

Windrose Planarity

Two directions: q-constrained graph (G, Q):

  • G: undirected planar graph
  • Q: partition of all neighbors of v into

ր

v,

տ

v,

ւ

v, and

ց

v.

ր

v

տ

v

ց

v

ւ

v A q-constrained graph is windrose planar:

  • no crossings
  • all edges are xy-monotone curves
  • u ∈
  • v ⇒ u lies in the ◦-quadrant of v

v

slide-28
SLIDE 28

Relationship to Upwards Planarity

Two directions: q-constrained graph (G, Q):

  • G: undirected planar graph
  • Q: partition of all neighbors of v into

ր

v,

տ

v,

ւ

v, and

ց

v.

ր

v

տ

v

ց

v

ւ

v A q-constrained graph is windrose planar:

  • no crossings
  • all edges are xy-monotone curves
  • u ∈
  • v ⇒ u lies in the ◦-quadrant of v

v

slide-29
SLIDE 29

Relationship to Upwards Planarity

Two directions: q-constrained graph (G, Q):

  • G: undirected planar graph
  • Q: partition of all neighbors of v into

ր

v and

ւ

v v

ր

v

ւ

v A q-constrained graph is windrose planar:

  • no crossings
  • all edges are xy-monotone curves
  • u ∈
  • v ⇒ u lies in the ◦-quadrant of v
slide-30
SLIDE 30

Relationship to Upwards Planarity

One direction: q-constrained graph (G, Q):

  • G: undirected planar graph
  • Q: partition of all neighbors of v into

ր

v and

ւ

v v

ր

v

ւ

v A q-constrained graph is windrose planar:

  • no crossings
  • all edges are xy-monotone curves
  • u ∈
  • v ⇒ u lies in the ◦-quadrant of v
slide-31
SLIDE 31

Relationship to Upwards Planarity

q-constrained graph (G, Q):

  • G: undirected planar graph
  • Q: partition of all neighbors of v into

v and

v A q-constrained graph is windrose planar:

  • no crossings
  • all edges are xy-monotone curves
  • u ∈
  • v ⇒ u lies in the ◦-quadrant of v

v

v

v One direction:

slide-32
SLIDE 32

Relationship to Upwards Planarity

directed graph One direction: A directed graph is upwards planar:

  • all edges are y-monotone curves directed upwards
  • no crossings

v

v

v

slide-33
SLIDE 33

Relationship to Upwards Planarity

directed graph One direction: A directed graph is upwards planar:

  • all edges are y-monotone curves directed upwards
  • no crossings

v

v

v Testing Windrose Planarity is NP-complete

Theorem.

slide-34
SLIDE 34

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

slide-35
SLIDE 35

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

slide-36
SLIDE 36

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

slide-37
SLIDE 37

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

slide-38
SLIDE 38

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

0◦

slide-39
SLIDE 39

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

0◦

slide-40
SLIDE 40

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

90◦ 0◦ 90◦

slide-41
SLIDE 41

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

90◦ 0◦ 90◦

slide-42
SLIDE 42

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

90◦ 0◦ 90◦ 180◦

slide-43
SLIDE 43

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

90◦ 0◦ 90◦ 180◦

slide-44
SLIDE 44

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

90◦ 270◦ 0◦ 90◦ 180◦

slide-45
SLIDE 45

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

90◦ 270◦ 0◦ 90◦ 180◦

slide-46
SLIDE 46

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

90◦ 270◦ 360◦ 0◦ 90◦ 180◦

slide-47
SLIDE 47

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 360◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦

slide-48
SLIDE 48

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 360◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦

Labeled graph (G, A): G plane graph, A labeling of angles

slide-49
SLIDE 49

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 360◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦

Labeled graph (G, A): G plane graph, A labeling of angles Angular drawing: end of segments have slopes ≈ ±1

slide-50
SLIDE 50

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦ Labeled graph (G, A): G plane graph, A labeling of angles Angular drawing: end of segments have slopes ≈ ±1

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦ 0◦ 360◦

slide-51
SLIDE 51

Angular Drawing

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦ Labeled graph (G, A): G plane graph, A labeling of angles Angular drawing: end of segments have slopes ≈ ±1

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦ 0◦ 360◦

slide-52
SLIDE 52

Angular Drawing

(G, A) admits angular drawing if: Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦ Labeled graph (G, A): G plane graph, A labeling of angles Angular drawing: end of segments have slopes ≈ ±1

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦ 0◦ 360◦

slide-53
SLIDE 53

Angular Drawing

(G, A) admits angular drawing if:

  • Vertex condition: sum of angle cat. at vertex is 360◦

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦ Labeled graph (G, A): G plane graph, A labeling of angles Angular drawing: end of segments have slopes ≈ ±1

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦ 0◦ 360◦

slide-54
SLIDE 54

Angular Drawing

(G, A) admits angular drawing if:

  • Vertex condition: sum of angle cat. at vertex is 360◦

Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦ Labeled graph (G, A): G plane graph, A labeling of angles Angular drawing: end of segments have slopes ≈ ±1

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦ 0◦ 360◦

slide-55
SLIDE 55

Angular Drawing

(G, A) admits angular drawing if:

  • Vertex condition: sum of angle cat. at vertex is 360◦
  • Cycle condition: sum of angle cat. at (int.) face of

length k is k · 180◦ − 360◦ Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦ Labeled graph (G, A): G plane graph, A labeling of angles Angular drawing: end of segments have slopes ≈ ±1

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦ 0◦ 360◦

slide-56
SLIDE 56

Angular Drawing

(G, A) admits angular drawing if:

  • Vertex condition: sum of angle cat. at vertex is 360◦
  • Cycle condition: sum of angle cat. at (int.) face of

length k is k · 180◦ − 360◦ Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦ Labeled graph (G, A): G plane graph, A labeling of angles Angular drawing: end of segments have slopes ≈ ±1

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦ 0◦ 360◦

slide-57
SLIDE 57

Angular Drawing

(G, A) admits angular drawing if:

  • Vertex condition: sum of angle cat. at vertex is 360◦
  • Cycle condition: sum of angle cat. at (int.) face of

length k is k · 180◦ − 360◦ Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦ Labeled graph (G, A): G plane graph, A labeling of angles Angular drawing: end of segments have slopes ≈ ±1

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦ 0◦ 360◦

⇒ A is angular labeling

slide-58
SLIDE 58

Angular Drawing

(G, A) admits angular drawing if:

  • Vertex condition: sum of angle cat. at vertex is 360◦
  • Cycle condition: sum of angle cat. at (int.) face of

length k is k · 180◦ − 360◦ Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦ Labeled graph (G, A): G plane graph, A labeling of angles Angular drawing: end of segments have slopes ≈ ±1

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦ 0◦ 360◦

⇒ A is angular labeling angular labeling A ⇒

unique q-constraints QA

slide-59
SLIDE 59

Angular Drawing

(G, A) admits angular drawing if:

  • Vertex condition: sum of angle cat. at vertex is 360◦
  • Cycle condition: sum of angle cat. at (int.) face of

length k is k · 180◦ − 360◦ Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦ Labeled graph (G, A): G plane graph, A labeling of angles Angular drawing: end of segments have slopes ≈ ±1

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦ 0◦ 360◦

⇒ A is angular labeling angular labeling A ⇒

unique q-constraints QA

slide-60
SLIDE 60

Angular Drawing

(G, A) admits angular drawing if:

  • Vertex condition: sum of angle cat. at vertex is 360◦
  • Cycle condition: sum of angle cat. at (int.) face of

length k is k · 180◦ − 360◦ Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦ Labeled graph (G, A): G plane graph, A labeling of angles Angular drawing: end of segments have slopes ≈ ±1

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦ 0◦ 360◦

⇒ A is angular labeling angular labeling A ⇒

unique q-constraints QA

q-constraints Q + large-angle assignment L ⇒

unique angular labeling AQ,L

slide-61
SLIDE 61

Angular Drawing

(G, A) admits angular drawing if:

  • Vertex condition: sum of angle cat. at vertex is 360◦
  • Cycle condition: sum of angle cat. at (int.) face of

length k is k · 180◦ − 360◦ Angle categories: 0◦, 90◦, 180◦, 270◦, and 360◦ Labeled graph (G, A): G plane graph, A labeling of angles Angular drawing: end of segments have slopes ≈ ±1

90◦ 90◦ 180◦ 270◦ 0◦ 180◦ 0◦ 270◦ 90◦ 0◦ 270◦ 0◦ 90◦ 180◦ 90◦ 180◦ 90◦ 90◦ 0◦ 360◦

⇒ A is angular labeling angular labeling A ⇒

unique q-constraints QA

q-constraints Q + large-angle assignment L ⇒

unique angular labeling AQ,L

angular drawing ˆ = windrose planar drawing

slide-62
SLIDE 62

Triangulated Graphs

0 180 0

slide-63
SLIDE 63

Triangulated Graphs

0 180 0

slide-64
SLIDE 64

Triangulated Graphs

0 90 90

slide-65
SLIDE 65

Triangulated Graphs

  • No (int.) > 180◦ angle categories

0 90 90

slide-66
SLIDE 66

Triangulated Graphs

  • No (int.) > 180◦ angle categories
  • At least one 0◦ angle category per (int.) face

0 90 90

slide-67
SLIDE 67

Triangulated Graphs

  • No (int.) > 180◦ angle categories
  • At least one 0◦ angle category per (int.) face

0 90 90

slide-68
SLIDE 68

Triangulated Graphs

  • No (int.) > 180◦ angle categories
  • At least one 0◦ angle category per (int.) face

0 90 90 G ↑

slide-69
SLIDE 69

Triangulated Graphs

  • No (int.) > 180◦ angle categories
  • At least one 0◦ angle category per (int.) face

0 90 90 G ↑ G ↑ is acyclic.

Lemma.

Let (G, AQ) be a triangulated angular labeled graph. Then,

slide-70
SLIDE 70

Triangulated Graphs

  • No (int.) > 180◦ angle categories
  • At least one 0◦ angle category per (int.) face

0 90 90 G ↑ G ↑ is acyclic and has no internal sources or sinks.

Lemma.

Let (G, AQ) be a triangulated angular labeled graph. Then,

270◦ 270◦

slide-71
SLIDE 71

Triangulated Graphs

G →

  • No (int.) > 180◦ angle categories
  • At least one 0◦ angle category per (int.) face

0 90 90 G ↑ is acyclic and has no internal sources or sinks.

Lemma.

Let (G, AQ) be a triangulated angular labeled graph. Then,

270◦ 270◦

slide-72
SLIDE 72

Triangulated Graphs

G →

  • No (int.) > 180◦ angle categories
  • At least one 0◦ angle category per (int.) face

0 90 90

Lemma.

G ↑ and G → are acyclic and have no internal sources or sinks. Let (G, AQ) be a triangulated angular labeled graph. Then,

slide-73
SLIDE 73

Triangulated Graphs

  • No (int.) > 180◦ angle categories
  • At least one 0◦ angle category per (int.) face

0 90 90

Lemma.

G ↑ and G → are acyclic and have no internal sources or sinks. Let (G, AQ) be a triangulated angular labeled graph. Then, G

slide-74
SLIDE 74

Triangulated Graphs

  • No (int.) > 180◦ angle categories
  • At least one 0◦ angle category per (int.) face

0 90 90

Lemma.

G ↑ and G → are acyclic and have no internal sources or sinks. Let (G, AQ) be a triangulated angular labeled graph. Then, G internally

slide-75
SLIDE 75

Triangulated Graphs

  • No (int.) > 180◦ angle categories
  • At least one 0◦ angle category per (int.) face

0 90 90

Lemma.

G ↑ and G → are acyclic and have no internal sources or sinks. Let (G, AQ) be a triangulated angular labeled graph. Then, G internally What if there are no (int.) 180◦ angle categories?

slide-76
SLIDE 76

Quasi-triangulated Graphs

What if there are no (int.) 180◦ angle categories?

slide-77
SLIDE 77

Quasi-triangulated Graphs

wN wW wS What if there are no (int.) 180◦ angle categories?

slide-78
SLIDE 78

Quasi-triangulated Graphs

wN wW wS What if there are no (int.) 180◦ angle categories? wE

slide-79
SLIDE 79

Quasi-triangulated Graphs

What if there are no (int.) 180◦ angle categories? wN wW wS wE G →

slide-80
SLIDE 80

Quasi-triangulated Graphs

What if there are no (int.) 180◦ angle categories? wN wW wS wE

  • topological order on G →:

G → x-coordinates

slide-81
SLIDE 81

Quasi-triangulated Graphs

What if there are no (int.) 180◦ angle categories? wN wW wS wE

  • topological order on G →:

G →

1 2 3 4 5 6 7 8 9 10 11 12 13 14

x-coordinates

slide-82
SLIDE 82

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories? wN wW wS wE

  • topological order on G →:

G →

1 2 3 4 5 6 7 8 9 10 11 12 13 14

x-coordinates

slide-83
SLIDE 83

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:

wN wW wS wE G ↑ x-coordinates

slide-84
SLIDE 84

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:

wN wW wS wE G ↑

  • topological order on G ↑:

x-coordinates y-coordinates

slide-85
SLIDE 85

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:

wN wW wS wE G ↑

  • topological order on G ↑:

2 14 3 10 5 9 8 12 4 7 11 6 1 13

x-coordinates y-coordinates

slide-86
SLIDE 86

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:

wN wW wS wE G ↑

  • topological order on G ↑:

2 14 3 10 5 9 8 12 4 7 11 6 1 13

x-coordinates y-coordinates

slide-87
SLIDE 87

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:

wN wW wS wE G ↑

  • topological order on G ↑:

2 14 3 10 5 9 8 12 4 7 11 6 1 13

x-coordinates y-coordinates

slide-88
SLIDE 88

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:

wN wW wS wE G ↑

  • topological order on G ↑:

2 14 3 10 5 9 8 12 4 7 11 6 1 13

x-coordinates y-coordinates

slide-89
SLIDE 89

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:

wN wW wS wE G ↑

  • topological order on G ↑:

2 14 3 10 5 9 8 12 4 7 11 6 1 13

x-coordinates y-coordinates

slide-90
SLIDE 90

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:
  • topological order on G ↑:

x-coordinates y-coordinates

slide-91
SLIDE 91

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:
  • topological order on G ↑:

x-coordinates y-coordinates

slide-92
SLIDE 92

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:
  • topological order on G ↑:

0◦

x-coordinates y-coordinates

slide-93
SLIDE 93

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:
  • topological order on G ↑:

0◦ 90◦ 90◦

x-coordinates y-coordinates

slide-94
SLIDE 94

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:
  • topological order on G ↑:

0◦ 90◦ 90◦

x-coordinates y-coordinates

slide-95
SLIDE 95

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:
  • topological order on G ↑:

0◦ 90◦ 90◦

x-coordinates y-coordinates

slide-96
SLIDE 96

Quasi-triangulated Graphs

1 3 5 7 9 11 13

What if there are no (int.) 180◦ angle categories?

  • topological order on G →:
  • topological order on G ↑:

0◦ 90◦ 90◦

Lemma.

quasi-triangulated angular labeled graph (G, AQ), all internal angles have category 0◦ or 90◦ ⇒ straight-line windrose planar drawing

  • n n × n grid in O(n) time

x-coordinates y-coordinates

slide-97
SLIDE 97

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph.

slide-98
SLIDE 98

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. Task: Augment (G, AQ) to a quasi-triangulated angular labeled graph (G ∗, AQ∗) without internal angle category 180◦.

slide-99
SLIDE 99

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. Task: Augment (G, AQ) to a quasi-triangulated angular labeled graph (G ∗, AQ∗) without internal angle category 180◦. v

slide-100
SLIDE 100

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. Task: Augment (G, AQ) to a quasi-triangulated angular labeled graph (G ∗, AQ∗) without internal angle category 180◦. v u

slide-101
SLIDE 101

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. Task: Augment (G, AQ) to a quasi-triangulated angular labeled graph (G ∗, AQ∗) without internal angle category 180◦. v u w

slide-102
SLIDE 102

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. Task: Augment (G, AQ) to a quasi-triangulated angular labeled graph (G ∗, AQ∗) without internal angle category 180◦. v u w

slide-103
SLIDE 103

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

slide-104
SLIDE 104

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
slide-105
SLIDE 105

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
slide-106
SLIDE 106

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
slide-107
SLIDE 107

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
slide-108
SLIDE 108

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

slide-109
SLIDE 109

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

slide-110
SLIDE 110

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

  • Add wN, wE, wS, and wW
slide-111
SLIDE 111

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

  • Add wN, wE, wS, and wW
slide-112
SLIDE 112

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

  • Add wN, wE, wS, and wW
slide-113
SLIDE 113

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

  • Add wN, wE, wS, and wW
slide-114
SLIDE 114

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

  • Add wN, wE, wS, and wW
slide-115
SLIDE 115

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

  • Add wN, wE, wS, and wW
slide-116
SLIDE 116

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

  • Add wN, wE, wS, and wW
slide-117
SLIDE 117

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

  • Add wN, wE, wS, and wW
slide-118
SLIDE 118

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

  • Add wN, wE, wS, and wW
slide-119
SLIDE 119

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

  • Add wN, wE, wS, and wW
slide-120
SLIDE 120

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

  • Add wN, wE, wS, and wW
slide-121
SLIDE 121

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

  • Add wN, wE, wS, and wW
slide-122
SLIDE 122

Triangulated graphs

Let (G, AQ) be a triangulated angular labeled graph. v u w

  • Assume that

ր

u = ∅,

ր

w = ∅ (otherwise, set v = u/w)

  • if (u, w) not on outer face:
  • if (u, w) on outer face:

v u w

  • Add wN, wE, wS, and wW

Theorem.

A triangulated q-constrained graph (G, Q) is windrose planar ⇔ AQ is angular → draw with 1 bend per edge

  • n an O(n) × O(n) grid in O(n) time
slide-123
SLIDE 123

Plane Graphs

Lemma.

plane q-constrained graph (G, Q) ⇒ find a large-angle assignment L such that AQ,L is angular (if it exists) in O(n log3 n) time

slide-124
SLIDE 124

Plane Graphs

Lemma.

plane q-constrained graph (G, Q) ⇒ find a large-angle assignment L such that AQ,L is angular (if it exists) in O(n log3 n) time

Lemma.

Plane angular labeled graph (G, A) ⇒ augment in O(n) time to a triangulated labeled graph (G ′, A′)

slide-125
SLIDE 125

Plane Graphs

Lemma.

plane q-constrained graph (G, Q) ⇒ find a large-angle assignment L such that AQ,L is angular (if it exists) in O(n log3 n) time

Lemma.

Plane angular labeled graph (G, A) ⇒ augment in O(n) time to a triangulated labeled graph (G ′, A′)

270◦ 90◦ β v1 v2 v3 v4 C

slide-126
SLIDE 126

Plane Graphs

Lemma.

plane q-constrained graph (G, Q) ⇒ find a large-angle assignment L such that AQ,L is angular (if it exists) in O(n log3 n) time

Lemma.

Plane angular labeled graph (G, A) ⇒ augment in O(n) time to a triangulated labeled graph (G ′, A′)

180◦ 90◦ v1 v3 90◦ 0◦ C β v2 v4

slide-127
SLIDE 127

Plane Graphs

Lemma.

plane q-constrained graph (G, Q) ⇒ find a large-angle assignment L such that AQ,L is angular (if it exists) in O(n log3 n) time

Lemma.

Plane angular labeled graph (G, A) ⇒ augment in O(n) time to a triangulated labeled graph (G ′, A′)

Theorem.

Plane q-constrained Graph ⇒ test windrose planarity in O(n log3 n) time → draw with 1 bend per edge on O(n) × O(n) grid

slide-128
SLIDE 128

Further Results

Theorem.

Windrose planar q-constrained graph (G, Q) whose blocks are either edges or planar 3-trees ⇒ straight-line windrose planar drawing

slide-129
SLIDE 129

Further Results

Theorem.

Windrose planar q-constrained graph (G, Q) whose blocks are either edges or planar 3-trees ⇒ straight-line windrose planar drawing Straight-line windrose planar drawings require exponential area.

Theorem.

slide-130
SLIDE 130

Further Results

Theorem.

Windrose planar q-constrained graph (G, Q) whose blocks are either edges or planar 3-trees ⇒ straight-line windrose planar drawing Straight-line windrose planar drawings require exponential area.

Theorem.

slide-131
SLIDE 131

Further Results

Theorem.

Windrose planar q-constrained graph (G, Q) whose blocks are either edges or planar 3-trees ⇒ straight-line windrose planar drawing Straight-line windrose planar drawings require exponential area.

Theorem.

slide-132
SLIDE 132

Further Results

Theorem.

Windrose planar q-constrained graph (G, Q) whose blocks are either edges or planar 3-trees ⇒ straight-line windrose planar drawing Straight-line windrose planar drawings require exponential area.

Theorem.

slide-133
SLIDE 133

Open problems

  • Draw windrose planar graphs straight-line?
slide-134
SLIDE 134

Open problems

  • Draw windrose planar graphs straight-line?
  • Generalizations: each edge has a set of possible directions
  • r allow more than two directions
slide-135
SLIDE 135

Open problems

  • Draw windrose planar graphs straight-line?
  • Generalizations:
  • What about bimonotone (relationship between each pair
  • f vertices)? Not always straight-line!

each edge has a set of possible directions

  • r allow more than two directions
slide-136
SLIDE 136

Open problems

  • Draw windrose planar graphs straight-line?
  • Generalizations:
  • What about bimonotone (relationship between each pair
  • f vertices)? Not always straight-line!

each edge has a set of possible directions

  • r allow more than two directions