Drawing Metro Maps using B ezier Curves Martin Fink Lehrstuhl f - - PowerPoint PPT Presentation

drawing metro maps using b ezier curves
SMART_READER_LITE
LIVE PREVIEW

Drawing Metro Maps using B ezier Curves Martin Fink Lehrstuhl f - - PowerPoint PPT Presentation

Drawing Metro Maps using B ezier Curves Martin Fink Lehrstuhl f ur Informatik I Universit at W urzburg Joint work with Herman Haverkort, Martin N ollenburg, Maxwell Roberts, Julian Schuhmann & Alexander Wolff 1 /21 We


slide-1
SLIDE 1

/21 1

Drawing Metro Maps using B´ ezier Curves

Martin Fink Lehrstuhl f¨ ur Informatik I Universit¨ at W¨ urzburg

Joint work with Herman Haverkort, Martin N¨

  • llenburg, Maxwell Roberts,

Julian Schuhmann & Alexander Wolff

slide-2
SLIDE 2

/21 2

We have . . .

[N¨

  • llenburg and Wolff, 2011]

[Hong et al., 2006], [Stott et al., 2011]

slide-3
SLIDE 3

/21 3

We want to create . . .

[Roberts, 2007]

slide-4
SLIDE 4

/21 4

Octilinear vs. Curvy Drawings

metro line: polyline with bends (possibly in stations) very schematized

slide-5
SLIDE 5

/21 4

Octilinear vs. Curvy Drawings

metro line: polycurve without bends

slide-6
SLIDE 6

/21 4

Octilinear vs. Curvy Drawings

metro line: polycurve without bends [Roberts et al., 2012]: improved planning speed

slide-7
SLIDE 7

/21 4

Octilinear vs. Curvy Drawings

metro line: polycurve without bends [Roberts et al., 2012]: improved planning speed more artistic demand of Peter Eades! [GD’10]

slide-8
SLIDE 8

/21 5

(Cubic) B´ ezier Curves

parametric curves

slide-9
SLIDE 9

/21 5

(Cubic) B´ ezier Curves

p p′ q′ q parametric curves C: [0, 1] → R2 t → (1 − t)3p + 3(1 − t)2tp′ + 3(1 − t)t2q′ + t3q C

slide-10
SLIDE 10

/21 5

(Cubic) B´ ezier Curves

p p′ q′ q parametric curves C: [0, 1] → R2 t → (1 − t)3p + 3(1 − t)2tp′ + 3(1 − t)t2q′ + t3q leave vertices in direction of tangents C

slide-11
SLIDE 11

/21 5

(Cubic) B´ ezier Curves

p p′ q′ q parametric curves C: [0, 1] → R2 t → (1 − t)3p + 3(1 − t)2tp′ + 3(1 − t)t2q′ + t3q leave vertices in direction of tangents curves share tangents fit smoothly together C

slide-12
SLIDE 12

/21 5

(Cubic) B´ ezier Curves

p p′ q′ q parametric curves C: [0, 1] → R2 t → (1 − t)3p + 3(1 − t)2tp′ + 3(1 − t)t2q′ + t3q leave vertices in direction of tangents curves share tangents fit smoothly together C

slide-13
SLIDE 13

/21 5

(Cubic) B´ ezier Curves

p p′ q′ q parametric curves C: [0, 1] → R2 t → (1 − t)3p + 3(1 − t)2tp′ + 3(1 − t)t2q′ + t3q leave vertices in direction of tangents curves share tangents fit smoothly together C

slide-14
SLIDE 14

/21 5

(Cubic) B´ ezier Curves

p p′ q′ q

  • rC(p)

− → pC parametric curves C: [0, 1] → R2 t → (1 − t)3p + 3(1 − t)2tp′ + 3(1 − t)t2q′ + t3q leave vertices in direction of tangents

  • ur representation:

control point = tangent + distance C

slide-15
SLIDE 15

/21 6

Previous Work

[Brandes, Shubina, Tamassia, Wagner, 2001]: B´ ezier curves used for visualizing train connections.

[Brandes, Shubina, Tamassia, 2000], [Brandes, Wagner, 1998]

slide-16
SLIDE 16

/21 6

Previous Work

[Brandes, Shubina, Tamassia, Wagner, 2001]: B´ ezier curves used for visualizing train connections.

[Brandes, Shubina, Tamassia, 2000], [Brandes, Wagner, 1998]

Our approach: – share tangents – move vertices

slide-17
SLIDE 17

/21 6

Previous Work

[Brandes, Shubina, Tamassia, Wagner, 2001]: B´ ezier curves used for visualizing train connections. [Finkel and Tamassia, 2005]: Force-directed algorithm for drawing graphs with B´ ezier Curves

[Brandes, Shubina, Tamassia, 2000], [Brandes, Wagner, 1998]

Our approach: – share tangents – move vertices

slide-18
SLIDE 18

/21 6

Previous Work

[Brandes, Shubina, Tamassia, Wagner, 2001]: B´ ezier curves used for visualizing train connections. [Finkel and Tamassia, 2005]: Force-directed algorithm for drawing graphs with B´ ezier Curves Method: Control-points as extra vertices.

[Brandes, Shubina, Tamassia, 2000], [Brandes, Wagner, 1998]

Our approach: – share tangents – move vertices

slide-19
SLIDE 19

/21 6

Previous Work

[Brandes, Shubina, Tamassia, Wagner, 2001]: B´ ezier curves used for visualizing train connections. [Finkel and Tamassia, 2005]: Force-directed algorithm for drawing graphs with B´ ezier Curves Method: Control-points as extra vertices.

[Brandes, Shubina, Tamassia, 2000], [Brandes, Wagner, 1998]

  • ur approach: control points are no vertices

Our approach: – share tangents – move vertices

slide-20
SLIDE 20

/21 7

Our Approach

use B´ ezier curves for representing edges

slide-21
SLIDE 21

/21 7

Our Approach

use B´ ezier curves for representing edges use force-directed approach

slide-22
SLIDE 22

/21 8

Obtaining an Initial Drawing with Curves

geographic input

slide-23
SLIDE 23

/21 8

Obtaining an Initial Drawing with Curves

straight-line drawing

slide-24
SLIDE 24

/21 8

Obtaining an Initial Drawing with Curves

straight-line drawing alternative: use

  • ctilinear drawing
slide-25
SLIDE 25

/21 8

Obtaining an Initial Drawing with Curves

approximation by B´ ezier Curves

slide-26
SLIDE 26

/21 8

Obtaining an Initial Drawing with Curves

approximation by B´ ezier Curves put control points close to vertex use common tangents

slide-27
SLIDE 27

/21 9

Structure of the Algorithm

while the drawing changes compute forces on vertices compute forces on curves apply forces simplify the drawing perform post-processing simplification

slide-28
SLIDE 28

/21 9

Structure of the Algorithm

while the drawing changes compute forces on vertices compute forces on curves apply forces simplify the drawing perform post-processing simplification stop if displacement is small

slide-29
SLIDE 29

/21 9

Structure of the Algorithm

while the drawing changes compute forces on vertices compute forces on curves apply forces simplify the drawing perform post-processing simplification

slide-30
SLIDE 30

/21 9

Structure of the Algorithm

while the drawing changes compute forces on vertices compute forces on curves apply forces simplify the drawing perform post-processing simplification sum up to desired changes

slide-31
SLIDE 31

/21 9

Structure of the Algorithm

while the drawing changes compute forces on vertices compute forces on curves apply forces simplify the drawing perform post-processing simplification avoid intersections

slide-32
SLIDE 32

/21 9

Structure of the Algorithm

while the drawing changes compute forces on vertices compute forces on curves apply forces simplify the drawing perform post-processing simplification merge curves around deg-2 vertex

slide-33
SLIDE 33

/21 9

Structure of the Algorithm

while the drawing changes compute forces on vertices compute forces on curves apply forces simplify the drawing perform post-processing simplification merge 4 curves to 2

slide-34
SLIDE 34

/21 10

Forces – Vertices

– repulsion

slide-35
SLIDE 35

/21 10

Forces – Vertices

– repulsion – attraction of adjacent vertices

slide-36
SLIDE 36

/21 10

Forces – Vertices

– repulsion – attraction of adjacent vertices reuse forces from Fruchterman-Rheingold

slide-37
SLIDE 37

/21 10

Forces – Vertices

– repulsion – attraction of adjacent vertices desired edge length = const · (# intermediate stops + 1)

slide-38
SLIDE 38

/21 10

Forces – Vertices

– repulsion – attraction of adjacent vertices – attraction to geographic position

slide-39
SLIDE 39

/21 11

Forces – Shape of Curves

slide-40
SLIDE 40

/21 11

Forces – Shape of Curves

✗ ✗

slide-41
SLIDE 41

/21 11

Forces – Shape of Curves

✗ ✗

slide-42
SLIDE 42

/21 11

Forces – Shape of Curves

✗ ✗

slide-43
SLIDE 43

/21 11

Forces – Shape of Curves

✗ ✗

  • distances:

a b ≈ 1 3

use Fruchterman-Rheingold-like spring force a b

slide-44
SLIDE 44

/21 12

Forces – Straightening Curves

slide-45
SLIDE 45

/21 12

Forces – Straightening Curves

slide-46
SLIDE 46

/21 12

Forces – Straightening Curves

  • straight-line segment = simplest curve
slide-47
SLIDE 47

/21 12

Forces – Straightening Curves

  • straight-line segment = simplest curve

u t vt v move vertex v towards tangent

slide-48
SLIDE 48

/21 12

Forces – Straightening Curves

  • straight-line segment = simplest curve

u t vt α v move vertex v towards tangent vt rotate tangent towards straight-line

slide-49
SLIDE 49

/21 12

Forces – Straightening Curves

  • straight-line segment = simplest curve

u t vt α v move vertex v towards tangent vt rotate tangent towards straight-line adding up rotational forces

slide-50
SLIDE 50

/21 12

Forces – Straightening Curves

  • straight-line segment = simplest curve

u t vt α v move vertex v towards tangent vt rotate tangent towards straight-line law of the lever: force weighted by distance adding up rotational forces

slide-51
SLIDE 51

/21 13

Forces – Angular Resolution

slide-52
SLIDE 52

/21 13

Forces – Angular Resolution

slide-53
SLIDE 53

/21 13

Forces – Angular Resolution

  • α

tangents repelling each other force = const. · 1

α

slide-54
SLIDE 54

/21 14

Avoiding Intersections

slide-55
SLIDE 55

/21 14

Avoiding Intersections

slide-56
SLIDE 56

/21 15

Merging Curves

intermediate stop

slide-57
SLIDE 57

/21 15

Merging Curves

intermediate stop keep control points

slide-58
SLIDE 58

/21 15

Merging Curves

intermediate stop keep control points different distances for keeping the drawing crossing-free

slide-59
SLIDE 59

/21 15

Merging Curves

intermediate stop keep control points different distances for keeping the drawing crossing-free Tests: not necessary

slide-60
SLIDE 60

/21 16

Merging Curves in Interchange Stations

merge 4 curves to 2

slide-61
SLIDE 61

/21 16

Merging Curves in Interchange Stations

merge 4 curves to 2 station = crossing

slide-62
SLIDE 62

/21 16

Merging Curves in Interchange Stations

merge 4 curves to 2 edge proportions should be kept approximately testing different control point distances necessary

slide-63
SLIDE 63

/21 16

Merging Curves in Interchange Stations

merge 4 curves to 2 edge proportions should be kept approximately testing different control point distances necessary adds many additional constraints

slide-64
SLIDE 64

/21 16

Merging Curves in Interchange Stations

merge 4 curves to 2 edge proportions should be kept approximately testing different control point distances necessary adds many additional constraints Tests: performed only once at the end

slide-65
SLIDE 65

/21 17

Test Case – Vienna

  • ctilinear map
slide-66
SLIDE 66

/21 17

Test Case – Vienna

without merging edges 90 curves

slide-67
SLIDE 67

/21 17

Test Case – Vienna

with merging edges at intermediate stations 25 curves

slide-68
SLIDE 68

/21 17

Test Case – Vienna

additionally merging edges at interchange stations (degree 4) 9 curves

slide-69
SLIDE 69

/21 18

Montr´ eal

slide-70
SLIDE 70

/21 19

Sydney

slide-71
SLIDE 71

/21 20

London

slide-72
SLIDE 72

/21 21

Observations and Conclusion

works well on smaller networks/sparse regions

slide-73
SLIDE 73

/21 21

Observations and Conclusion

works well on smaller networks/sparse regions dense region like city centers are more problematic minimizing the number of curves is important

slide-74
SLIDE 74

/21 21

Observations and Conclusion

works well on smaller networks/sparse regions dense region like city centers are more problematic minimizing the number of curves is important further minimization with local changes very hard

slide-75
SLIDE 75

/21 21

Observations and Conclusion

works well on smaller networks/sparse regions dense region like city centers are more problematic minimizing the number of curves is important further minimization with local changes very hard Idea: Use global approximation of lines by continuos curves – subject to constraints