Straight Skeletons and their Relation to Triangulations EuroCG2010, - - PowerPoint PPT Presentation

straight skeletons and their relation to triangulations
SMART_READER_LITE
LIVE PREVIEW

Straight Skeletons and their Relation to Triangulations EuroCG2010, - - PowerPoint PPT Presentation

Straight Skeletons and their Relation to Triangulations EuroCG2010, Dortmund, Germany Stefan Huber Martin Held Universit at Salzburg, Austria March 22, 2010 Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations


slide-1
SLIDE 1

Straight Skeletons and their Relation to Triangulations

EuroCG2010, Dortmund, Germany Stefan Huber Martin Held

Universit¨ at Salzburg, Austria

March 22, 2010

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-2
SLIDE 2

Straight skeleton of simple polygons

Aichholzer et alii [1995]: straight skeleton of simple polygons. Similar to Voronoi diagram, but consists only of straight-line segments.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-3
SLIDE 3

Straight skeleton of simple polygons

Aichholzer et alii [1995]: straight skeleton of simple polygons. Similar to Voronoi diagram, but consists only of straight-line segments. Self-parallel wavefront propagation process.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-4
SLIDE 4

Straight skeleton of simple polygons

Aichholzer et alii [1995]: straight skeleton of simple polygons. Similar to Voronoi diagram, but consists only of straight-line segments. Self-parallel wavefront propagation process. Topological changes:

edge events

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-5
SLIDE 5

Straight skeleton of simple polygons

Aichholzer et alii [1995]: straight skeleton of simple polygons. Similar to Voronoi diagram, but consists only of straight-line segments. Self-parallel wavefront propagation process. Topological changes:

edge events split events

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-6
SLIDE 6

Straight skeleton of planar straight-line graphs

Aichholzer and Aurenhammer [1998]: generalization to planar straight-line graphs.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-7
SLIDE 7

Triangulation-based algorithm

Aichholzer and Aurenhammer [1998]: for planar straight-line graphs, but let us consider simple polygons. Basic idea:

Triangulate polygon.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-8
SLIDE 8

Triangulation-based algorithm

Aichholzer and Aurenhammer [1998]: for planar straight-line graphs, but let us consider simple polygons. Basic idea:

Triangulate polygon. Simulate wavefront propagation.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-9
SLIDE 9

Triangulation-based algorithm

Aichholzer and Aurenhammer [1998]: for planar straight-line graphs, but let us consider simple polygons. Basic idea:

Triangulate polygon. Simulate wavefront propagation. Edge and split events correspond to collapses of triangles.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-10
SLIDE 10

Triangulation-based algorithm

Aichholzer and Aurenhammer [1998]: for planar straight-line graphs, but let us consider simple polygons. Basic idea:

Triangulate polygon. Simulate wavefront propagation. Edge and split events correspond to collapses of triangles. Additional events: flip events. We have to maintain the triangulation by an edge flip.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-11
SLIDE 11

Triangulation-based algorithm

Aichholzer and Aurenhammer [1998]: for planar straight-line graphs, but let us consider simple polygons. Basic idea:

Triangulate polygon. Simulate wavefront propagation. Edge and split events correspond to collapses of triangles. Additional events: flip events. We have to maintain the triangulation by an edge flip.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-12
SLIDE 12

Triangulation-based algorithm

Priority queue contains collapsing times of triangles. A single flip event costs O(log n) time. Central question How many flip events can occur? Best known bound: O(n3) = ⇒ O(n3 log n) runtime. Still open problem: is the actual bound O(n2)?

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-13
SLIDE 13

How often can diagonals reappear?

Question How often can a diagonal reappear? Not every collinearity of three vertices results in a flip event. If a single diagonal would reappear at most O(1) times, the O(n2) bound for the number of flip events would follow.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-14
SLIDE 14

How often can diagonals reappear?

Question How often can a diagonal reappear? Not every collinearity of three vertices results in a flip event. If a single diagonal would reappear at most O(1) times, the O(n2) bound for the number of flip events would follow. Unfortunately, one can prove the following. . . Lemma There exists a polygon P with n vertices and a corresponding triangulation such that Ω(n) diagonals reappear Ω(n) times each during the wavefront propagation.

Goto proof Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-15
SLIDE 15

Can we always find good triangulations?

Byproduct of the last lemma: polygons and corresponding triangulations with Ω(n2) flip events. Choosing “better” triangulations often leads to O(n) flip events. Question Can we always find, for any given polygon P, a triangulation that leads to o(n2), say O(n), flip events?

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-16
SLIDE 16

Can we always find good triangulations?

Byproduct of the last lemma: polygons and corresponding triangulations with Ω(n2) flip events. Choosing “better” triangulations often leads to O(n) flip events. Question Can we always find, for any given polygon P, a triangulation that leads to o(n2), say O(n), flip events? Lemma There exists a polygon with n vertices for which every triangulation leads to Ω(n2) flip events.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-17
SLIDE 17

Can we always find good triangulations?

E1 Ek N1 N2 Nm W AE1 . . . . . . A B Let Ni cause Ω(n) flip events before Ni+1, . . . , Nm cross AE1.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-18
SLIDE 18

Can we always find good triangulations?

E1 Ek N1 N2 Nm W AE1 . . . . . . A B Let Ni cause Ω(n) flip events before Ni+1, . . . , Nm cross AE1. Note: Retriangulating at specific favorable moments does not seem to help either! Retriangulating once saves at most O(n) flip events.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-19
SLIDE 19

Steiner triangulations without flip events

Hence, there are polygons where every triangulation leads to Ω(n2) flip

  • events. Even retriangulating at favorable moments does not help.

Question Do Steiner points help to reduce the number of flip events? If yes, how should Steiner points behave during the propagation process?

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-20
SLIDE 20

Steiner triangulations without flip events

Hence, there are polygons where every triangulation leads to Ω(n2) flip

  • events. Even retriangulating at favorable moments does not help.

Question Do Steiner points help to reduce the number of flip events? If yes, how should Steiner points behave during the propagation process? Lemma Every simple polygon P with n vertices admits a triangulation that employs at most n − 2 Steiner points and which is free of flip events.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-21
SLIDE 21

Steiner triangulations without flip events

Proof. Constructive, but employs straight skeleton S of P. Insert nodes of S as Steiner points and arcs of S as initial diagonals. Vertices of P are prevented to cause flip events! It remains to triangulate each face f . Do this carefully such that Steiner points do not cause flip events! f

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-22
SLIDE 22

Steiner triangulations without flip events

Note that face f is monotone w.r.t. to s. Reflex vertices of f only appear in the upper monotonic chain. If f is convex: triangulate arbitrarily. If f is non-convex:

Let v be the reflex vertex with minimum orthogonal distance to s. Insert diagonals pv and qv. Face f is decomposed by the triangle pvq into two parts A and B. Proceed recursively.

p q s v A v ′ B

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-23
SLIDE 23

Steiner triangulations without flip events

p q s v A v ′ B During the wavefront propagation the segments s move inwards and may be split when reaching reflex vertices of f . Steiner points stay in place and wait until a segment s reaches them. A triangle in f collapses when s reaches a node of f and hence an edge or a split event occured. However, note that no diagonal crosses a Steiner point.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-24
SLIDE 24

Straight skeletons based on motorcycle graphs

Proof of last lemma does not result in a new straight skeleton algorithm. Convex vertices never cause flip events. Reflex vertices are barred from causing flip events: they move along triangulation diagonals.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-25
SLIDE 25

Straight skeletons based on motorcycle graphs

Proof of last lemma does not result in a new straight skeleton algorithm. Convex vertices never cause flip events. Reflex vertices are barred from causing flip events: they move along triangulation diagonals. The same properties hold if we replace the straight skeleton with the motorcycle graph M induced by the moving reflex vertices.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-26
SLIDE 26

Straight skeletons based on motorcycle graphs

Adopt the assumption of Cheng and Vigneron [2002]: no split events

  • f higher degree.1

Cheng and Vigneron [2002] showed: reflex arcs of the straight skeleton are not longer than corresponding motorcycle graph trace. Note that M always decomposes P into convex parts during the shrinking process.

1No two or more reflex events meet simultaneously in a common point.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-27
SLIDE 27

Straight skeletons based on motorcycle graphs

Adopt the assumption of Cheng and Vigneron [2002]: no split events

  • f higher degree.1

Cheng and Vigneron [2002] showed: reflex arcs of the straight skeleton are not longer than corresponding motorcycle graph trace. Note that M always decomposes P into convex parts during the shrinking process. A simple straight skeleton algorithm: We do not (need to) consider a triangulation. But we maintain the intersection of M with the shrinking polygon P. We call the trace end points Steiner points.

1No two or more reflex events meet simultaneously in a common point.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-28
SLIDE 28

Straight skeletons based on motorcycle graphs

The following events may occur: (i) edge event: two neighboring convex vertices meet. (ii) split event: a reflex vertex meets its corresponding Steiner point. (iii) switch event: a convex vertex meets a Steiner point an hence migrates to a neighboring convex part of P. (iv) start event: a reflex vertex or a moving Steiner point meets a resting Steiner point, which has to start moving now. (iii) (i) (ii) (iv)

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-29
SLIDE 29

Straight skeletons based on motorcycle graphs

Note that only neighboring2 vertices meet in the propagation

  • process. Hence, it suffices to check only collisions among

neighboring vertices. We use a priority queue, and process events in chronological order. In the worst case we have O(n2) switch events. All other events

  • ccur Θ(n) times.

Every event is handled in O(log n) time since only a constant number of neighbors are affected. O(n2 log n) worst case complexity. Still as simple as the triangulation-based algorithm. In practice O(n2) seems very pessimistic for the number of switch

  • events. If only O(n) switch events actually occur we get an

O(n log n) runtime.

2Adjacent on P or on M.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-30
SLIDE 30

Conclusion

Regarding the triangulation-based algorithm, we saw that Ω(n) diagonals may reappear Ω(n) times and there a polygons where every triangulation leads to Ω(n2) flip events, but employing Steiner points allows us to eliminate all flip events. This motivated a straight skeleton algorithm which is as simple as the triangulation-based algorithm; expected to perform as fast as the triangulation-based algorithm in practice; not conceptionally bounded to simple polygons and hence can be easily extended to planar straight-line graphs.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-31
SLIDE 31

Finish

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-32
SLIDE 32

The O(n3) bound

Flip event: a vertex v3 crosses a diagonal between v1 and v2. Vertices vi move constantly along a straight line, say vi = si + t · ui. Vertex v3 crosses the diagonal only if

  • s1x + t · u1x

s2x + t · u2x s3x + t · u3x s1y + t · u1y s2y + t · u2y s3y + t · u3y 1 1 1

  • = 0.

Quadratic polynomial in t: at most two crossings possible for every triple v1, v2, v3. v1 v2 v3

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-33
SLIDE 33

How often can diagonals reappear?

Proof. We construct an appropriate geometric configuration of moving vertices that realizes a sequence of topological transitions such that diagonals reappear as often as claimed. The proof is split into three parts:

1

One diagonal reappears twice.

2

One diagonal reappears Ω(n) times.

3

Ω(n) diagonals reappear Ω(n) times each.

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-34
SLIDE 34

How often can diagonals reappear?

Part 1: Diagonal AB reappears twice.

N1 N2 A B S2 S1 1 3 4 2 5 A B N1 N2 S2 S1 P

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-35
SLIDE 35

How often can diagonals reappear?

Part 1: Diagonal AB reappears twice.

N1 N2 A B S2 S1 1 3 4 2 5 A B N1 N2 S2 S1 A B N1 N2 S2 S1 P

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-36
SLIDE 36

How often can diagonals reappear?

Part 1: Diagonal AB reappears twice.

N1 N2 A B S2 S1 1 3 4 2 5 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 P

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-37
SLIDE 37

How often can diagonals reappear?

Part 1: Diagonal AB reappears twice.

N1 N2 A B S2 S1 1 3 4 2 5 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 P

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-38
SLIDE 38

How often can diagonals reappear?

Part 1: Diagonal AB reappears twice.

N1 N2 A B S2 S1 1 3 4 2 5 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 P

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-39
SLIDE 39

How often can diagonals reappear?

Part 1: Diagonal AB reappears twice.

N1 N2 A B S2 S1 1 3 4 2 5 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 N3 P

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-40
SLIDE 40

How often can diagonals reappear?

Part 2: Add vertices S3, . . . , Sm and N1, . . . , Nm.

N1 N2 A B S2 S1 1 3 4 2 5 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 A B N1 N2 S2 S1 N3 P

Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations

slide-41
SLIDE 41

How often can diagonals reappear?

Part 3: Add vertices A2, . . . , Ak.

Ak . . . A1 B Aj+1Aj AjB Sm . . . S1 < ǫ

1

Ak . . . A1 Ak . . . A1 Ak . . . A1 Ak . . . A1 N1 N1 N1 N1 B B B B N2 N2 S1 S1 S1 S2 S1 N1 . . . Nm

Return Stefan Huber, Martin Held Straight Skeletons and their Relation to Triangulations