On Implementing Multiplicatively Weighted Voronoi Diagrams Martin - - PowerPoint PPT Presentation

on implementing multiplicatively weighted voronoi diagrams
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

On Implementing Multiplicatively Weighted Voronoi Diagrams

Martin Held1 Stefan de Lorenzo1

1University of Salzburg, Department of Computer Science

March 16, 2020

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

slide-2
SLIDE 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.

23 22 21 20 19 16 14 13 10 7

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

2

slide-3
SLIDE 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) VDw(S) of S.

23 22 21 20 19 16 14 13 10 7

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

2

slide-4
SLIDE 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.

23 22 21 20 19 16 14 13 10 7

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

3

slide-5
SLIDE 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.

23 22 21 20 19 16 14 13 10 7

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

3

slide-6
SLIDE 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.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

4

slide-7
SLIDE 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.

s2 s1

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

5

slide-8
SLIDE 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.

s2 s1

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

5

slide-9
SLIDE 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.

s2 s1

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

5

slide-10
SLIDE 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.

s2 s1

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

5

slide-11
SLIDE 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.

s2 s1

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

5

slide-12
SLIDE 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.

s2 s1

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

5

slide-13
SLIDE 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.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

6

slide-14
SLIDE 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.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

6

slide-15
SLIDE 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.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

6

slide-16
SLIDE 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.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

6

slide-17
SLIDE 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.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

6

slide-18
SLIDE 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.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

6

slide-19
SLIDE 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.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

6

slide-20
SLIDE 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.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

6

slide-21
SLIDE 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.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

6

slide-22
SLIDE 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.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

6

slide-23
SLIDE 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(n2) arc events take place.
  • All events can be handled in O(log n) time.
  • Therefore, the algorithms runtime is O(n2 log n) in the worst case.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

7

slide-24
SLIDE 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.

s1

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

8

slide-25
SLIDE 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.

s1 s2

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

8

slide-26
SLIDE 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.

s1 s2 s3

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

8

slide-27
SLIDE 27

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.

s1 s2 s3 s4

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

8

slide-28
SLIDE 28

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.

s1 s2 s3 s4 s5

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

8

slide-29
SLIDE 29

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.

s1 s2 s3 s4 s5 s6 s7 s8 s9 s10

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

8

slide-30
SLIDE 30

Overlay Arrangement

  • Only sites within the same candidate set may collide.
  • A candidate set contains O(log n) many sites in the expected case [HPR15].
  • The expected complexity of overlay arrangement is bound by O(n log n) [KRS11].
  • Thus, it is necessary to compute O(n log3 n) many collisions.

s1 s2 s3 s4 s5 s6 s7 s8 s9 s10

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-31
SLIDE 31

Experimental Evaluation

  • The implementation is based on the Computational Geometry Algorithms Library (CGAL).
  • We tested our strategy on 3800 randomly generated inputs.
  • All tests were carried out on an Intel Core i7-6700 clocked at 3.40GHz.

103 104 105 Input size 2.0 2.2 2.4 2.6 2.8 3.0 #Collision Events/n log n 103 104 105 Input size 10 11 12 13 14 #Arc Events/n

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

10

slide-32
SLIDE 32

Experimental Evaluation

  • The implementation is based on the Computational Geometry Algorithms Library (CGAL).
  • We tested our strategy on 3800 randomly generated inputs.
  • All tests were carried out on an Intel Core i7-6700 clocked at 3.40GHz.

103 104 105 Input size 50 100 150 Runtime/n log2 n Overlay arrangement Event queue Overall runtime

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

10

slide-33
SLIDE 33

Extensions

  • Our (basic) algorithm is also able to deal with additive weights.
  • The strategy can be easily extended to also handle weighted straight-line segments.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

11

slide-34
SLIDE 34

Discussion

  • We propose a fast, practical strategy to compute MWVDs.
  • The expected runtime is improved by using an overlay arrangement.
  • We provide a robust implementation using exact arithmetic.

Thank you for your attention!

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

12

slide-35
SLIDE 35

Discussion

  • We propose a fast, practical strategy to compute MWVDs.
  • The expected runtime is improved by using an overlay arrangement.
  • We provide a robust implementation using exact arithmetic.

Thank you for your attention!

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

12

slide-36
SLIDE 36

References I

Sariel Har-Peled and Benjamin Raichel. On the Complexity of Randomly Weighted Multiplicative Voronoi Diagrams. Discrete Comput. Geom., 53(3):547–568, 2015. Haim Kaplan, Edgar Ramos, and Micha Sharir. The Overlay of Minimization Diagrams in a Randomized Incremental Construction. Discrete Comput. Geom., 45(3):371–382, 2011.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

13