Recognizing Straight Skeletons and Voronoi Diagrams and - - PowerPoint PPT Presentation

recognizing straight skeletons and voronoi diagrams and
SMART_READER_LITE
LIVE PREVIEW

Recognizing Straight Skeletons and Voronoi Diagrams and - - PowerPoint PPT Presentation

Recognizing Straight Skeletons and Voronoi Diagrams and Reconstructing Their Input Therese Biedl 1 Martin Held 2 Stefan Huber 3 1 David R. Cheriton School of Computer Science University of Waterloo, Canada 2 FB Computerwissenschaften Universit


slide-1
SLIDE 1

Recognizing Straight Skeletons and Voronoi Diagrams and Reconstructing Their Input

Therese Biedl1 Martin Held2 Stefan Huber3

1David R. Cheriton School of Computer Science

University of Waterloo, Canada

2FB Computerwissenschaften

Universit¨ at Salzburg

3Institute of Science and Technology Austria

May 28, 2013

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams 1 of 26

slide-2
SLIDE 2

Straight skeleton of a simple polygon

The Voronoi diagram can be interpreted as the interference pattern of a wavefront propagation process.

(a) Voronoi diagram (b) straight skeleton

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Definition of S(H) 2 of 26

slide-3
SLIDE 3

Straight skeleton of a simple polygon

The Voronoi diagram can be interpreted as the interference pattern of a wavefront propagation process.

(a) Voronoi diagram (b) straight skeleton

◮ The straight skeleton is defined by interference patterns of “mitered-offset

curves”.

◮ Introduced by [Aichholzer et al., 1995].

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Definition of S(H) 2 of 26

slide-4
SLIDE 4

Straight skeleton of a simple polygon

◮ Topological changes (events) during the wavefront propagation:

◮ Edge event: a wavefront edge shrinks to zero length. ◮ Split event: a reflex wavefront vertex splits another wavefront edge.

split event edge event

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Definition of S(H) 3 of 26

slide-5
SLIDE 5

Straight skeleton of a simple polygon

◮ Topological changes (events) during the wavefront propagation:

◮ Edge event: a wavefront edge shrinks to zero length. ◮ Split event: a reflex wavefront vertex splits another wavefront edge.

split event edge event

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Definition of S(H) 3 of 26

slide-6
SLIDE 6

Straight skeleton of a simple polygon

◮ Topological changes (events) during the wavefront propagation:

◮ Edge event: a wavefront edge shrinks to zero length. ◮ Split event: a reflex wavefront vertex splits another wavefront edge.

split event edge event node face f (e) e arc

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Definition of S(H) 3 of 26

slide-7
SLIDE 7

Straight skeleton of a PSLG

◮ [Aichholzer and Aurenhammer, 1998]: straight skeleton S(G) of a PSLG G

◮ Each input edge sends out two parallel wavefront copies. ◮ Each terminal vertex sends out an additional wavefront edge.

WG(t) wavefront at time t

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Definition of S(H) 4 of 26

slide-8
SLIDE 8

Straight skeleton of a PSLG

◮ [Aichholzer and Aurenhammer, 1998]: straight skeleton S(G) of a PSLG G

◮ Each input edge sends out two parallel wavefront copies. ◮ Each terminal vertex sends out an additional wavefront edge. Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Definition of S(H) 4 of 26

slide-9
SLIDE 9

Straight skeleton of a PSLG

◮ [Aichholzer and Aurenhammer, 1998]: straight skeleton S(G) of a PSLG G

◮ Each input edge sends out two parallel wavefront copies. ◮ Each terminal vertex sends out an additional wavefront edge. Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Definition of S(H) 4 of 26

slide-10
SLIDE 10

Applications

Roof construction Tool path generation

Fold-and-cut problem

. . . and many more.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Definition of S(H) 5 of 26

slide-11
SLIDE 11

Problem statement

PSLG∞: edges may be straight-line segments or rays. All rays are incident to a single vertex at infinity.

Problem (GMP-SS)

Given a PSLG∞ G, can we find a PSLG H such that S(H) = G?

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Problem statement 6 of 26

slide-12
SLIDE 12

Problem statement

PSLG∞: edges may be straight-line segments or rays. All rays are incident to a single vertex at infinity.

Problem (GMP-SS)

Given a PSLG∞ G, can we find a PSLG H such that S(H) = G?

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Problem statement 6 of 26

slide-13
SLIDE 13

Problem statement

PSLG∞: edges may be straight-line segments or rays. All rays are incident to a single vertex at infinity.

Problem (GMP-SS)

Given a PSLG∞ G, can we find a PSLG H such that S(H) = G?

Problem [Aichholzer et al., 1995]

Give necessary and sufficient conditions for G to be the straight skeleton of H.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Problem statement 6 of 26

slide-14
SLIDE 14

Prior work

[Aichholzer et al., 2012]:

◮ Any abstract tree T can be realized as S(P) (or V(P)) of a convex polygon. ◮ Realizability of phylogenetic trees T as S(P) of a polygon P.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Problem statement 7 of 26

slide-15
SLIDE 15

Prior work

[Aichholzer et al., 2012]:

◮ Any abstract tree T can be realized as S(P) (or V(P)) of a convex polygon. ◮ Realizability of phylogenetic trees T as S(P) of a polygon P.

Characterizations of straight skeletons:

◮ Procedural definition based on wavefronts. ◮ Characterization of S(P)-based roofs among all constant-slope roofs on top

  • f polygons P [Aichholzer et al., 1995].

◮ Lower envelope characterization of S(G) by linear functions on restricted

domains that depending on the generalized motorcycle graph of G [Huber and Held, 2012].

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Introduction / Problem statement 7 of 26

slide-16
SLIDE 16

Characterization: basic facts

Facts

◮ If a vertex of S(H) has degree two then it coincides with a degree-one vertex

  • f H. All other vertices have degree three or higher.

◮ Every face of S(H) contains exactly one segment of H, except for faces

generated by degree-one vertices of H.

◮ Every edge of H begins and ends at an edge of S(H).

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Characterization / Three conditions 8 of 26

slide-17
SLIDE 17

Characterization: basic facts

Facts

◮ If a vertex of S(H) has degree two then it coincides with a degree-one vertex

  • f H. All other vertices have degree three or higher.

◮ Every face of S(H) contains exactly one segment of H, except for faces

generated by degree-one vertices of H.

◮ Every edge of H begins and ends at an edge of S(H).

Temporary assumption: G has no degree-2 vertices.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Characterization / Three conditions 8 of 26

slide-18
SLIDE 18

Characterization: inside-condition

Let G be the putative straight skeleton and F the set of faces of G. A solution to GMP-SS can be denoted as a mapping λ: F → L, where L is the set of lines.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Characterization / Three conditions 9 of 26

slide-19
SLIDE 19

Characterization: inside-condition

Let G be the putative straight skeleton and F the set of faces of G. A solution to GMP-SS can be denoted as a mapping λ: F → L, where L is the set of lines.

Definition (Inside-condition)

λ fulfills the inside-condition if σ(f ) := λ(f ) ∩ f is a single line segment for all f ∈ F.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Characterization / Three conditions 9 of 26

slide-20
SLIDE 20

Characterization: inside-condition

We construct H as the graph whose edges are σ(f ), with f ∈ F.

◮ GMP-SS reformulated: Is there a λ for G that fulfills the inside-condition and

for which S(H) = G?

λ(f ) σ(f ) f ∈ F

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Characterization / Three conditions 10 of 26

slide-21
SLIDE 21

Characterization: inside-condition

We construct H as the graph whose edges are σ(f ), with f ∈ F.

◮ GMP-SS reformulated: Is there a λ for G that fulfills the inside-condition and

for which S(H) = G?

λ(f ) σ(f ) f ∈ F

◮ For a G and λ we denote by G ∗ := G ∪ H and by F ∗ the faces of G ∗.

◮ Every face of G contains two faces of G ∗. ◮ We reuse λ(f ) and σ(f ) for faces of G ∗ accordingly. Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Characterization / Three conditions 10 of 26

slide-22
SLIDE 22

Characterization: sweeping-condition

Definition (Sweeping-condition)

A face f of G ∗ fulfills the sweeping-condition if

  • 1. f is monotone w.r.t. λ(f ) and
  • 2. at the lower chain, the distance to λ(f ) is increasing, when moving away

from σ(f ). λ fulfills the sweeping-condition if all faces of G ∗ fulfill it.

f ∈ F ∗ λ(f )

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Characterization / Three conditions 11 of 26

slide-23
SLIDE 23

Characterization: bisector-condition

Definition (Bisector-condition)

The edge e = f ∩ f ′ fulfills the bisector-condition if e lies on the bisector of λ(f ) and λ(f ′).

λ(f ) f f ′ e λ(f ′)

λ fulfills the bisector-condition if all edges of G fulfill the bisector-condition.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Characterization / Three conditions 12 of 26

slide-24
SLIDE 24

Characterization

Lemma

If λ solves GMP-SS then λ fulfills the inside-, sweeping-, and bisector-condition. Proof. Inside- and bisector-condition: by definition of straight skeletons. Sweeping-condition:

◮ Monotonicity by [Aichholzer et al., 1995]. ◮ Lower chain is even convex by [Huber, 2012].

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Characterization / Main theorem 13 of 26

slide-25
SLIDE 25

Characterization

Lemma

If λ solves GMP-SS then λ fulfills the inside-, sweeping-, and bisector-condition. Proof. Inside- and bisector-condition: by definition of straight skeletons. Sweeping-condition:

◮ Monotonicity by [Aichholzer et al., 1995]. ◮ Lower chain is even convex by [Huber, 2012].

Theorem

If λ fulfills the inside-, sweeping-, and bisector-condition then λ solves GMP-SS.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Characterization / Main theorem 13 of 26

slide-26
SLIDE 26

Recognizing straight skeletons

Key method: We successively reflect lines λ(f ) at edges of f .

◮ Assume we know a suitable λ(f ) for one face f . ◮ Bisector-condition: we know λ(f ′) for a neighboring face f ′, too. ◮ Going along a spanning tree of the dual of G, we know λ(f ′) for all f ′ ∈ F.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / Star graph 14 of 26

slide-27
SLIDE 27

Recognizing straight skeletons

Key method: We successively reflect lines λ(f ) at edges of f .

◮ Assume we know a suitable λ(f ) for one face f . ◮ Bisector-condition: we know λ(f ′) for a neighboring face f ′, too. ◮ Going along a spanning tree of the dual of G, we know λ(f ′) for all f ′ ∈ F.

◮ Hence, degree-2 vertices of G make the problem easy.

λ(f ) f f ′ e λ(f ′)

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / Star graph 14 of 26

slide-28
SLIDE 28

Recognizing straight skeletons

Key method: We successively reflect lines λ(f ) at edges of f .

◮ Assume we know a suitable λ(f ) for one face f . ◮ Bisector-condition: we know λ(f ′) for a neighboring face f ′, too. ◮ Going along a spanning tree of the dual of G, we know λ(f ′) for all f ′ ∈ F.

◮ Hence, degree-2 vertices of G make the problem easy.

point set l e1 e2 Φe1(l) Φe1◦e2(l) = Φe2(Φe1(l)) Φ−1

e1◦e2 = Φe2◦e1

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / Star graph 14 of 26

slide-29
SLIDE 29

Recognizing straight skeletons: star graphs

◮ “Local view” at a vertex v of G with incident ray-edges b1, . . . , bd.

◮ Find λ that fulfills inside-, (sweeping-), and bisector-condition.

b1 b2 b3 b4 bd v f1 f2 fd

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / Star graph 15 of 26

slide-30
SLIDE 30

Recognizing straight skeletons: star graphs

◮ “Local view” at a vertex v of G with incident ray-edges b1, . . . , bd.

◮ Find λ that fulfills inside-, (sweeping-), and bisector-condition.

◮ Bisector-condition: Φb2◦···◦bd◦b1 needs to be the identity function.

b1 b2 b3 b4 bd λ(f1) v λ(f2) λ(f3) λ(f4) λ(fd) ℓ1 ℓ2 ℓ3 ℓ4 ℓd

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / Star graph 15 of 26

slide-31
SLIDE 31

Recognizing straight skeletons: star graphs

◮ “Local view” at a vertex v of G with incident ray-edges b1, . . . , bd.

◮ Find λ that fulfills inside-, (sweeping-), and bisector-condition.

◮ Bisector-condition: Φb2◦···◦bd◦b1 needs to be the identity function.

b1 b2 b3 b4 bd v β1 α β1 − α β1 − α ℓ1 ℓ2 ℓ3 ℓ4 ℓd

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / Star graph 15 of 26

slide-32
SLIDE 32

Recognizing straight skeletons: star graphs

◮ “Local view” at a vertex v of G with incident ray-edges b1, . . . , bd.

◮ Find λ that fulfills inside-, (sweeping-), and bisector-condition.

◮ Bisector-condition: Φb2◦···◦bd◦b1 needs to be the identity function.

b1 b2 b3 b4 bd v β1 β2 α β1 − α β1 − α β2 − β1 + α ℓ1 ℓ2 ℓ3 ℓ4 ℓd

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / Star graph 15 of 26

slide-33
SLIDE 33

Recognizing straight skeletons: star graphs

◮ “Local view” at a vertex v of G with incident ray-edges b1, . . . , bd.

◮ Find λ that fulfills inside-, (sweeping-), and bisector-condition.

◮ Bisector-condition: Φb2◦···◦bd◦b1 needs to be the identity function.

b1 b2 b3 b4 bd v β1 β2 α β1 − α β1 − α β2 − β1 + α β3 β3 − β2 + β1 − α β4 β4 − β3 + β2 − β1 + α

d

i=1(−1)d−iβi + (−1)dα

ℓ1 ℓ2 ℓ3 ℓ4 ℓd

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / Star graph 15 of 26

slide-34
SLIDE 34

Recognizing straight skeletons: star graphs

◮ “Local view” at a vertex v of G with incident ray-edges b1, . . . , bd.

◮ Find λ that fulfills inside-, (sweeping-), and bisector-condition.

◮ Bisector-condition: Φb2◦···◦bd◦b1 needs to be the identity function.

b1 b2 b3 b4 bd v β1 β2 α β1 − α β1 − α β2 − β1 + α β3 β3 − β2 + β1 − α β4 β4 − β3 + β2 − β1 + α

d

i=1(−1)d−iβi + (−1)dα

ℓ1 ℓ2 ℓ3 ℓ4 ℓd need to be equal

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / Star graph 15 of 26

slide-35
SLIDE 35

Recognizing straight skeletons: star graphs

We get α = d

i=1 βi + (−1)dα and therefore

1 2

d

  • i=1

(−1)d−iβi =

  • if d is even,

α if d is odd. (1)

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / Star graph 16 of 26

slide-36
SLIDE 36

Recognizing straight skeletons: star graphs

We get α = d

i=1 βi + (−1)dα and therefore

1 2

d

  • i=1

(−1)d−iβi =

  • if d is even,

α if d is odd. (1)

Definition (Balance-condition, ℓ(f , v))

The vertex v with even degree d fulfills the balance-condition if βd − βd−1 + · · · + β2 − β1 = 0. For vertices of odd degree d we define ℓ(f , v) as

v βd β1 β2

1 2

d

i=1(−1)d−iβi

ℓ(f , v) := f

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / Star graph 16 of 26

slide-37
SLIDE 37

Recognizing straight skeletons: star graphs

Lemma

Φb1◦···◦bd(l) = l if and only if

  • v fulfills the balance-condition

if d is even l = ℓ(f , v) ∨ l ⊥ ℓ(f , v) for some f ∈ F with v ∈ f if d is odd (2)

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / Star graph 17 of 26

slide-38
SLIDE 38

Recognizing straight skeletons: PSLGs

The previous lemma imposes constraints on λ for the vertices of G: ℓ(f ) := {l ∈ L : l ∩ int f = ∅} ∩

  • v is vertex of f

deg(v) is odd

{ℓ(f , v)} ∪ ℓ(f , v)⊥. (3) We propagate the per-face constraints to a single face:

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / PSLGs 18 of 26

slide-39
SLIDE 39

Recognizing straight skeletons: PSLGs

The previous lemma imposes constraints on λ for the vertices of G: ℓ(f ) := {l ∈ L : l ∩ int f = ∅} ∩

  • v is vertex of f

deg(v) is odd

{ℓ(f , v)} ∪ ℓ(f , v)⊥. (3) We propagate the per-face constraints to a single face:

◮ Choose a spanning tree T of the dual of G, with a root face r.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / PSLGs 18 of 26

slide-40
SLIDE 40

Recognizing straight skeletons: PSLGs

The previous lemma imposes constraints on λ for the vertices of G: ℓ(f ) := {l ∈ L : l ∩ int f = ∅} ∩

  • v is vertex of f

deg(v) is odd

{ℓ(f , v)} ∪ ℓ(f , v)⊥. (3) We propagate the per-face constraints to a single face:

◮ Choose a spanning tree T of the dual of G, with a root face r. ◮ Denote by f T r the sequence of edges in T from f to r and define

f r := Φf T r(f ) (4) ℓr(f ) := Φf T r(l(f )) (5) X :=

  • f ∈F

ℓr(f ). (6)

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / PSLGs 18 of 26

slide-41
SLIDE 41

Recognizing straight skeletons: PSLGs

Theorem

GMP-SS for G has a solution if and only if

◮ the balance-condition holds for all vertices of even degree and ◮ there is a line l ∈ X such that for all f ∈ F

◮ l ∩ f r is a single segment and ◮ the components of f r \ l fulfill the sweeping-condition.

There is a one-to-one correspondence between such lines l ∈ X and solutions to GMP-SS.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / PSLGs 19 of 26

slide-42
SLIDE 42

Recognizing straight skeletons: PSLGs

Proof sketch:

◮ Take a suitable l and define λ(f ) := ΦrT f (l). ◮ To show: λ fulfills the inside-, bisector- and sweeping-condition.

◮ Inside- and sweeping-condition are fulfilled by assumption. ◮ Bisector-condition for (duals of) edges in T as well. Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / PSLGs 20 of 26

slide-43
SLIDE 43

Recognizing straight skeletons: PSLGs

Proof sketch:

◮ Take a suitable l and define λ(f ) := ΦrT f (l). ◮ To show: λ fulfills the inside-, bisector- and sweeping-condition.

◮ Inside- and sweeping-condition are fulfilled by assumption. ◮ Bisector-condition for (duals of) edges in T as well.

◮ Claim: edges not in T fulfill the bisector-condition as well.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / PSLGs 20 of 26

slide-44
SLIDE 44

Recognizing straight skeletons: PSLGs

Proof sketch:

◮ Take a suitable l and define λ(f ) := ΦrT f (l). ◮ To show: λ fulfills the inside-, bisector- and sweeping-condition.

◮ Inside- and sweeping-condition are fulfilled by assumption. ◮ Bisector-condition for (duals of) edges in T as well.

◮ Claim: edges not in T fulfill the bisector-condition as well. ◮ Stronger claim: Let W be any walk in the dual of G from r to j. Then

ΦW (λ(r)) = λ(j). That is, it does not matter how we choose T.

j i r W i T j v

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Recognizing S(G) / PSLGs 20 of 26

slide-45
SLIDE 45

Reconstructing the input: algorithm

We are given G and want to find a suitable λ, i.e., a suitable l ∈ X.

◮ Check that balance-condition holds at every even-degree vertex. ◮ We compute T, all f r = Φf T r(f ) and all ℓr(f , v) = Φf T r(ℓ(f , r)) in total

linear time.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Reconstructing H 21 of 26

slide-46
SLIDE 46

Reconstructing the input: algorithm

We are given G and want to find a suitable λ, i.e., a suitable l ∈ X.

◮ Check that balance-condition holds at every even-degree vertex. ◮ We compute T, all f r = Φf T r(f ) and all ℓr(f , v) = Φf T r(ℓ(f , r)) in total

linear time.

◮ Case 1: All vertices have even degree.

◮ By the balance-condition all faces are convex. ◮ Any line intersecting f r intersects in a segment and sweeps f r. ◮ Using [Edelsbrunner et al., 1989] and [Hershberger, 1989] we find all lines l

traversing all int f r in O(n log n) time.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Reconstructing H 21 of 26

slide-47
SLIDE 47

Reconstructing the input: algorithm

We are given G and want to find a suitable λ, i.e., a suitable l ∈ X.

◮ Check that balance-condition holds at every even-degree vertex. ◮ We compute T, all f r = Φf T r(f ) and all ℓr(f , v) = Φf T r(ℓ(f , r)) in total

linear time.

◮ Case 1: All vertices have even degree.

◮ By the balance-condition all faces are convex. ◮ Any line intersecting f r intersects in a segment and sweeps f r. ◮ Using [Edelsbrunner et al., 1989] and [Hershberger, 1989] we find all lines l

traversing all int f r in O(n log n) time.

◮ Case 2: At least one vertex v has odd degree.

◮ A suitable l has fixed direction: identical or perpendicular to ℓr(f , v). ◮ For every f ′r, the inside- and sweeping-conditions restrict all suitable l to a

single line or to an “interval” of lines in total O(n) time.

l l f ′r f ′r f ′r

feasible “interval”

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Reconstructing H 21 of 26

slide-48
SLIDE 48

Reconstructing the input

Theorem

GMP-SS can be solved and the set of solutions can be found in O(n log n) time of a PSLG∞ G with n edges.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Reconstructing H 22 of 26

slide-49
SLIDE 49

Voronoi diagrams

Problem (GMP-VD)

Given a PSLG∞ G, can we find a set S of points such that V(S) = G?

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Voronoi diagrams 23 of 26

slide-50
SLIDE 50

Voronoi diagrams

Problem (GMP-VD)

Given a PSLG∞ G, can we find a set S of points such that V(S) = G?

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Voronoi diagrams 23 of 26

slide-51
SLIDE 51

Voronoi diagrams

Problem (GMP-VD)

Given a PSLG∞ G, can we find a set S of points such that V(S) = G? Prior work:

◮ [Ash and Bolker, 1985]: Solve GMP-VD if all vertices have odd degree.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Voronoi diagrams 23 of 26

slide-52
SLIDE 52

Voronoi diagrams

Problem (GMP-VD)

Given a PSLG∞ G, can we find a set S of points such that V(S) = G? Prior work:

◮ [Ash and Bolker, 1985]: Solve GMP-VD if all vertices have odd degree. ◮ [Hartvigsen, 1992]: Solve GMP-VD by means of linear programming.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Voronoi diagrams 23 of 26

slide-53
SLIDE 53

Characterization of Voronoi diagrams

We denote a solution of GMP-VD as a mapping ρ: F → R2.

◮ We look for ρ such that V({ρ(f ): f ∈ F}) = G.

Lemma ([Ash and Bolker, 1985])

ρ solves GMP-VD if

◮ Inside-condition: ρ(f ) ∈ int f for all f ∈ F. ◮ Bisector-condition: for any edge e incident to faces f , f ′, e is on the

bisector of ρ(f ), ρ(f ′).

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Voronoi diagrams 24 of 26

slide-54
SLIDE 54

Recognizing Voronoi diagrams

Lemma

Φb1◦···◦bd(p) = p if and only if

  • v fulfills the balance-condition

if d is even p ∈ ℓ(f , v) for some f ∈ F with v ∈ f if d is odd (7)

v ℓ(f , v) f p

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Voronoi diagrams 25 of 26

slide-55
SLIDE 55

Recognizing Voronoi diagrams

Lemma

Φb1◦···◦bd(p) = p if and only if

  • v fulfills the balance-condition

if d is even p ∈ ℓ(f , v) for some f ∈ F with v ∈ f if d is odd (7)

v ℓ(f , v) f p

We again define S(f ) := (int f ) ∩

  • v is vertex of f

deg(v) is odd

ℓ(f , v) Easily becomes a single point. (8) X :=

  • f ∈F

Φf T r(S(f )) Every point implies a solution ρ. (9)

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Voronoi diagrams 25 of 26

slide-56
SLIDE 56

Conclusion

Characterization of straight skeletons:

◮ Deeper insight in the geometry and structure of S(H). ◮ Allows for necessary and sufficient O(n) time a-posteriori checks of the

validity of S(H) in straight-skeleton codes. We solve GMP-SS and GMP-VD on G

◮ using a unified framework based on reflections on edges of a spanning tree of

the dual of G

◮ in O(n log n) time. ◮ First result for GMP-SS. ◮ Closes a gap in [Ash and Bolker, 1985] for GMP-VD when vertices have even

degree.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Voronoi diagrams 26 of 26

slide-57
SLIDE 57

Bibliography I

Aichholzer, O., Alberts, D., Aurenhammer, F., and G¨ artner, B. (1995). A novel type of skeleton for polygons.

  • J. Universal Comp. Sci., 1(12):752–761.

Aichholzer, O. and Aurenhammer, F. (1998). Straight skeletons for general polygonal figures in the plane. In Samoilenko, A., editor, Voronoi’s Impact on Modern Science, Book 2, pages 7–21. Institute of Mathematics of the National Academy of Sciences of Ukraine, Kiev, Ukraine. Aichholzer, O., Cheng, H., Devadoss, S. L., Hackl, T., Huber, S., Li, B., and Risteski, A. (2012). What makes a tree a straight skeleton? In Proc. 24th Canad. Conf. on Comp. Geom. (CCCG ’12), pages 267–272, Charlottetown, Canada. Ash, P. and Bolker, E. (1985). Recognizing Dirichlet Tesselations. Geometriae Dedicata, 19:175–206.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Voronoi diagrams 27 of 26

slide-58
SLIDE 58

Bibliography II

Edelsbrunner, H., Guibas, L., and Sharir, M. (1989). The Upper Envelope of Piecewise Linear Functions: Algorithms and Applications. Discrete Comput. Geom., 4(1):311–336. Hartvigsen, D. (1992). Recognizing Voronoi Diagrams with Linear Programming. ORSA J. Computing, 4(4):369–374. Hershberger, J. (1989). Finding the Upper Envelope of n Line Segments in O(n log n) Time.

  • Inform. Process. Lett., 33(4):169–174.

Huber, S. (2012). Computing Straight Skeletons and Motorcycle Graphs: Theory and Practice. Shaker Verlag. ISBN 978-3-8440-0938-5. Huber, S. and Held, M. (2012). A fast straight-skeleton algorithm based on generalized motorcycle graphs.

  • Int. J. of Comp. Geom. & Appl., 22(5):471–498.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams Voronoi diagrams 28 of 26

slide-59
SLIDE 59

Characterization: Proof

Key idea: G and S(H) each impose a wavefront-propagation process, WG(t) and WS(H)(t).

◮ Claim: they are identical

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams 29 of 26

slide-60
SLIDE 60

Characterization: Proof

Key idea: G and S(H) each impose a wavefront-propagation process, WG(t) and WS(H)(t).

◮ Claim: they are identical

Observation

Let e be an edge of f , f ′ ∈ F ∗. Then λ∗

t (f ) ∩ e = λ∗ t (f ′) ∩ e.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams 29 of 26

slide-61
SLIDE 61

Characterization: Proof

Key idea: G and S(H) each impose a wavefront-propagation process, WG(t) and WS(H)(t).

◮ Claim: they are identical

Observation

Let e be an edge of f , f ′ ∈ F ∗. Then λ∗

t (f ) ∩ e = λ∗ t (f ′) ∩ e.

Observation

Let v be a vertex with incident faces f1, . . . , fk ∈ F ∗. Then v has same orthogonal distance to all λ(fi).

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams 29 of 26

slide-62
SLIDE 62

Characterization: Proof

Key idea: G and S(H) each impose a wavefront-propagation process, WG(t) and WS(H)(t).

◮ Claim: they are identical

Observation

Let e be an edge of f , f ′ ∈ F ∗. Then λ∗

t (f ) ∩ e = λ∗ t (f ′) ∩ e.

Observation

Let v be a vertex with incident faces f1, . . . , fk ∈ F ∗. Then v has same orthogonal distance to all λ(fi).

Lemma

The initial wavefronts WG(ǫ) and WS(H)(ǫ) are identical.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams 29 of 26

slide-63
SLIDE 63

Characterization: Proof

Lemma

Assume that WG(t′) = WS(H)(t′) for 0 < t′ < t.

◮ If WG(t) hits a vertex v of G ∗, then v coincides with a vertex of S(H). ◮ Analogously for WS(H).

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams 30 of 26

slide-64
SLIDE 64

Characterization: Proof

Lemma

Assume that WG(t′) = WS(H)(t′) for 0 < t′ < t.

◮ If WG(t) hits a vertex v of G ∗, then v coincides with a vertex of S(H). ◮ Analogously for WS(H).

Theorem

WG(t) = WS(H)(t) for all t. Proof. [Sketch]

◮ By induction on the chronological order when WG resp. WS(H) hits a vertex

v of G resp. S(H).

◮ In a neighborhood of v we have swept and not-yet-swept cones. ◮ Insight: In the not-yet-swept cones contain each exactly one “outgoing” edge

  • f G resp. S(H).

◮ Claim: these edges are identical in the neighborhood of v.

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams 30 of 26

slide-65
SLIDE 65

Non-unique solutions to GMP-SS and GMP-VD

  • f ∈F f r

Therese Biedl, Martin Held, Stefan Huber: Recognizing Straight Skeletons and Voronoi Diagrams 31 of 26