A Wavefront-Like Strategy for Computing Multiplicatively Weighted - - PowerPoint PPT Presentation

a wavefront like strategy for computing multiplicatively
SMART_READER_LITE
LIVE PREVIEW

A Wavefront-Like Strategy for Computing Multiplicatively Weighted - - PowerPoint PPT Presentation

A Wavefront-Like Strategy for Computing Multiplicatively Weighted Voronoi Diagrams Martin Held 1 Stefan de Lorenzo 1 1 University of Salzburg, Department of Computer Science March 19, 2019 UNIVERSIT AT SALZBURG Computational Geometry and


slide-1
SLIDE 1

A Wavefront-Like Strategy for Computing Multiplicatively Weighted Voronoi Diagrams

Martin Held1 Stefan de Lorenzo1

1University of Salzburg, Department of Computer Science

March 19, 2019

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

slide-2
SLIDE 2

Problem Specification

Given:

A set S of n input points in the plane, where every s ∈ S is associated with a real-valued weight w(s) > 0.

Compute:

The multiplicatively weighted Voronoi diagram (MWVD) VDw(S) of S.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

2

slide-3
SLIDE 3

Problem Specification

Given:

A set S of n input points in the plane, where every s ∈ S is associated with a real-valued weight w(s) > 0.

Compute:

The multiplicatively weighted Voronoi diagram (MWVD) VDw(S) of S.

35 60 70 94 61 80 52 77 39 66 46 82 10 55 71 76 75 78 29 83 47 19 64 72 53 63 59 68 87 74

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

2

slide-4
SLIDE 4

Problem Specification

Given:

A set S of n input points in the plane, where every s ∈ S is associated with a real-valued weight w(s) > 0.

Compute:

The multiplicatively weighted Voronoi diagram (MWVD) VDw(S) of S.

35 60 70 94 61 80 52 77 39 66 46 82 10 55 71 76 75 78 29 83 47 19 64 72 53 63 59 68 87 74

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

2

slide-5
SLIDE 5

Multiplicatively Weighted Voronoi Diagrams

  • The Voronoi edges are formed by straight-line segments and circular arcs.
  • The Voronoi regions are (possibly) multiply connected.
  • The MWVD has a quadratic combinatorial complexity in the worst case.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

3

slide-6
SLIDE 6

Multiplicatively Weighted Voronoi Diagrams

  • The Voronoi edges are formed by straight-line segments and circular arcs.
  • The Voronoi regions are (possibly) multiply connected.
  • The MWVD has a quadratic combinatorial complexity in the worst case.

p

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

3

slide-7
SLIDE 7

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

s1 s2

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.

s1 s2

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.

s1 s2

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.

s1 s2

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.

s1 s2

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

5

slide-13
SLIDE 13

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.

s1 s2

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

5

slide-14
SLIDE 14

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.

s1 s2

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

5

slide-15
SLIDE 15

Wavefront Structure

  • The wavefront is formed by parts of offset circles.
  • A wavefront vertex is a specific intersection point of two offset circles.
  • Active arcs do not necessarily coincide with wavefront arcs.

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 pair
  • f offset circles), respectively.
  • Edge and break-through events happen whenever active arcs vanish or

spawn.

  • These events are stored in a priority queue Q.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

7

slide-17
SLIDE 17

Event Handling

  • Collision and domination events mark the initial and last contact (of a pair
  • f offset circles), respectively.
  • Edge and break-through events happen whenever active arcs vanish or

spawn.

  • These events are stored in a priority queue Q.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

7

slide-18
SLIDE 18

Event Handling

  • Collision and domination events mark the initial and last contact (of a pair
  • f offset circles), respectively.
  • Edge and break-through events happen whenever active arcs vanish or

spawn.

  • These events are stored in a priority queue Q.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

7

slide-19
SLIDE 19

Event Handling

  • Collision and domination events mark the initial and last contact (of a pair
  • f offset circles), respectively.
  • Edge and break-through events happen whenever active arcs vanish or

spawn.

  • These events are stored in a priority queue Q.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

7

slide-20
SLIDE 20

Event Handling

  • Collision and domination events mark the initial and last contact (of a pair
  • f offset circles), respectively.
  • Edge and break-through events happen whenever active arcs vanish or

spawn.

  • These events are stored in a priority queue Q.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

7

slide-21
SLIDE 21

Event Handling

  • Collision and domination events mark the initial and last contact (of a pair
  • f offset circles), respectively.
  • Edge and break-through events happen whenever active arcs vanish or

spawn.

  • These events are stored in a priority queue Q.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

7

slide-22
SLIDE 22

Event Handling

  • Collision and domination events mark the initial and last contact (of a pair
  • f offset circles), respectively.
  • Edge and break-through events happen whenever active arcs vanish or

spawn.

  • These events are stored in a priority queue Q.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

7

slide-23
SLIDE 23

Event Handling

  • Collision and domination events mark the initial and last contact (of a pair
  • f offset circles), respectively.
  • Edge and break-through events happen whenever active arcs vanish or

spawn.

  • These events are stored in a priority queue Q.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

7

slide-24
SLIDE 24

Event Handling

  • Collision and domination events mark the initial and last contact (of a pair
  • f offset circles), respectively.
  • Edge and break-through events happen whenever active arcs vanish or

spawn.

  • These events are stored in a priority queue Q.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

7

slide-25
SLIDE 25

Event Handling

  • Collision and domination events mark the initial and last contact (of a pair
  • f offset circles), respectively.
  • Edge and break-through events happen whenever active arcs vanish or

spawn.

  • These events are stored in a priority queue Q.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

7

slide-26
SLIDE 26

Event Handling

  • Initially, the collisions of every pair of offset circles are computed.
  • Afterwards, the events are successively popped from Q.
  • A collision event is valid if the collision point is situated within active arcs.
  • On each edge and break-through event, three offset circles need to be

updated.

  • The angular order of active arcs only changes at events.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

8

slide-27
SLIDE 27

Event Handling

  • Initially, the collisions of every pair of offset circles are computed.
  • Afterwards, the events are successively popped from Q.
  • A collision event is valid if the collision point is situated within active arcs.
  • On each edge and break-through event, three offset circles need to be

updated.

  • The angular order of active arcs only changes at events.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

8

slide-28
SLIDE 28

Wavefront Propagation

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-29
SLIDE 29

Wavefront Propagation

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-30
SLIDE 30

Wavefront Propagation

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-31
SLIDE 31

Wavefront Propagation

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-32
SLIDE 32

Wavefront Propagation

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-33
SLIDE 33

Wavefront Propagation

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-34
SLIDE 34

Wavefront Propagation

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-35
SLIDE 35

Wavefront Propagation

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-36
SLIDE 36

Wavefront Propagation

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-37
SLIDE 37

Wavefront Propagation

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-38
SLIDE 38

Wavefront Propagation

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-39
SLIDE 39

Wavefront Propagation

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-40
SLIDE 40

Wavefront Propagation

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

9

slide-41
SLIDE 41

Analysis

  • All topological changes of the wavefront are properly detected.
  • A quadratic number of collision events are computed in any case.
  • In the worst case O(n2) break-through events take place.
  • At most O(n2) active arcs are generated during the wavefront propagation.
  • Therefore, the algorithms runtime is O(n2 log n) in the worst case.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

10

slide-42
SLIDE 42

Discussion

  • Our algorithm is also able to handle additive weights.
  • Improve the average case behavior of our strategy.
  • Reduce the number of collisions that are computed.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

11

slide-43
SLIDE 43

Discussion

  • Our algorithm is also able to handle additive weights.
  • Improve the average case behavior of our strategy.
  • Reduce the number of collisions that are computed.

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

11

slide-44
SLIDE 44

The End Thank you for your attention!

Computational Geometry and Applications Lab UNIVERSIT¨ AT SALZBURG

12