Drawing Graphs within Restricted Area Martin Fink Department of - - PowerPoint PPT Presentation

drawing graphs within restricted area
SMART_READER_LITE
LIVE PREVIEW

Drawing Graphs within Restricted Area Martin Fink Department of - - PowerPoint PPT Presentation

Drawing Graphs within Restricted Area Martin Fink Department of Computer Science University of California, Santa Barbara Joint work with Maximilian Aulbach, Julian Schuhmann, and Alexander Wolff 1 /25 Motivation Calculation Graphs


slide-1
SLIDE 1

/25 1

Drawing Graphs within Restricted Area

Martin Fink Department of Computer Science University of California, Santa Barbara

Joint work with Maximilian Aulbach, Julian Schuhmann, and Alexander Wolff

slide-2
SLIDE 2

/25 2

Motivation – Calculation Graphs

directed graph of calculation steps

1 2 2−1 2

1 − 1

2

slide-3
SLIDE 3

/25 2

Motivation – Calculation Graphs

directed graph of calculation steps

1−1 2 1 2 2−1 2

1 − 1

2

slide-4
SLIDE 4

/25 2

Motivation – Calculation Graphs

directed graph of calculation steps

1−1 2 1 2 2−1 2

1 − 1

2

2 6 5 3 1 2

source: studies with many students

slide-5
SLIDE 5

/25 2

Motivation – Calculation Graphs

directed graph of calculation steps

1−1 2 1 2 2−1 2

1 − 1

2

2 6 5 3 1 2

source: studies with many students 10 6 3 8 2

slide-6
SLIDE 6

/25 2

Motivation – Calculation Graphs

directed graph of calculation steps

1−1 2 1 2 2−1 2

1 − 1

2

2 6 5 3 1 2

source: studies with many students

  • ften very large (500 – 1000 vertices)

10 6 3 8 2

slide-7
SLIDE 7

/25 2

Motivation – Calculation Graphs

directed graph of calculation steps

1−1 2 1 2 2−1 2

1 − 1

2

2 6 5 3 1 2

source: studies with many students

  • ften very large (500 – 1000 vertices)

task: allow human expert to analyze for typical calculation steps and frequent mistakes 10 6 3 8 2

slide-8
SLIDE 8

/25 2

Motivation – Calculation Graphs

directed graph of calculation steps

1−1 2 1 2 2−1 2

1 − 1

2

2 6 5 3 1 2

source: studies with many students

  • ften very large (500 – 1000 vertices)

task: allow human expert to analyze for typical calculation steps and frequent mistakes 10 6 3 8 2 – draw heavy subgraph in prescribed drawing area – given vertex sizes

slide-9
SLIDE 9

/25 2

Motivation – Calculation Graphs

directed graph of calculation steps

1−1 2 1 2 2−1 2

1 − 1

2

2 6 5 3 1 2

source: studies with many students

  • ften very large (500 – 1000 vertices)

task: allow human expert to analyze for typical calculation steps and frequent mistakes 10 6 3 8 2 – draw heavy subgraph in prescribed drawing area – given vertex sizes NP-hard

slide-10
SLIDE 10

/25 3

Motivation cont.

social networks

slide-11
SLIDE 11

/25 3

Motivation cont.

social networks collaboration/coauthor graphs

slide-12
SLIDE 12

/25 3

Motivation cont.

social networks collaboration/coauthor graphs example: invited talk yesterday

slide-13
SLIDE 13

/25 3

Motivation cont.

social networks collaboration/coauthor graphs Formally: Input: – weighted graph G = (V , E) – vertex sizes w(v) and h(v) for each v ∈ V – prescribed drawing area of width W and height H example: invited talk yesterday

slide-14
SLIDE 14

/25 3

Motivation cont.

social networks collaboration/coauthor graphs Formally: Input: – weighted graph G = (V , E) – vertex sizes w(v) and h(v) for each v ∈ V – prescribed drawing area of width W and height H Output: nice drawing of heavy subgraph G ′ of G within the drawing area example: invited talk yesterday

slide-15
SLIDE 15

/25 3

Motivation cont.

social networks collaboration/coauthor graphs Formally: Input: – weighted graph G = (V , E) – vertex sizes w(v) and h(v) for each v ∈ V – prescribed drawing area of width W and height H Output: nice drawing of heavy subgraph G ′ of G within the drawing area depends on application example: invited talk yesterday

slide-16
SLIDE 16

/25 3

Motivation cont.

social networks collaboration/coauthor graphs Formally: Input: – weighted graph G = (V , E) – vertex sizes w(v) and h(v) for each v ∈ V – prescribed drawing area of width W and height H Output: nice drawing of heavy subgraph G ′ of G within the drawing area depends on application maximize weight example: invited talk yesterday

slide-17
SLIDE 17

/25 3

Motivation cont.

social networks collaboration/coauthor graphs Formally: Input: – weighted graph G = (V , E) – vertex sizes w(v) and h(v) for each v ∈ V – prescribed drawing area of width W and height H Output: nice drawing of heavy subgraph G ′ of G within the drawing area depends on application maximize weight We present heuristics for – calculation graphs – straight-line drawings of general weighted graphs

slide-18
SLIDE 18

/25 4

Related Work

[Fruchterman, Reingold 1991]: prescribed rectangular drawing area but: vertices can be made arbitrarily small

slide-19
SLIDE 19

/25 4

Related Work

[Fruchterman, Reingold 1991]: prescribed rectangular drawing area but: vertices can be made arbitrarily small constrained graph layout, e.g., [Dwyer et al. 2006]: constrain vertex position to prescribed rectangle but: no strategy for dropping vertices

slide-20
SLIDE 20

/25 4

Related Work

[Fruchterman, Reingold 1991]: prescribed rectangular drawing area but: vertices can be made arbitrarily small constrained graph layout, e.g., [Dwyer et al. 2006]: constrain vertex position to prescribed rectangle but: no strategy for dropping vertices interactive methods for graph exploration: – [Dwyer et al. 2008]: overview+detail – [Da Lozzo et al. 2011]: graph exploration on smartphone

slide-21
SLIDE 21

/25 5

Drawing Calculation Graphs

1−1 2 1 2 2−1 2

1 − 1

2

hierarchical drawing (left to right) start vertex left

  • rthogonal edges
slide-22
SLIDE 22

/25 6

Calculation Graphs – Our Approach

based on Sugiyama framework extra phases for removing vertices/edges

slide-23
SLIDE 23

/25 6

Calculation Graphs – Our Approach

based on Sugiyama framework extra phases for removing vertices/edges take weights into account

slide-24
SLIDE 24

/25 6

Calculation Graphs – Our Approach

based on Sugiyama framework extra phases for removing vertices/edges take weights into account

1 2 5 6 3 4

breaking cycles

slide-25
SLIDE 25

/25 6

Calculation Graphs – Our Approach

based on Sugiyama framework extra phases for removing vertices/edges take weights into account

1 2 5 6 3 4

breaking cycles

2 5 6 3 4 1

layer assignment

slide-26
SLIDE 26

/25 6

Calculation Graphs – Our Approach

based on Sugiyama framework extra phases for removing vertices/edges take weights into account

1 2 5 6 3 4

breaking cycles

2 5 6 3 4 1

layer assignment crossing reduction

1 2 3 4 5 6

slide-27
SLIDE 27

/25 6

Calculation Graphs – Our Approach

based on Sugiyama framework extra phases for removing vertices/edges take weights into account

1 2 5 6 3 4

breaking cycles

2 5 6 3 4 1

layer assignment crossing reduction

1 2 3 4 5 6 1 2 5 6 3 4

edge routing

slide-28
SLIDE 28

/25 6

Calculation Graphs – Our Approach

based on Sugiyama framework extra phases for removing vertices/edges take weights into account

1 2 5 6 3 4

breaking cycles

2 5 6 3 4 1

layer assignment crossing reduction

1 2 3 4 5 6 1 2 5 6 3 4

edge routing

slide-29
SLIDE 29

/25 6

Calculation Graphs – Our Approach

based on Sugiyama framework extra phases for removing vertices/edges take weights into account

1 2 5 6 3 4

breaking cycles

2 5 6 3 4 1

layer assignment crossing reduction

1 2 3 4 5 6 1 2 5 6 3 4

edge routing

slide-30
SLIDE 30

/25 7

Our Adjustments

breaking cycles: minimize weight of reverted edges can afford ILP solution

slide-31
SLIDE 31

/25 7

Our Adjustments

breaking cycles: minimize weight of reverted edges can afford ILP solution layer assignment: first use overfull layers

slide-32
SLIDE 32

/25 7

Our Adjustments

breaking cycles: minimize weight of reverted edges can afford ILP solution layer assignment: first use overfull layers from left to right: remove vertices until layer small enough

slide-33
SLIDE 33

/25 7

Our Adjustments

breaking cycles: minimize weight of reverted edges can afford ILP solution layer assignment: first use overfull layers from left to right: remove vertices until layer small enough remove vertex v based on importance i(v) = w(v)/h(v)

slide-34
SLIDE 34

/25 7

Our Adjustments

breaking cycles: minimize weight of reverted edges can afford ILP solution layer assignment: first use overfull layers from left to right: remove vertices until layer small enough remove layers until all vertices fit into drawing area

slide-35
SLIDE 35

/25 7

Our Adjustments

breaking cycles: minimize weight of reverted edges can afford ILP solution layer assignment: first use overfull layers from left to right: remove vertices until layer small enough remove layers until all vertices fit into drawing area remove layer L based on importance i(L) =

v∈L w(v)/width(L)

slide-36
SLIDE 36

/25 7

Our Adjustments

breaking cycles: minimize weight of reverted edges can afford ILP solution layer assignment: first use overfull layers from left to right: remove vertices until layer small enough remove layers until all vertices fit into drawing area crossing minimization: adjacent-exchange heuristic can take weights of crossing edges into account u v

slide-37
SLIDE 37

/25 7

Our Adjustments

breaking cycles: minimize weight of reverted edges can afford ILP solution layer assignment: first use overfull layers from left to right: remove vertices until layer small enough remove layers until all vertices fit into drawing area crossing minimization: adjacent-exchange heuristic can take weights of crossing edges into account u v higher cost for crossing heavy edge

slide-38
SLIDE 38

/25 7

Our Adjustments

breaking cycles: minimize weight of reverted edges can afford ILP solution layer assignment: first use overfull layers from left to right: remove vertices until layer small enough remove layers until all vertices fit into drawing area crossing minimization: adjacent-exchange heuristic can take weights of crossing edges into account too many crossings: remove edge e based on importance i(e) = w(e) total weight of edges crossing e

slide-39
SLIDE 39

/25 7

Our Adjustments

breaking cycles: minimize weight of reverted edges can afford ILP solution layer assignment: first use overfull layers from left to right: remove vertices until layer small enough remove layers until all vertices fit into drawing area crossing minimization: adjacent-exchange heuristic can take weights of crossing edges into account too many crossings: remove edge e based on importance i(e) = w(e) total weight of edges crossing e try to reinsert removed

  • bjects if space available

extension:

slide-40
SLIDE 40

/25 8

Edge Routing

place vertical segments between consecutive layers

slide-41
SLIDE 41

/25 8

Edge Routing

place vertical segments between consecutive layers no unnecessary crossings

slide-42
SLIDE 42

/25 8

Edge Routing

place vertical segments between consecutive layers no unnecessary crossings

slide-43
SLIDE 43

/25 8

Edge Routing

place vertical segments between consecutive layers no unnecessary crossings improve spacing of segments by force-directed method

slide-44
SLIDE 44

/25 8

Edge Routing

place vertical segments between consecutive layers no unnecessary crossings improve spacing of segments by force-directed method

slide-45
SLIDE 45

/25 8

Edge Routing

place vertical segments between consecutive layers no unnecessary crossings improve spacing of segments by force-directed method Extension: B´ ezier Curves

slide-46
SLIDE 46

/25 8

Edge Routing

place vertical segments between consecutive layers no unnecessary crossings improve spacing of segments by force-directed method Extension: B´ ezier Curves Improved Routing

slide-47
SLIDE 47

/25 9

Example

32 40 6 10 17 40 7 8 3 40

(3

8 + 1 5) (15+8) 40

(15

40 + 9 40)

((3·5)

(8·5) + (1·8) (5·8)) 1 5 120 40 23 45 4 14 11 20

(15

40 + 5 40) 29 40 23 80 4 12 13 40

(15

40 + 8 40) 21 40 1 10

(3

8 + 3 8) 16 40 1 2 1 4

117

40 4 5

( 3

40 + 1 40) 22 40 3 13 19 40 1 3 3 5 4 8 18 40 23 40 4 13 4 40 7 40 24 40

3 1

13

(30

80 + 16 80) 20 40 (3+1) (8+5)

38 of 358 vertices (10.6 %); 91.1 % of the vertex weight

slide-48
SLIDE 48

/25 9

Example

32 40 6 10 17 40 7 8 3 40

(3

8 + 1 5) (15+8) 40

(15

40 + 9 40)

((3·5)

(8·5) + (1·8) (5·8)) 1 5 120 40 23 45 4 14 11 20

(15

40 + 5 40) 29 40 23 80 4 12 13 40

(15

40 + 8 40) 21 40 1 10

(3

8 + 3 8) 16 40 1 2 1 4

117

40 4 5

( 3

40 + 1 40) 22 40 3 13 19 40 1 3 3 5 4 8 18 40 23 40 4 13 4 40 7 40 24 40

3 1

13

(30

80 + 16 80) 20 40 (3+1) (8+5)

38 of 358 vertices (10.6 %); 91.1 % of the vertex weight

slide-49
SLIDE 49

/25 10

Example 2

12 (34

6 · 43 6)

(8

3 · 9 2)

123

6

122

6

4 153

2

16.5 159

6

161

2

163

6 11 1 (11·3) (1·2) 24 72

(11

9 · 9 2)

51

2

99 194

5

81

6

261

2

(32

3 · 41 2)

71

3

72

6 24 6 (11·9) (3·2)

121

3

1212

6

(2

3 · 1 2)

161

3

(6

9 · 4 8)

(11

1 · 3 2)

(22

6 · 27 6 )

14 1039

6

(6

3 · 4 2)

(31

3 · 41 1) 88 6 99 5 33 2 99 6

73

5

9 (11

3 · 9 2)

(9

3 · 6 2) 33 3

4.7 % of 1031 vert.; 75.9 % vertex weight; 74.1 % edge weight

slide-50
SLIDE 50

/25 10

Example 2

33 3

(32

3 · 41 2)

(11

1 · 3 2) 594 36

122

6

72

6 99 5

4

99 6

13 (8

3 · 9 2)

12 (11

3 · 9 2)

8

24 72

153

2 22 27 (11·9) (3·2) 33 2

81

6

(22

6 · 27 6 )

161

2

(6

3 · 4 2)

163

6

(11

9 · 9 2)

(2

3 · 1 2) 49 6

9 194

5

(6

9 · 4 8) 594 6 (11·3) (1·2)

(31

3 · 41 1)

121

3

99

88 6

161

3

14

11 1

73

5

1212

6

(34

6 · 43 6) 24 6

16.5

4.3 % of 1031 vert.; 76.6 % vertex weight; 70.2 % edge weight

– Planar Output

slide-51
SLIDE 51

/25 11

Remarks

runtime for graph with 1031 vertices and 1549 edges to A4 paper: ≈ 3s

slide-52
SLIDE 52

/25 11

Remarks

runtime for graph with 1031 vertices and 1549 edges to A4 paper: ≈ 3s most of it for edge routing

slide-53
SLIDE 53

/25 11

Remarks

runtime for graph with 1031 vertices and 1549 edges to A4 paper: ≈ 3s most of it for edge routing preprocessing removing very light vertices yielded speedup + heavier outputs

slide-54
SLIDE 54

/25 11

Remarks

runtime for graph with 1031 vertices and 1549 edges to A4 paper: ≈ 3s most of it for edge routing preprocessing removing very light vertices yielded speedup + heavier outputs especially with vertex/edge reinsertion: no significant influence of layer assignment algorithm

slide-55
SLIDE 55

/25 12

General Graphs a b e f d c j i k l h p g m r s x y z t

  • u

w v q n

slide-56
SLIDE 56

/25 12

General Graphs a b e f d c j i k l h p g m r s x y z t

  • u

w v q n

slide-57
SLIDE 57

/25 12

General Graphs a b e f d c j i k l h p g m r s x y z t

  • u

w v q n

slide-58
SLIDE 58

/25 12

General Graphs d c i k h p g x t q n

slide-59
SLIDE 59

/25 12

General Graphs a b e f d c j i k l h p g m r s x y z t

  • u

w v q n

slide-60
SLIDE 60

/25 12

General Graphs b e f d c j i k l h p g m r s x y z t

  • u

w v q n a b e f d c j i k l h p g m r s x y z t

  • u

w v q n

slide-61
SLIDE 61

/25 12

General Graphs b e f d c j i k l h p g m r s x y z t

  • u

w v q n ab e f d c j i k l h p g m r s x y z t

  • u

w v q n

slide-62
SLIDE 62

/25 12

General Graphs b e f d c j i k l h p g m r s x y z t

  • u

w v q n a b e f d c j i k l h p g m r s x y z t

  • u

w v q n

slide-63
SLIDE 63

/25 13

General Graphs – Basic Ideas b e f d c j i k l h p g m r s x y z t

  • u

w v q n a b e f d c j i k l h p g m r s x y z t

  • u

w v q n

use force-directed approach + standard forces

slide-64
SLIDE 64

/25 13

General Graphs – Basic Ideas b e f d c j i k l h p g m r s x y z t

  • u

w v q n a b e f d c j i k l h p g m r s x y z t

  • u

w v q n

use force-directed approach + standard forces keep drawing in prescribed frame

slide-65
SLIDE 65

/25 13

General Graphs – Basic Ideas b e f d c j i k l h p g m r s x y z t

  • u

w v q n a b e f d c j i k l h p g m r s x y z t

  • u

w v q n

use force-directed approach + standard forces keep drawing in prescribed frame compare [Fruchterman, Reingold ’91]

slide-66
SLIDE 66

/25 13

General Graphs – Basic Ideas b e f d c j i k l h p g m r s x y z t

  • u

w v q n a b e f d c j i k l h p g m r s x y z t

  • u

w v q n

use force-directed approach + standard forces keep drawing in prescribed frame keep drawing in frame slowly shrink frame compare [Fruchterman, Reingold ’91]

slide-67
SLIDE 67

/25 13

General Graphs – Basic Ideas b e f d c j i k l h p g m r s x y z t

  • u

w v q n a b e f d c j i k l h p g m r s x y z t

  • u

w v q n

use force-directed approach + standard forces keep drawing in prescribed frame keep drawing in frame slowly shrink frame remove vertices/edges if necessary after shrinking find new equilibrium compare [Fruchterman, Reingold ’91]

slide-68
SLIDE 68

/25 14

General Graphs – Outline

start with some initial drawing

slide-69
SLIDE 69

/25 14

General Graphs – Outline

start with some initial drawing compute equilibrium layout

slide-70
SLIDE 70

/25 14

General Graphs – Outline

start with some initial drawing compute equilibrium layout initialize frame F around drawing

slide-71
SLIDE 71

/25 14

General Graphs – Outline

start with some initial drawing compute equilibrium layout initialize frame F around drawing while F too large:

slide-72
SLIDE 72

/25 14

General Graphs – Outline

start with some initial drawing compute equilibrium layout initialize frame F around drawing while F too large: – shrink F – find new equilibrium

slide-73
SLIDE 73

/25 14

General Graphs – Outline

start with some initial drawing compute equilibrium layout initialize frame F around drawing while F too large: – shrink F – find new equilibrium – if necessary remove vertices/edges

slide-74
SLIDE 74

/25 14

General Graphs – Outline

start with some initial drawing compute equilibrium layout initialize frame F around drawing while F too large: – shrink F – find new equilibrium – if necessary remove vertices/edges postprocessing: transform straight-line edges to B´ ezier curves

slide-75
SLIDE 75

/25 15

Forces

repulsion between vertices

v1 v2

slide-76
SLIDE 76

/25 15

Forces

repulsion between vertices

v1 v2

attraction between adjacent vertices

v1 v2

slide-77
SLIDE 77

/25 15

Forces

repulsion between vertices

v1 v2

attraction between adjacent vertices

v1 v2

  • parameterized by

desired edge length [Fruchterman, Reingold 1991]

slide-78
SLIDE 78

/25 15

Forces

repulsion between vertices

v1 v2

attraction between adjacent vertices

v1 v2

  • parameterized by

desired edge length edge-vertex repulsion

v3 v1 iv3 v2

[Bertault, 2000] [Fruchterman, Reingold 1991]

slide-79
SLIDE 79

/25 15

Forces

repulsion between vertices

v1 v2

attraction between adjacent vertices

v1 v2

  • parameterized by

desired edge length edge-vertex repulsion

v3 v1 iv3 v2

[Bertault, 2000] v frame boundary: cut off movement [Fruchterman, Reingold 1991]

slide-80
SLIDE 80

/25 16

Handling the Frame

slide-81
SLIDE 81

/25 16

Handling the Frame F

slide-82
SLIDE 82

/25 16

Handling the Frame F

slide-83
SLIDE 83

/25 16

Handling the Frame F F ′

iteratively shrink frame

slide-84
SLIDE 84

/25 16

Handling the Frame F F ′

iteratively shrink frame push vertices into frame v2 v1 v2 v1 v2 v1

slide-85
SLIDE 85

/25 16

Handling the Frame F F ′

iteratively shrink frame push vertices into frame v2 v1 v2 v1 v2 v1 compute new equilibrium layout

slide-86
SLIDE 86

/25 16

Handling the Frame F F ′

iteratively shrink frame push vertices into frame v2 v1 v2 v1 v2 v1 compute new equilibrium layout remove vertices/edges if necessary distances too short ↔ desired edge length

slide-87
SLIDE 87

/25 16

Handling the Frame F F ′

iteratively shrink frame push vertices into frame v2 v1 v2 v1 v2 v1 compute new equilibrium layout remove vertices/edges if necessary distances too short ↔ desired edge length average edge length small: remove a vertex

slide-88
SLIDE 88

/25 16

Handling the Frame F F ′

iteratively shrink frame push vertices into frame v2 v1 v2 v1 v2 v1 compute new equilibrium layout remove vertices/edges if necessary distances too short ↔ desired edge length average edge length small: remove a vertex

  • therwise: remove an edge
slide-89
SLIDE 89

/25 17

Removing vertices – Pressure and Stress

remove lightest vertex remove vertex with worst weight-area ratio

slide-90
SLIDE 90

/25 17

Removing vertices – Pressure and Stress

remove lightest vertex remove vertex with worst weight-area ratio

slide-91
SLIDE 91

/25 17

Removing vertices – Pressure and Stress

remove lightest vertex remove vertex with worst weight-area ratio

✗ ✗

slide-92
SLIDE 92

/25 17

Removing vertices – Pressure and Stress

remove lightest vertex remove vertex with worst weight-area ratio

✗ ✗

also take current drawing into account: compute pressure based on forces

slide-93
SLIDE 93

/25 17

Removing vertices – Pressure and Stress

remove lightest vertex remove vertex with worst weight-area ratio

✗ ✗

also take current drawing into account: compute pressure based on forces idea: forces in opposite directions v

slide-94
SLIDE 94

/25 17

Removing vertices – Pressure and Stress

remove lightest vertex remove vertex with worst weight-area ratio

✗ ✗

also take current drawing into account: compute pressure based on forces idea: forces in opposite directions v pressure P(v)

slide-95
SLIDE 95

/25 17

Removing vertices – Pressure and Stress

remove lightest vertex remove vertex with worst weight-area ratio

✗ ✗

also take current drawing into account: compute pressure based on forces v

slide-96
SLIDE 96

/25 17

Removing vertices – Pressure and Stress

remove lightest vertex remove vertex with worst weight-area ratio

✗ ✗

also take current drawing into account: compute pressure based on forces v

slide-97
SLIDE 97

/25 17

Removing vertices – Pressure and Stress

remove lightest vertex remove vertex with worst weight-area ratio

✗ ✗

also take current drawing into account: compute pressure based on forces v – compare with opposite octants

slide-98
SLIDE 98

/25 17

Removing vertices – Pressure and Stress

remove lightest vertex remove vertex with worst weight-area ratio

✗ ✗

also take current drawing into account: compute pressure based on forces 6 1 2 3 v – compare with opposite octants – worst pair → pressure

slide-99
SLIDE 99

/25 17

Removing vertices – Pressure and Stress

remove lightest vertex remove vertex with worst weight-area ratio

✗ ✗

also take current drawing into account: compute pressure based on forces v v 6 1 2 3 2 3 4 7 v

slide-100
SLIDE 100

/25 17

Removing vertices – Pressure and Stress

remove lightest vertex remove vertex with worst weight-area ratio

✗ ✗

also take current drawing into account: compute pressure based on forces v v 6 1 2 3 2 3 4 7 v remove vertex with highest stress value S(v) =

P(v) w(v)·(d(v)+0.001)

slide-101
SLIDE 101

/25 18

Remark: Boundary Vertices

movement cut off v

slide-102
SLIDE 102

/25 18

Remark: Boundary Vertices

movement cut off v model as force

  • nly considered for pressure computation
slide-103
SLIDE 103

/25 19

Postprocessing: Curved Edges

avoid edge-vertex intersections v5 v8 v9 v6 v2 v4 v7 v3 v1

slide-104
SLIDE 104

/25 19

Postprocessing: Curved Edges

avoid edge-vertex intersections v5 v8 v9 v6 v2 v4 v7 v3 v1

slide-105
SLIDE 105

/25 19

Postprocessing: Curved Edges

avoid edge-vertex intersections v5 v8 v9 v6 v2 v4 v7 v3 v1

slide-106
SLIDE 106

/25 19

Postprocessing: Curved Edges

avoid edge-vertex intersections v5 v8 v9 v6 v2 v4 draw some edges as quadratic B´ ezier curves force-directed computation of curve

P1 v2 v3 v1

v7 v3 v1

slide-107
SLIDE 107

/25 20

Example – Input

slide-108
SLIDE 108

/25 21

Example – Output

Yehuda Koren Ulrich F¨

  • ßmeier

Takao Nishizeki Prosenjit Bose Maurizio Patrignani Walter Didimo Bettina Speckmann Marc J. van Kreveld Joe Marks Ashim Garg Sebastian Leipert Shin-Ichi Nakano Ugur Dogrus¨

  • z

Petra Mutzel G´ eza T´

  • th

Kim Marriott David R. Wood Ioannis G. Tollis Christian Bachmaier Gunnar W. Klau Tim Dwyer Christian A. Duncan Lev Nachmanson Georg Sander Maurizio Pizzonia Vida Dujmovic William Lenhart Stephen K. Wismath

  • Md. Saidur Rahman 0001

Michael Wybrow Giuseppe Di Battista Alexander Wolff Patrizio Angelini Markus Chimani Karsten Klein Henk Meijer Giuseppe Liotta Emilio Di Giacomo Therese C. Biedl Michael T. Goodrich Roberto Tamassia Ulrik Brandes Sabine Cornelsen Carsten Gutwenger Michael Kaufmann Martin N¨

  • llenburg

Ignaz Rutter Franz-Josef Brandenburg Peter Eades Seok-Hee Hong Dorothea Wagner Tamara Mchedlidze Sue Whitesides Antonios Symvonis Michael A. Bekos David Eppstein Stephen G. Kobourov Fabrizio Frati Jan Kratochv´ ıl Helen C. Purchase Emden R. Gansner Michael J¨ unger Stephen C. North

  • J. Joseph Fowler

J´ anos Pach Stina S. Bridgeman

slide-109
SLIDE 109

/25 22

Example – Curved Edges

Yehuda Koren Ulrich F¨

  • ßmeier

Takao Nishizeki Prosenjit Bose Maurizio Patrignani Walter Didimo Bettina Speckmann Marc J. van Kreveld Joe Marks Ashim Garg Sebastian Leipert Shin-Ichi Nakano Ugur Dogrus¨

  • z

Petra Mutzel G´ eza T´

  • th

Kim Marriott David R. Wood Ioannis G. Tollis Christian Bachmaier Gunnar W. Klau Tim Dwyer Christian A. Duncan Lev Nachmanson Georg Sander Maurizio Pizzonia Vida Dujmovic William Lenhart Stephen K. Wismath

  • Md. Saidur Rahman 0001

Michael Wybrow Giuseppe Di Battista Alexander Wolff Patrizio Angelini Markus Chimani Karsten Klein Henk Meijer Giuseppe Liotta Emilio Di Giacomo Therese C. Biedl Michael T. Goodrich Roberto Tamassia Ulrik Brandes Sabine Cornelsen Carsten Gutwenger Michael Kaufmann Martin N¨

  • llenburg

Ignaz Rutter Franz-Josef Brandenburg Peter Eades Seok-Hee Hong Dorothea Wagner Tamara Mchedlidze Sue Whitesides Antonios Symvonis Michael A. Bekos David Eppstein Stephen G. Kobourov Fabrizio Frati Jan Kratochv´ ıl Helen C. Purchase Emden R. Gansner Michael J¨ unger Stephen C. North

  • J. Joseph Fowler

J´ anos Pach Stina S. Bridgeman

slide-110
SLIDE 110

/25 23

Example – Sparser Output

Yehuda Koren Takao Nishizeki Prosenjit Bose Maurizio Patrignani Walter Didimo Joe Marks Ashim Garg Sebastian Leipert Petra Mutzel G´ eza T´

  • th

Kim Marriott David R. Wood Ioannis G. Tollis Christian Bachmaier Tim Dwyer Christian A. Duncan Lev Nachmanson Georg Sander Maurizio Pizzonia Vida Dujmovic Stephen K. Wismath

  • Md. Saidur Rahman 0001

Giuseppe Di Battista Alexander Wolff Patrizio Angelini Markus Chimani Karsten Klein Henk Meijer Giuseppe Liotta Emilio Di Giacomo Therese C. Biedl Michael T. Goodrich Roberto Tamassia Ulrik Brandes Sabine Cornelsen Carsten Gutwenger Michael Kaufmann Martin N¨

  • llenburg

Franz-Josef Brandenburg Peter Eades Seok-Hee Hong Dorothea Wagner Tamara Mchedlidze Sue Whitesides Marcus Schaefer Antonios Symvonis Michael A. Bekos David Eppstein Stephen G. Kobourov Fabrizio Frati Jan Kratochv´ ıl Emden R. Gansner Michael J¨ unger Stephen C. North J´ anos Pach Stina S. Bridgeman

slide-111
SLIDE 111

/25 23

Example – Sparser Output

Yehuda Koren Takao Nishizeki Prosenjit Bose Maurizio Patrignani Walter Didimo Joe Marks Ashim Garg Sebastian Leipert Petra Mutzel G´ eza T´

  • th

Kim Marriott David R. Wood Ioannis G. Tollis Christian Bachmaier Tim Dwyer Christian A. Duncan Lev Nachmanson Georg Sander Maurizio Pizzonia Vida Dujmovic Stephen K. Wismath

  • Md. Saidur Rahman 0001

Giuseppe Di Battista Alexander Wolff Patrizio Angelini Markus Chimani Karsten Klein Henk Meijer Giuseppe Liotta Emilio Di Giacomo Therese C. Biedl Michael T. Goodrich Roberto Tamassia Ulrik Brandes Sabine Cornelsen Carsten Gutwenger Michael Kaufmann Martin N¨

  • llenburg

Franz-Josef Brandenburg Peter Eades Seok-Hee Hong Dorothea Wagner Tamara Mchedlidze Sue Whitesides Marcus Schaefer Antonios Symvonis Michael A. Bekos David Eppstein Stephen G. Kobourov Fabrizio Frati Jan Kratochv´ ıl Emden R. Gansner Michael J¨ unger Stephen C. North J´ anos Pach Stina S. Bridgeman

desired edgle length +25%

slide-112
SLIDE 112

/25 24

Remarks

GD coauthor graph (1994 - 2012): 950, vertices 2559 edges → A4 paper, 10pt font: – runtime ≈ 2 minutes

slide-113
SLIDE 113

/25 24

Remarks

GD coauthor graph (1994 - 2012): 950, vertices 2559 edges → A4 paper, 10pt font: – runtime ≈ 2 minutes preprocessing removing very light vertices yielded speedup + heavier outputs

slide-114
SLIDE 114

/25 24

Remarks

GD coauthor graph (1994 - 2012): 950, vertices 2559 edges → A4 paper, 10pt font: – runtime ≈ 2 minutes preprocessing removing very light vertices yielded speedup + heavier outputs activating edge-vertex repulsion only at the end of force-directed phase: weight of edges in output +80%

slide-115
SLIDE 115

/25 25

Conclusion

new problem: find + draw heavy subgraph within prescribed area

slide-116
SLIDE 116

/25 25

Conclusion

new problem: heuristic for calculation graphs force-directed approach for general graphs find + draw heavy subgraph within prescribed area

slide-117
SLIDE 117

/25 25

Conclusion

new problem: heuristic for calculation graphs force-directed approach for general graphs nice output drawings find + draw heavy subgraph within prescribed area

slide-118
SLIDE 118

/25 25

Conclusion

new problem: heuristic for calculation graphs force-directed approach for general graphs nice output drawings Problems: – no alternative methods to compare with: real performance? – speedup find + draw heavy subgraph within prescribed area