drawing metro maps using b ezier curves
play

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


  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¨ ollenburg, Maxwell Roberts, Julian Schuhmann & Alexander Wolff 1 /21

  2. We have . . . [N¨ ollenburg and Wolff, 2011] [Hong et al., 2006], [Stott et al., 2011] 2 /21

  3. We want to create . . . [Roberts, 2007] 3 /21

  4. Octilinear vs. Curvy Drawings metro line: polyline with bends (possibly in stations) very schematized 4 /21

  5. Octilinear vs. Curvy Drawings metro line: polycurve without bends 4 /21

  6. Octilinear vs. Curvy Drawings metro line: polycurve without bends [Roberts et al., 2012]: improved planning speed 4 /21

  7. Octilinear vs. Curvy Drawings metro line: polycurve without bends [Roberts et al., 2012]: improved planning speed more artistic demand of Peter Eades! [GD’10] 4 /21

  8. (Cubic) B´ ezier Curves parametric curves 5 /21

  9. (Cubic) B´ ezier Curves parametric curves q ′ p ′ C p q R 2 C : [0, 1] → (1 − t ) 3 p + 3(1 − t ) 2 tp ′ + 3(1 − t ) t 2 q ′ + t 3 q t �→ 5 /21

  10. (Cubic) B´ ezier Curves parametric curves leave vertices in direction of tangents q ′ p ′ C p q R 2 C : [0, 1] → (1 − t ) 3 p + 3(1 − t ) 2 tp ′ + 3(1 − t ) t 2 q ′ + t 3 q t �→ 5 /21

  11. (Cubic) B´ ezier Curves parametric curves leave vertices in direction of tangents q ′ p ′ C p q R 2 curves share tangents C : [0, 1] → (1 − t ) 3 p + 3(1 − t ) 2 tp ′ + 3(1 − t ) t 2 q ′ + t 3 q fit smoothly together t �→ 5 /21

  12. (Cubic) B´ ezier Curves parametric curves leave vertices in direction of tangents q ′ p ′ C p q R 2 curves share tangents C : [0, 1] → (1 − t ) 3 p + 3(1 − t ) 2 tp ′ + 3(1 − t ) t 2 q ′ + t 3 q fit smoothly together t �→ 5 /21

  13. (Cubic) B´ ezier Curves parametric curves leave vertices in direction of tangents q ′ p ′ C p q R 2 curves share tangents C : [0, 1] → (1 − t ) 3 p + 3(1 − t ) 2 tp ′ + 3(1 − t ) t 2 q ′ + t 3 q fit smoothly together t �→ 5 /21

  14. (Cubic) B´ ezier Curves parametric curves leave vertices in direction of tangents − → p C our representation: control point = q ′ � p ′ tangent + distance r C ( p ) C p q R 2 C : [0, 1] → (1 − t ) 3 p + 3(1 − t ) 2 tp ′ + 3(1 − t ) t 2 q ′ + t 3 q t �→ 5 /21

  15. Previous Work [Brandes, Shubina, Tamassia, Wagner, 2001]: B´ ezier curves used for visualizing train connections. [Brandes, Shubina, Tamassia, 2000], [Brandes, Wagner, 1998] 6 /21

  16. 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 6 /21

  17. 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 [Finkel and Tamassia, 2005]: Force-directed algorithm for drawing graphs with B´ ezier Curves 6 /21

  18. 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 [Finkel and Tamassia, 2005]: Force-directed algorithm for drawing graphs with B´ ezier Curves Method: Control-points as extra vertices. 6 /21

  19. 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 [Finkel and Tamassia, 2005]: Force-directed algorithm for drawing graphs with B´ ezier Curves Method: Control-points as extra vertices. our approach: control points are no vertices 6 /21

  20. Our Approach use B´ ezier curves for representing edges 7 /21

  21. Our Approach use B´ ezier curves for representing edges use force-directed approach 7 /21

  22. Obtaining an Initial Drawing with Curves geographic input 8 /21

  23. Obtaining an Initial Drawing with Curves straight-line drawing 8 /21

  24. Obtaining an Initial Drawing with Curves straight-line drawing alternative: use octilinear drawing 8 /21

  25. Obtaining an Initial Drawing with Curves approximation by B´ ezier Curves 8 /21

  26. Obtaining an Initial Drawing with Curves approximation by B´ ezier Curves put control points close to vertex use common tangents 8 /21

  27. 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 9 /21

  28. Structure of the Algorithm while the drawing changes compute forces on vertices stop if displacement is small compute forces on curves apply forces simplify the drawing perform post-processing simplification 9 /21

  29. 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 9 /21

  30. Structure of the Algorithm while the drawing changes compute forces on vertices compute forces on curves sum up to desired changes apply forces simplify the drawing perform post-processing simplification 9 /21

  31. Structure of the Algorithm while the drawing changes compute forces on vertices compute forces on curves apply forces simplify the drawing avoid intersections perform post-processing simplification ✗ 9 /21

  32. 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 9 /21

  33. 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 9 /21

  34. Forces – Vertices – repulsion 10 /21

  35. Forces – Vertices – repulsion – attraction of adjacent vertices 10 /21

  36. Forces – Vertices – repulsion – attraction of adjacent vertices reuse forces from Fruchterman-Rheingold 10 /21

  37. Forces – Vertices – repulsion – attraction of adjacent vertices desired edge length = const · (# intermediate stops + 1) 10 /21

  38. Forces – Vertices – repulsion – attraction of adjacent vertices – attraction to geographic position 10 /21

  39. Forces – Shape of Curves ✗ 11 /21

  40. Forces – Shape of Curves ✗ ✗ 11 /21

  41. Forces – Shape of Curves ✗ � ✗ 11 /21

  42. Forces – Shape of Curves ✗ � ✗ 11 /21

  43. Forces – Shape of Curves a b ✗ � ✗ b ≈ 1 a distances: 3 use Fruchterman-Rheingold-like spring force 11 /21

  44. Forces – Straightening Curves ✗ 12 /21

  45. Forces – Straightening Curves ✗ � 12 /21

  46. Forces – Straightening Curves ✗ � straight-line segment = simplest curve 12 /21

  47. Forces – Straightening Curves ✗ � straight-line segment = simplest curve t move vertex v towards tangent v t u v 12 /21

  48. Forces – Straightening Curves ✗ � straight-line segment = simplest curve t move vertex v towards tangent v t v t rotate tangent towards straight-line α u v 12 /21

  49. Forces – Straightening Curves adding up rotational forces ✗ � straight-line segment = simplest curve t move vertex v towards tangent v t v t rotate tangent towards straight-line α u v 12 /21

  50. Forces – Straightening Curves adding up rotational forces ✗ � straight-line segment = simplest curve t move vertex v towards tangent v t v t rotate tangent towards straight-line law of the lever : α force weighted by distance u v 12 /21

  51. Forces – Angular Resolution ✗ 13 /21

  52. Forces – Angular Resolution ✗ � 13 /21

  53. Forces – Angular Resolution α ✗ � tangents repelling each other force = const. · 1 α 13 /21

  54. Avoiding Intersections ✗ 14 /21

  55. Avoiding Intersections ✗ � 14 /21

  56. Merging Curves intermediate stop 15 /21

  57. Merging Curves intermediate stop keep control points 15 /21

  58. Merging Curves intermediate stop keep control points different distances for keeping the drawing crossing-free 15 /21

  59. Merging Curves intermediate stop keep control points different distances for keeping the drawing crossing-free Tests: not necessary 15 /21

  60. Merging Curves in Interchange Stations merge 4 curves to 2 16 /21

  61. Merging Curves in Interchange Stations merge 4 curves to 2 station = crossing 16 /21

  62. Merging Curves in Interchange Stations merge 4 curves to 2 edge proportions should be kept approximately testing different control point distances necessary 16 /21

Recommend


More recommend