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

ISVD 2013 in Saint Petersburg, Russia July 8–10

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

slide-2
SLIDE 2

Straight skeleton of a PSLG

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

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

slide-3
SLIDE 3

Straight skeleton of a PSLG

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

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

slide-4
SLIDE 4

Straight skeleton of a PSLG

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

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

slide-5
SLIDE 5

Problem statement

PSLG∞: edges may be straight-line segments or rays.

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 3 of 24

slide-6
SLIDE 6

Problem statement

PSLG∞: edges may be straight-line segments or rays.

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 3 of 24

slide-7
SLIDE 7

Problem statement

PSLG∞: edges may be straight-line segments or rays.

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 3 of 24

slide-8
SLIDE 8

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 4 of 24

slide-9
SLIDE 9

Outline

Part I: Straight skeletons

◮ Characterization of straight skeletons.

◮ Three necessary and sufficient conditions for G to be the straight skeleton of a

specific input.

◮ Recognizing straight skeletons.

◮ How to determine whether G is the straight skeleton of some input?

◮ Reconstruction algorithm.

◮ How to compute the input?

Part II: Voronoi diagrams

◮ The framework developed in Part I can be applied to Voronoi diagrams.

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

slide-10
SLIDE 10

Characterization: basic facts

Facts

◮ Every edge of S(H) is on the bisector of two edges of H. ◮ 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). ◮ 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.

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

slide-11
SLIDE 11

Characterization: basic facts

Facts

◮ Every edge of S(H) is on the bisector of two edges of H. ◮ 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). ◮ 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.

Temporary assumption: G has no degree-2 vertices.

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

slide-12
SLIDE 12

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 7 of 24

slide-13
SLIDE 13

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 7 of 24

slide-14
SLIDE 14

Characterization: inside-condition

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

λ(f ) σ(f ) f ∈ F

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

slide-15
SLIDE 15

Characterization: inside-condition

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

λ(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 8 of 24

slide-16
SLIDE 16

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 9 of 24

slide-17
SLIDE 17

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 10 of 24

slide-18
SLIDE 18

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 11 of 24

slide-19
SLIDE 19

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 11 of 24

slide-20
SLIDE 20

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.

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

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

slide-21
SLIDE 21

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.

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 12 of 24

slide-22
SLIDE 22

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 13 of 24

slide-23
SLIDE 23

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 13 of 24

slide-24
SLIDE 24

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 13 of 24

slide-25
SLIDE 25

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 13 of 24

slide-26
SLIDE 26

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 13 of 24

slide-27
SLIDE 27

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 13 of 24

slide-28
SLIDE 28

Recognizing straight skeletons: star graphs

We get α = d

i=1(−1)d−iβ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 14 of 24

slide-29
SLIDE 29

Recognizing straight skeletons: star graphs

We get α = d

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

1 2

d

  • i=1

(−1)d−iβi =

  • if d is even,

α if d is odd. (1)

Definition

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 14 of 24

slide-30
SLIDE 30

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)

v ℓ(f , v) := f

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

slide-31
SLIDE 31

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 16 of 24

slide-32
SLIDE 32

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 16 of 24

slide-33
SLIDE 33

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(ℓ(f )) (5) X :=

  • f ∈F

ℓr(f ). (6)

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

slide-34
SLIDE 34

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 17 of 24

slide-35
SLIDE 35

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 18 of 24

slide-36
SLIDE 36

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 18 of 24

slide-37
SLIDE 37

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 18 of 24

slide-38
SLIDE 38

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 19 of 24

slide-39
SLIDE 39

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. ◮ Sweeping-condition is trivial. ◮ 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 19 of 24

slide-40
SLIDE 40

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. ◮ Sweeping-condition is trivial. ◮ 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). ◮ inside/sweeping condition ⇒ restrict all suitable l to an “interval” of parallel

lines in 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 19 of 24

slide-41
SLIDE 41

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 20 of 24

slide-42
SLIDE 42

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 21 of 24

slide-43
SLIDE 43

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 21 of 24

slide-44
SLIDE 44

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 21 of 24

slide-45
SLIDE 45

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 21 of 24

slide-46
SLIDE 46

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: e is on the bisector of ρ(f ), ρ(f ′) for any edge

e = f ∩ f ′.

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

slide-47
SLIDE 47

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 23 of 24

slide-48
SLIDE 48

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 23 of 24

slide-49
SLIDE 49

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 on 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 24 of 24

slide-50
SLIDE 50

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 25 of 24

slide-51
SLIDE 51

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.

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

slide-52
SLIDE 52

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 27 of 24

slide-53
SLIDE 53

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 27 of 24

slide-54
SLIDE 54

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 27 of 24

slide-55
SLIDE 55

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 27 of 24

slide-56
SLIDE 56

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 28 of 24

slide-57
SLIDE 57

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 28 of 24

slide-58
SLIDE 58

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 29 of 24