/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
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
/21 1
Martin Fink Lehrstuhl f¨ ur Informatik I Universit¨ at W¨ urzburg
Joint work with Herman Haverkort, Martin N¨
Julian Schuhmann & Alexander Wolff
/21 2
[N¨
[Hong et al., 2006], [Stott et al., 2011]
/21 3
[Roberts, 2007]
/21 4
metro line: polyline with bends (possibly in stations) very schematized
/21 4
metro line: polycurve without bends
/21 4
metro line: polycurve without bends [Roberts et al., 2012]: improved planning speed
/21 4
metro line: polycurve without bends [Roberts et al., 2012]: improved planning speed more artistic demand of Peter Eades! [GD’10]
/21 5
parametric curves
/21 5
p p′ q′ q parametric curves C: [0, 1] → R2 t → (1 − t)3p + 3(1 − t)2tp′ + 3(1 − t)t2q′ + t3q C
/21 5
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
/21 5
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
/21 5
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
/21 5
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
/21 5
p p′ q′ q
− → 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
control point = tangent + distance C
/21 6
[Brandes, Shubina, Tamassia, Wagner, 2001]: B´ ezier curves used for visualizing train connections.
[Brandes, Shubina, Tamassia, 2000], [Brandes, Wagner, 1998]
/21 6
[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
/21 6
[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
/21 6
[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
/21 6
[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
/21 7
use B´ ezier curves for representing edges
/21 7
use B´ ezier curves for representing edges use force-directed approach
/21 8
geographic input
/21 8
straight-line drawing
/21 8
straight-line drawing alternative: use
/21 8
approximation by B´ ezier Curves
/21 8
approximation by B´ ezier Curves put control points close to vertex use common tangents
/21 9
while the drawing changes compute forces on vertices compute forces on curves apply forces simplify the drawing perform post-processing simplification
/21 9
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
/21 9
while the drawing changes compute forces on vertices compute forces on curves apply forces simplify the drawing perform post-processing simplification
/21 9
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
/21 9
while the drawing changes compute forces on vertices compute forces on curves apply forces simplify the drawing perform post-processing simplification avoid intersections
/21 9
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
/21 9
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
/21 10
– repulsion
/21 10
– repulsion – attraction of adjacent vertices
/21 10
– repulsion – attraction of adjacent vertices reuse forces from Fruchterman-Rheingold
/21 10
– repulsion – attraction of adjacent vertices desired edge length = const · (# intermediate stops + 1)
/21 10
– repulsion – attraction of adjacent vertices – attraction to geographic position
/21 11
/21 11
/21 11
/21 11
/21 11
a b ≈ 1 3
use Fruchterman-Rheingold-like spring force a b
/21 12
/21 12
/21 12
/21 12
u t vt v move vertex v towards tangent
/21 12
u t vt α v move vertex v towards tangent vt rotate tangent towards straight-line
/21 12
u t vt α v move vertex v towards tangent vt rotate tangent towards straight-line adding up rotational forces
/21 12
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
/21 13
/21 13
/21 13
tangents repelling each other force = const. · 1
α
/21 14
/21 14
/21 15
intermediate stop
/21 15
intermediate stop keep control points
/21 15
intermediate stop keep control points different distances for keeping the drawing crossing-free
/21 15
intermediate stop keep control points different distances for keeping the drawing crossing-free Tests: not necessary
/21 16
merge 4 curves to 2
/21 16
merge 4 curves to 2 station = crossing
/21 16
merge 4 curves to 2 edge proportions should be kept approximately testing different control point distances necessary
/21 16
merge 4 curves to 2 edge proportions should be kept approximately testing different control point distances necessary adds many additional constraints
/21 16
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
/21 17
/21 17
without merging edges 90 curves
/21 17
with merging edges at intermediate stations 25 curves
/21 17
additionally merging edges at interchange stations (degree 4) 9 curves
/21 18
/21 19
/21 20
/21 21
works well on smaller networks/sparse regions
/21 21
works well on smaller networks/sparse regions dense region like city centers are more problematic minimizing the number of curves is important
/21 21
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
/21 21
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