L EMMATA I r The wavefront propagation of strictly monotone polygonal - - PowerPoint PPT Presentation

l emmata i
SMART_READER_LITE
LIVE PREVIEW

L EMMATA I r The wavefront propagation of strictly monotone polygonal - - PowerPoint PPT Presentation

S TRAIGHT S KELETONS OF M ONOTONE P OLYGONS Therese Biedl Martin Held Stefan Huber Dominik Kaaser Peter Palfrader EuroCG 2014, Ein Gedi, Israel 1 S TRAIGHT S KELETONS r Aichholzer, Aurenhammer, Alberts, Grtner 1995 [2] . r Wavefront


slide-1
SLIDE 1

STRAIGHT SKELETONS

OF

MONOTONE POLYGONS

Therese Biedl Martin Held Stefan Huber Dominik Kaaser Peter Palfrader EuroCG 2014, Ein Gedi, Israel

1

slide-2
SLIDE 2

STRAIGHT SKELETONS

r Aichholzer, Aurenhammer, Alberts, Gärtner 1995[2]. r Wavefront propagation: shrinking, mitered offset curves of polygon P. r Traces of wavefront vertices are the edges of the straight skeleton S(P).

2

slide-3
SLIDE 3

STRAIGHT SKELETONS

r Aichholzer, Aurenhammer, Alberts, Gärtner 1995[2]. r Wavefront propagation: shrinking, mitered offset curves of polygon P. r Traces of wavefront vertices are the edges of the straight skeleton S(P).

2

slide-4
SLIDE 4

STRAIGHT SKELETONS

r Aichholzer, Aurenhammer, Alberts, Gärtner 1995[2]. r Wavefront propagation: shrinking, mitered offset curves of polygon P. r Traces of wavefront vertices are the edges of the straight skeleton S(P).

2

slide-5
SLIDE 5

STRAIGHT SKELETONS

r Aichholzer, Aurenhammer, Alberts, Gärtner 1995[2]. r Wavefront propagation: shrinking, mitered offset curves of polygon P. r Traces of wavefront vertices are the edges of the straight skeleton S(P).

2

slide-6
SLIDE 6

STRAIGHT SKELETONS

r Aichholzer, Aurenhammer, Alberts, Gärtner 1995[2]. r Wavefront propagation: shrinking, mitered offset curves of polygon P. r Traces of wavefront vertices are the edges of the straight skeleton S(P).

2

slide-7
SLIDE 7

STRAIGHT SKELETONS

r Aichholzer, Aurenhammer, Alberts, Gärtner 1995[2]. r Wavefront propagation: shrinking, mitered offset curves of polygon P. r Traces of wavefront vertices are the edges of the straight skeleton S(P).

2

slide-8
SLIDE 8

STRAIGHT SKELETONS

r Aichholzer, Aurenhammer, Alberts, Gärtner 1995[2]. r Wavefront propagation: shrinking, mitered offset curves of polygon P. r Traces of wavefront vertices are the edges of the straight skeleton S(P).

2

slide-9
SLIDE 9

STRAIGHT SKELETONS

r Aichholzer, Aurenhammer, Alberts, Gärtner 1995[2]. r Wavefront propagation: shrinking, mitered offset curves of polygon P. r Traces of wavefront vertices are the edges of the straight skeleton S(P).

2

slide-10
SLIDE 10

STRAIGHT SKELETONS

r Aichholzer, Aurenhammer, Alberts, Gärtner 1995[2]. r Wavefront propagation: shrinking, mitered offset curves of polygon P. r Traces of wavefront vertices are the edges of the straight skeleton S(P).

2

slide-11
SLIDE 11

STRAIGHT SKELETONS

r Aichholzer, Aurenhammer, Alberts, Gärtner 1995[2]. r Wavefront propagation: shrinking, mitered offset curves of polygon P. r Traces of wavefront vertices are the edges of the straight skeleton S(P).

2

slide-12
SLIDE 12

STRAIGHT SKELETONS

r Aichholzer, Aurenhammer, Alberts, Gärtner 1995[2]. r Wavefront propagation: shrinking, mitered offset curves of polygon P. r Traces of wavefront vertices are the edges of the straight skeleton S(P).

2

slide-13
SLIDE 13

TOPOLOGY CHANGES – EDGE AND SPLIT EVENTS

r Wavefront topology changes over time. r edge event: an edge of the wavefront vanishes. r split event: wavefront splits into two parts. r In S(P), events (topology changes) are witnessed by nodes.

3

slide-14
SLIDE 14

TOPOLOGY CHANGES – EDGE AND SPLIT EVENTS

edge events r Wavefront topology changes over time. r edge event: an edge of the wavefront vanishes. r split event: wavefront splits into two parts. r In S(P), events (topology changes) are witnessed by nodes.

3

slide-15
SLIDE 15

TOPOLOGY CHANGES – EDGE AND SPLIT EVENTS

split event r Wavefront topology changes over time. r edge event: an edge of the wavefront vanishes. r split event: wavefront splits into two parts. r In S(P), events (topology changes) are witnessed by nodes.

3

slide-16
SLIDE 16

TOPOLOGY CHANGES – EDGE AND SPLIT EVENTS

split event edge events r Wavefront topology changes over time. r edge event: an edge of the wavefront vanishes. r split event: wavefront splits into two parts. r In S(P), events (topology changes) are witnessed by nodes.

3

slide-17
SLIDE 17

CONSTRUCTING THE STRAIGHT SKELETON

Algorithm time space Aichholzer, Aurenhammer ’98[1] O(n3 log n) O(n) Eppstein, Erickson ’99[5] ⋆ O(n17/11+ǫ) Cacciola ’04[3] O(n2 log n) O(n2) Huber and Held ’10[7] O(n2 log n) O(n) Vigneron and Yan ’13[8] ⋆⋆ O(n4/3+ǫ) O(n) r Popular approach: Simulate the wavefront propagation. r Main Problem: Identify next event. r Edge events are cheap. Split events are expensive.

Can we do better for specific input classes?

YES, FOR (STRICTLY) MONOTONE POLYGONS.

4

slide-18
SLIDE 18

CONSTRUCTING THE STRAIGHT SKELETON

Algorithm time space Aichholzer, Aurenhammer ’98[1] O(n3 log n) O(n) Eppstein, Erickson ’99[5] ⋆ O(n17/11+ǫ) Cacciola ’04[3] O(n2 log n) O(n2) Huber and Held ’10[7] O(n2 log n) O(n) Vigneron and Yan ’13[8] ⋆⋆ O(n4/3+ǫ) O(n) r Popular approach: Simulate the wavefront propagation. r Main Problem: Identify next event. r Edge events are cheap. Split events are expensive.

Can we do better for specific input classes?

YES, FOR (STRICTLY) MONOTONE POLYGONS.

4

slide-19
SLIDE 19

CONSTRUCTING THE STRAIGHT SKELETON

Algorithm time space Aichholzer, Aurenhammer ’98[1] O(n3 log n) O(n) Eppstein, Erickson ’99[5] ⋆ O(n17/11+ǫ) Cacciola ’04[3] O(n2 log n) O(n2) Huber and Held ’10[7] O(n2 log n) O(n) Vigneron and Yan ’13[8] ⋆⋆ O(n4/3+ǫ) O(n) r Popular approach: Simulate the wavefront propagation. r Main Problem: Identify next event. r Edge events are cheap. Split events are expensive.

Can we do better for specific input classes?

YES, FOR (STRICTLY) MONOTONE POLYGONS.

4

slide-20
SLIDE 20

MONOTONE POLYGONS

m Cn Cs P r Strictly monotone chain C (monotone w.r.t. to a line m): Polygonal chain that intersects normals of m in at most one point. r Strictly monotone polygon P (monotone w.r.t. to a line m): Simple polygon that can be split into two strictly monotone chains.

5

slide-21
SLIDE 21

MONOTONE POLYGONS - PRIOR WORK

Das et al. claim O(n log n) time algorithm[4]: r Requires general position. r Correctness?

6

slide-22
SLIDE 22

LEMMATA I

r The wavefront propagation of strictly monotone polygonal chain C changes

  • nly when edges collapse.

r In particular, the wavefront never splits into parts. r Consequence: We can construct S(C) in O(n log n) time.

7

slide-23
SLIDE 23

LEMMATA I

r The wavefront propagation of strictly monotone polygonal chain C changes

  • nly when edges collapse.

r In particular, the wavefront never splits into parts. r Consequence: We can construct S(C) in O(n log n) time.

7

slide-24
SLIDE 24

LEMMATA I

r The wavefront propagation of strictly monotone polygonal chain C changes

  • nly when edges collapse.

r In particular, the wavefront never splits into parts. r Consequence: We can construct S(C) in O(n log n) time.

7

slide-25
SLIDE 25

LEMMATA I

r The wavefront propagation of strictly monotone polygonal chain C changes

  • nly when edges collapse.

r In particular, the wavefront never splits into parts. r Consequence: We can construct S(C) in O(n log n) time.

7

slide-26
SLIDE 26

LEMMATA I

r The wavefront propagation of strictly monotone polygonal chain C changes

  • nly when edges collapse.

r In particular, the wavefront never splits into parts. r Consequence: We can construct S(C) in O(n log n) time.

7

slide-27
SLIDE 27

LEMMATA I

r The wavefront propagation of strictly monotone polygonal chain C changes

  • nly when edges collapse.

r In particular, the wavefront never splits into parts. r Consequence: We can construct S(C) in O(n log n) time.

7

slide-28
SLIDE 28

LEMMATA I

r The wavefront propagation of strictly monotone polygonal chain C changes

  • nly when edges collapse.

r In particular, the wavefront never splits into parts. r Consequence: We can construct S(C) in O(n log n) time.

7

slide-29
SLIDE 29

LEMMATA I

r The wavefront propagation of strictly monotone polygonal chain C changes

  • nly when edges collapse.

r In particular, the wavefront never splits into parts. r Consequence: We can construct S(C) in O(n log n) time.

7

slide-30
SLIDE 30

LEMMATA I

r The wavefront propagation of strictly monotone polygonal chain C changes

  • nly when edges collapse.

r In particular, the wavefront never splits into parts. r Consequence: We can construct S(C) in O(n log n) time.

7

slide-31
SLIDE 31

LEMMATA II

r In S(P), a unique chain M of arcs connects west to east. r S(P) north of M is not influenced by the south chain. r S(P) north of M is identical to S(Cn) between Cn and M. r Given Cn, Cs, S(Cn) and S(Cs), we can find M in time O(n log n). r S(P) comprises M and parts of S(Cn) and S(Cs)

8

slide-32
SLIDE 32

LEMMATA II

r In S(P), a unique chain M of arcs connects west to east. r S(P) north of M is not influenced by the south chain. r S(P) north of M is identical to S(Cn) between Cn and M. r Given Cn, Cs, S(Cn) and S(Cs), we can find M in time O(n log n). r S(P) comprises M and parts of S(Cn) and S(Cs)

8

slide-33
SLIDE 33

LEMMATA II

r In S(P), a unique chain M of arcs connects west to east. r S(P) north of M is not influenced by the south chain. r S(P) north of M is identical to S(Cn) between Cn and M. r Given Cn, Cs, S(Cn) and S(Cs), we can find M in time O(n log n). r S(P) comprises M and parts of S(Cn) and S(Cs)

8

slide-34
SLIDE 34

LEMMATA II

r In S(P), a unique chain M of arcs connects west to east. r S(P) north of M is not influenced by the south chain. r S(P) north of M is identical to S(Cn) between Cn and M. r Given Cn, Cs, S(Cn) and S(Cs), we can find M in time O(n log n). r S(P) comprises M and parts of S(Cn) and S(Cs)

8

slide-35
SLIDE 35

LEMMATA II

r In S(P), a unique chain M of arcs connects west to east. r S(P) north of M is not influenced by the south chain. r S(P) north of M is identical to S(Cn) between Cn and M. r Given Cn, Cs, S(Cn) and S(Cs), we can find M in time O(n log n). r S(P) comprises M and parts of S(Cn) and S(Cs)

8

slide-36
SLIDE 36

LEMMATA II

r In S(P), a unique chain M of arcs connects west to east. r S(P) north of M is not influenced by the south chain. r S(P) north of M is identical to S(Cn) between Cn and M. r Given Cn, Cs, S(Cn) and S(Cs), we can find M in time O(n log n). r S(P) comprises M and parts of S(Cn) and S(Cs)

8

slide-37
SLIDE 37

ALGORITHM

r Independently construct the north and south skeletons. r Construct M and clip the north and south skeletons. r Assemble S(P) out of these parts.

9

slide-38
SLIDE 38

ALGORITHM

r Independently construct the north and south skeletons. r Construct M and clip the north and south skeletons. r Assemble S(P) out of these parts.

9

slide-39
SLIDE 39

ALGORITHM

r Independently construct the north and south skeletons. r Construct M and clip the north and south skeletons. r Assemble S(P) out of these parts.

9

slide-40
SLIDE 40

ALGORITHM

r Independently construct the north and south skeletons. r Construct M and clip the north and south skeletons. r Assemble S(P) out of these parts.

9

slide-41
SLIDE 41

ALGORITHM

r Independently construct the north and south skeletons. r Construct M and clip the north and south skeletons. r Assemble S(P) out of these parts.

9

slide-42
SLIDE 42

ALGORITHM

r Independently construct the north and south skeletons. r Construct M and clip the north and south skeletons. r Assemble S(P) out of these parts.

THEOREM:

We can construct S(P) of strictly monotone polygons P in time O(n log n). r This also works for the positively weighted straight skeleton Sσ(P).

9

slide-43
SLIDE 43

ALGORITHM

r Independently construct the north and south skeletons. r Construct M and clip the north and south skeletons. r Assemble S(P) out of these parts.

THEOREM:

We can construct S(P) of strictly monotone polygons P in time O(n log n). r This also works for the positively weighted straight skeleton Sσ(P).

9

slide-44
SLIDE 44

STRAIGHT SKELETONS OF MONOTONE POLYGONS

THEOREM:

We can construct S(P) of strictly monotone polygons P in time O(n log n).

10

slide-45
SLIDE 45

REFERENCES I

[1] Oswin Aichholzer and Franz Aurenhammer. Straight Skeletons for General Polygonal Figures in the Plane. In A.M. Samoilenko, editor, Voronoi’s Impact on Modern Sciences II, pages 7–21. Institute of Mathematics of the National Academy of Sciences of Ukraine, Kiev, Ukraine, 1998. [2] Oswin Aichholzer, Franz Aurenhammer, David Alberts, and Bernd Gärtner. A Novel Type of Skeleton for Polygons. Journal of Universal Computer Science, 1(12):752–761, 1995. [3] Fernando Cacciola. A CGAL Implementation of the Straight Skeleton of a Simple 2D Polygon with Holes. In 2nd CGAL User Workshop, Polytechnic Univ., Brooklyn, New York, USA, June 2004. [4] Gautam K. Das, Asish Mukhopadhyay, Subhas C. Nandy, Sangameswar Patil, and S. V. Rao. Computing the Straight Skeleton of a Monotone Polygon in O(n log n) Time. In Proceedings of the 22nd Canadian Conference on Computational Geometry (CCCG 2010), pages 207–210, August 2010. [5] David Eppstein and Jeff Erickson. Raising Roofs, Crashing Cycles, and Playing Pool: Applications of a Data Structure for Finding Pairwise Interactions. Discrete & Computational Geometry, 22(4):569–592, 1999. [6] Petr Felkel and Štˇ epán Obdržálek. Straight Skeleton Implementation. In Proceedings of the 14th Spring Conference on Computer Graphics (SCCG 1998), pages 210–218, Budmerice, Slovakia, April 1998. [7] Stefan Huber and Martin Held. A Fast Straight-Skeleton Algorithm Based On Generalized Motorcycle Graphs. International Journal of Computational Geometry, 22(5):471–498, October 2012. [8] Antoine Vigneron and Lie Yan. A Faster Algorithm for Computing Motorcycle Graphs. In Proceedings of the 29th Symposium on Computational Geometry (SoCG 2013), pages 17–26, Rio de Janeiro, Brazil, 2013. 11

slide-46
SLIDE 46

NEGATIVE WEIGHTS

+3 +3 −1 −3 −1

12

slide-47
SLIDE 47

NEGATIVE WEIGHTS

+3 +3 −1 −3 −1

12

slide-48
SLIDE 48

MONOTONE POLYGONS - DAS ET AL.

Das et al.[4]: claim O(n log n) time algorithm: r Cannot handle vertex events (perturbation cannot work). r Wrongly assumes that split event nodes are located at an offset that is the distance to their closest supporting line (similar to Felkel[6]).

13

slide-49
SLIDE 49

MONOTONE POLYGONS - DAS ET AL.

Das et al.[4]: claim O(n log n) time algorithm: r Cannot handle vertex events (perturbation cannot work). r Wrongly assumes that split event nodes are located at an offset that is the distance to their closest supporting line (similar to Felkel[6]).

13

slide-50
SLIDE 50

MONOTONE POLYGONS - DAS ET AL.

Das et al.[4]: claim O(n log n) time algorithm: r Cannot handle vertex events (perturbation cannot work). r Wrongly assumes that split event nodes are located at an offset that is the distance to their closest supporting line (similar to Felkel[6]).

13