on implementing multiplicatively weighted voronoi diagrams
play

On Implementing Multiplicatively Weighted Voronoi Diagrams Martin - PowerPoint PPT Presentation

On Implementing Multiplicatively Weighted Voronoi Diagrams Martin Held 1 Stefan de Lorenzo 1 1 University of Salzburg, Department of Computer Science March 16, 2020 UNIVERSIT AT SALZBURG Computational Geometry and Applications Lab Problem


  1. On Implementing Multiplicatively Weighted Voronoi Diagrams Martin Held 1 Stefan de Lorenzo 1 1 University of Salzburg, Department of Computer Science March 16, 2020 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  2. Problem Specification Problem Given: A set S of n input points in the plane, where every s ∈ S is associated with a weight w ( s ) > 0 . 16 13 22 23 10 14 21 7 20 19 2 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  3. Problem Specification Problem Given: A set S of n input points in the plane, where every s ∈ S is associated with a weight w ( s ) > 0 . Compute: The multiplicatively weighted Voronoi diagram (MWVD) VD w ( S ) of S . 16 13 22 23 10 14 21 7 20 19 2 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  4. Multiplicatively Weighted Voronoi Diagrams • The Voronoi edges are formed by straight-line segments, rays, and circular arcs. • The Voronoi regions are (possibly) disconnected. • The MWVD has a quadratic combinatorial complexity in the worst case. 16 13 22 23 10 14 21 7 20 19 3 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  5. Multiplicatively Weighted Voronoi Diagrams • The Voronoi edges are formed by straight-line segments, rays, and circular arcs. • The Voronoi regions are (possibly) disconnected. • The MWVD has a quadratic combinatorial complexity in the worst case. 16 13 22 23 10 14 21 7 20 19 3 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  6. Overview • We present a wavefront-based approach for computing MWVDs. • The wavefront covers an increasing portion of the plane over time. • It consists of wavefront arcs and wavefront vertices . • Whenever a wavefront arc vanishes or spawns, a new Voronoi node is discovered. 4 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  7. Offset Circles • Every site is associated with an offset circle . • Two moving intersection points trace out the bisector as time progresses. • Inactive arcs along the offset circles are eliminated. • The active arcs are stored in sorted angular order. s 2 s 1 5 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  8. Offset Circles • Every site is associated with an offset circle . • Two moving intersection points trace out the bisector as time progresses. • Inactive arcs along the offset circles are eliminated. • The active arcs are stored in sorted angular order. s 2 s 1 5 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  9. Offset Circles • Every site is associated with an offset circle . • Two moving intersection points trace out the bisector as time progresses. • Inactive arcs along the offset circles are eliminated. • The active arcs are stored in sorted angular order. s 2 s 1 5 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  10. Offset Circles • Every site is associated with an offset circle . • Two moving intersection points trace out the bisector as time progresses. • Inactive arcs along the offset circles are eliminated. • The active arcs are stored in sorted angular order. s 2 s 1 5 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  11. Offset Circles • Every site is associated with an offset circle . • Two moving intersection points trace out the bisector as time progresses. • Inactive arcs along the offset circles are eliminated. • The active arcs are stored in sorted angular order. s 2 s 1 5 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  12. Offset Circles • Every site is associated with an offset circle . • Two moving intersection points trace out the bisector as time progresses. • Inactive arcs along the offset circles are eliminated. • The active arcs are stored in sorted angular order. s 2 s 1 5 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  13. Event Handling • Collision and domination events mark the initial and last contact of a two offset circles. • Arc events happen whenever active arcs vanish or spawn. • These events are stored in a priority queue Q . • The angular order of active arcs only changes at events. 6 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  14. Event Handling • Collision and domination events mark the initial and last contact of a two offset circles. • Arc events happen whenever active arcs vanish or spawn. • These events are stored in a priority queue Q . • The angular order of active arcs only changes at events. 6 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  15. Event Handling • Collision and domination events mark the initial and last contact of a two offset circles. • Arc events happen whenever active arcs vanish or spawn. • These events are stored in a priority queue Q . • The angular order of active arcs only changes at events. 6 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  16. Event Handling • Collision and domination events mark the initial and last contact of a two offset circles. • Arc events happen whenever active arcs vanish or spawn. • These events are stored in a priority queue Q . • The angular order of active arcs only changes at events. 6 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  17. Event Handling • Collision and domination events mark the initial and last contact of a two offset circles. • Arc events happen whenever active arcs vanish or spawn. • These events are stored in a priority queue Q . • The angular order of active arcs only changes at events. 6 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  18. Event Handling • Collision and domination events mark the initial and last contact of a two offset circles. • Arc events happen whenever active arcs vanish or spawn. • These events are stored in a priority queue Q . • The angular order of active arcs only changes at events. 6 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  19. Event Handling • Collision and domination events mark the initial and last contact of a two offset circles. • Arc events happen whenever active arcs vanish or spawn. • These events are stored in a priority queue Q . • The angular order of active arcs only changes at events. 6 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  20. Event Handling • Collision and domination events mark the initial and last contact of a two offset circles. • Arc events happen whenever active arcs vanish or spawn. • These events are stored in a priority queue Q . • The angular order of active arcs only changes at events. 6 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  21. Event Handling • Collision and domination events mark the initial and last contact of a two offset circles. • Arc events happen whenever active arcs vanish or spawn. • These events are stored in a priority queue Q . • The angular order of active arcs only changes at events. 6 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  22. Event Handling • Collision and domination events mark the initial and last contact of a two offset circles. • Arc events happen whenever active arcs vanish or spawn. • These events are stored in a priority queue Q . • The angular order of active arcs only changes at events. 6 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  23. Event Handling • All topological changes of the wavefront are properly detected. • A quadratic number of collision events are computed in any case. • A moving intersection can be charged with a constant number of arc events. • In the worst case O ( n 2 ) arc events take place. • All events can be handled in O (log n ) time. • Therefore, the algorithms runtime is O ( n 2 log n ) in the worst case. 7 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  24. Reducing the Number of Collisions • A vast number of collisions are invalid for general input. • The calculation of all possible collision requires a high computational effort. • Invalid collision are filtered in an additional preprocessing step. • Thus, the average case behavior of the algorithm is improved. s 1 8 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  25. Reducing the Number of Collisions • A vast number of collisions are invalid for general input. • The calculation of all possible collision requires a high computational effort. • Invalid collision are filtered in an additional preprocessing step. • Thus, the average case behavior of the algorithm is improved. s 2 s 1 8 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

  26. Reducing the Number of Collisions • A vast number of collisions are invalid for general input. • The calculation of all possible collision requires a high computational effort. • Invalid collision are filtered in an additional preprocessing step. • Thus, the average case behavior of the algorithm is improved. s 2 s 1 s 3 8 UNIVERSIT¨ AT SALZBURG Computational Geometry and Applications Lab

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