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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend