Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational...

50
Skeleton Structures in Computational Geometry An introduction with GIS in mind Stefan Huber January 7, 2013 Stefan Huber: Skeleton Structures in Computational Geometry 1 of 25

Transcript of Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational...

Page 1: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Skeleton Structures in Computational GeometryAn introduction with GIS in mind

Stefan Huber

January 7, 2013

Stefan Huber: Skeleton Structures in Computational Geometry 1 of 25

Page 2: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Motivation

Is there a path for the vehicle V from p to q within the polygon with holes, P?

V

p

q

P

I We would like to have a geometric structure thatI lets us easily identify “bottlenecks” of P and

I allows us to reuse known path-finding algorithms (on graphs).

I For short: we need information about the shape of P.I Skeleton structures can do that.

Stefan Huber: Skeleton Structures in Computational Geometry 2 of 25

Page 3: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Motivation

Is there a path for the vehicle V from p to q within the polygon with holes, P?

V

p

q

P

I We would like to have a geometric structure thatI lets us easily identify “bottlenecks” of P and

I allows us to reuse known path-finding algorithms (on graphs).

I For short: we need information about the shape of P.I Skeleton structures can do that.

Stefan Huber: Skeleton Structures in Computational Geometry 2 of 25

Page 4: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Motivation

Is there a path for the vehicle V from p to q within the polygon with holes, P?

P

I We would like to have a geometric structure thatI lets us easily identify “bottlenecks” of P andI allows us to reuse known path-finding algorithms (on graphs).

I For short: we need information about the shape of P.I Skeleton structures can do that.

Stefan Huber: Skeleton Structures in Computational Geometry 2 of 25

Page 5: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Motivation

Is there a path for the vehicle V from p to q within the polygon with holes, P?

P

I We would like to have a geometric structure thatI lets us easily identify “bottlenecks” of P andI allows us to reuse known path-finding algorithms (on graphs).

I For short: we need information about the shape of P.I Skeleton structures can do that.

Stefan Huber: Skeleton Structures in Computational Geometry 2 of 25

Page 6: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Generalized Voronoi diagrams

The Voronoi diagram of points in the Euclidean plane has been generalized inmultiple ways:

I plane → higher dimensions

I points → straight-line segments, circular arcs, . . .

I Euclidean → Lk -norms, convex distance functions, . . .

In this talk: Voronoi diagram of points, straight-line segments and circular arcs inthe Euclidean plane.

Stefan Huber: Skeleton Structures in Computational Geometry 3 of 25

Page 7: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Generalized Voronoi diagrams

Given: set S of input sites, i.e., points, straight-line segments, circular arcs, notintersecting in their relative interior.

I Plane tessellated into cells around input sites.I Points within the cell of site i are closer to i than to all other sites.I Bisectors are parabolic/elliptic arcs.

I V(S) is the Voronoi diagram of S . That is, V(S) consists of the boundariesof all cells.

Stefan Huber: Skeleton Structures in Computational Geometry 4 of 25

Page 8: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Generalized Voronoi diagrams: details

What if sites touch?

I Endpoints of segments and arcs are input sites, too.

I Voronoi cell of a site is restricted to “cone of influence”.

Any point in the shadedarea is equidistant toboth segments.

Stefan Huber: Skeleton Structures in Computational Geometry 5 of 25

Page 9: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Generalized Voronoi diagrams: details

What if sites touch?

I Endpoints of segments and arcs are input sites, too.

I Voronoi cell of a site is restricted to “cone of influence”.

Stefan Huber: Skeleton Structures in Computational Geometry 5 of 25

Page 10: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Generalized Voronoi diagrams: details

What if sites touch?

I Endpoints of segments and arcs are input sites, too.

I Voronoi cell of a site is restricted to “cone of influence”.

nodeedgeface

Precise definition in [Held and Huber, 2009].

Stefan Huber: Skeleton Structures in Computational Geometry 5 of 25

Page 11: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Voronoi diagram of a shape

We are given a simple polygon P.

I P consists of vertices and edges → take them as the set S of input sites.I Short-hand notation: V(P) is the resulting Voronoi diagram, i.e., V(S).

I P is tessellated into Voronoi cells.

I Sometimes V(P) is considered to be restricted to P.I Sometimes, P may have holes and its boundary may also comprise circular

arcs.

Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25

Page 12: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Voronoi diagram of a shape

We are given a simple polygon P.

I P consists of vertices and edges → take them as the set S of input sites.I Short-hand notation: V(P) is the resulting Voronoi diagram, i.e., V(S).

I P is tessellated into Voronoi cells.I Sometimes V(P) is considered to be restricted to P.

I Sometimes, P may have holes and its boundary may also comprise circulararcs.

Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25

Page 13: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Voronoi diagram of a shape

We are given a simple polygon P.

I P consists of vertices and edges → take them as the set S of input sites.

I Short-hand notation: V(P) is the resulting Voronoi diagram, i.e., V(S).I P is tessellated into Voronoi cells.I Sometimes V(P) is considered to be restricted to P.I Sometimes, P may have holes and its boundary may also comprise circular

arcs.

Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25

Page 14: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Finding bottlenecks of shapes

I The clearance disk C(p) is the largest disk within P centered at the point p.I Its radius is the clearance radius.

I Bottleneck: a Voronoi node with locally minimal clearance radius.

p

C(p)

Stefan Huber: Skeleton Structures in Computational Geometry 7 of 25

Page 15: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Finding bottlenecks of shapes

I The clearance disk C(p) is the largest disk within P centered at the point p.I Its radius is the clearance radius.

I Bottleneck: a Voronoi node with locally minimal clearance radius.

Stefan Huber: Skeleton Structures in Computational Geometry 7 of 25

Page 16: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Finding bottlenecks of shapes

I The clearance disk C(p) is the largest disk within P centered at the point p.I Its radius is the clearance radius.

I Bottleneck: a Voronoi node with locally minimal clearance radius.

Stefan Huber: Skeleton Structures in Computational Geometry 7 of 25

Page 17: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Collision-free paths

Can we move V form p to q within P?

I Compute V(P). Consider the bottlenecks, whose clearance disk is smallerthan V , removed.

I Project p resp. q to points p′ resp. q′ on Voronoi edges.I Find a path from p′ to q′ on V(P) using ordinary graph algorithms.

p

q

V

Stefan Huber: Skeleton Structures in Computational Geometry 8 of 25

Page 18: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Collision-free paths

Can we move V form p to q within P?I Compute V(P). Consider the bottlenecks, whose clearance disk is smaller

than V , removed.

I Project p resp. q to points p′ resp. q′ on Voronoi edges.I Find a path from p′ to q′ on V(P) using ordinary graph algorithms.

p

q

V

Stefan Huber: Skeleton Structures in Computational Geometry 8 of 25

Page 19: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Collision-free paths

Can we move V form p to q within P?I Compute V(P). Consider the bottlenecks, whose clearance disk is smaller

than V , removed.I Project p resp. q to points p′ resp. q′ on Voronoi edges.

I Find a path from p′ to q′ on V(P) using ordinary graph algorithms.

p

q

V

Stefan Huber: Skeleton Structures in Computational Geometry 8 of 25

Page 20: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Collision-free paths

Can we move V form p to q within P?I Compute V(P). Consider the bottlenecks, whose clearance disk is smaller

than V , removed.I Project p resp. q to points p′ resp. q′ on Voronoi edges.I Find a path from p′ to q′ on V(P) using ordinary graph algorithms.

p

q

V

Stefan Huber: Skeleton Structures in Computational Geometry 8 of 25

Page 21: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Medial axis

We are given a shape P.

I The medial axis M(P) consists of those points p within P whose minimumdistance to the boundary of P is assumed at two or more boundary points.

I That is, the clearance disk at p touches P at two or more points.

I Hence, M(P) ⊆ V(P).I M(P) is easily extracted from V(P).

Stefan Huber: Skeleton Structures in Computational Geometry 9 of 25

Page 22: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Medial axis

We are given a shape P.

I The medial axis M(P) consists of those points p within P whose minimumdistance to the boundary of P is assumed at two or more boundary points.

I That is, the clearance disk at p touches P at two or more points.

I Hence, M(P) ⊆ V(P).I M(P) is easily extracted from V(P).

Stefan Huber: Skeleton Structures in Computational Geometry 9 of 25

Page 23: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Maximum inscribed circle

What is the largest disk we can place in a shape P?

I Kind of complementary problem to bottleneck detection.

Algorithm:

I Take the Voronoi node with largest clearance radius.

Stefan Huber: Skeleton Structures in Computational Geometry 10 of 25

Page 24: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Maximum inscribed circle

What is the largest disk we can place in a shape P?

I Kind of complementary problem to bottleneck detection.

Algorithm:

I Take the Voronoi node with largest clearance radius.

Stefan Huber: Skeleton Structures in Computational Geometry 10 of 25

Page 25: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Reconstruction property, topological view

P equals the union of all clearance disks placed on M(P).

I M(P) and the clearance radius function r(.) on M(P) can togetherreconstruct P.

I Besides “thickness”, M(P) contains the essential information of the “shape”of P.

I For instance, holes in P correspond to cycles in M(P).

r(p)p

Stefan Huber: Skeleton Structures in Computational Geometry 11 of 25

Page 26: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Reconstruction property, topological view

We are given networks of rivers by their polygonal shapes.

I How to find the center-lines of the rivers?

I How to find the main branches?

I How to prune small creeks?

I Which river is connected with which?

I How to remove details from a map, i.e., collapse small rivers or streets to aline?

Stefan Huber: Skeleton Structures in Computational Geometry 12 of 25

Page 27: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Minkowski-sum and Minkowski-difference

The Minkowski-sum A⊕ B of two sets A and B is the union of all B moved by avector v ∈ A. Note that B ⊕ A = A⊕ B.

The Minkowski-difference AB of two sets A and B is the largest set such thatits Minkowski-sum with B is contained in A.

B

A⊕ B

A

A B

B

Stefan Huber: Skeleton Structures in Computational Geometry 13 of 25

Page 28: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Offsetting

Let Dr denote the disk with radius r and the origin as center.

I How to compute all points inside/outside of P that have a distance of exactly(or at most) r? That is, how to compute P ⊕ Dr resp. P Dr?

Stefan Huber: Skeleton Structures in Computational Geometry 14 of 25

Page 29: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Offsetting

Let Dr denote the disk with radius r and the origin as center.

I How to compute all points inside/outside of P that have a distance of exactly(or at most) r? That is, how to compute P ⊕ Dr resp. P Dr?

Stefan Huber: Skeleton Structures in Computational Geometry 14 of 25

Page 30: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Offsetting

Let Dr denote the disk with radius r and the origin as center.

I How to compute all points inside/outside of P that have a distance of exactly(or at most) r? That is, how to compute P ⊕ Dr resp. P Dr?

Stefan Huber: Skeleton Structures in Computational Geometry 14 of 25

Page 31: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Offsetting

Collision-free paths: Note that there is a collision-free path for V from p to q ifthere is any path from p to q within P V .

Offsets have many more applications: computing tolerance zones, tool-paths inNC-machining, buffering in maps, thinning or extruding shapes, . . .

Stefan Huber: Skeleton Structures in Computational Geometry 15 of 25

Page 32: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Offsetting

Collision-free paths: Note that there is a collision-free path for V from p to q ifthere is any path from p to q within P V .

Offsets have many more applications: computing tolerance zones, tool-paths inNC-machining, buffering in maps, thinning or extruding shapes, . . .

Stefan Huber: Skeleton Structures in Computational Geometry 15 of 25

Page 33: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Straight skeletons: Definition

I The Voronoi diagram of a simple polygon P can be characterized by meansof interference patterns of offset segments → wavefront propagation.

Stefan Huber: Skeleton Structures in Computational Geometry 16 of 25

Page 34: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Straight skeletons: Definition

Suppose that we do not like circular arcs in the offset curves.

I Replace circular arcs by straight-line caps.

I Each wavefront edge is parallel to an edge of P and moves with equal speed.

(a) Voronoi diagram (b) straight skeleton

I The straight skeleton is defined by interference patterns of “mitered-offsetcurves”.

Stefan Huber: Skeleton Structures in Computational Geometry 17 of 25

Page 35: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Straight skeletons: Definition

I Topological changes (events) during the wavefront propagation:I Edge event: a wavefront edge shrinks to zero length.I Split event: a reflex wavefront vertex splits another wavefront edge.

split event

edge event

I Straight skeleton S(P): set of loci of all wavefront vertices.

I Each node of S(P) is the locus of an event.I Each arc is on the bisector of polygon edges.I Each face is swept out by the wavefront edge emanated by an input edge.

Stefan Huber: Skeleton Structures in Computational Geometry 18 of 25

Page 36: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Straight skeletons: Definition

I Topological changes (events) during the wavefront propagation:I Edge event: a wavefront edge shrinks to zero length.I Split event: a reflex wavefront vertex splits another wavefront edge.

split event

edge event

I Straight skeleton S(P): set of loci of all wavefront vertices.

I Each node of S(P) is the locus of an event.I Each arc is on the bisector of polygon edges.I Each face is swept out by the wavefront edge emanated by an input edge.

Stefan Huber: Skeleton Structures in Computational Geometry 18 of 25

Page 37: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Straight skeletons: Definition

I Topological changes (events) during the wavefront propagation:I Edge event: a wavefront edge shrinks to zero length.I Split event: a reflex wavefront vertex splits another wavefront edge.

split event

edge event

node

face f (e)

e

arc

I Straight skeleton S(P): set of loci of all wavefront vertices.I Each node of S(P) is the locus of an event.I Each arc is on the bisector of polygon edges.I Each face is swept out by the wavefront edge emanated by an input edge.

Stefan Huber: Skeleton Structures in Computational Geometry 18 of 25

Page 38: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Straight skeleton of a PSLG

I PSLG: planar straight-line graph, i.e., a bunch of straight-line segments thatdo not intersect in their relative interior.

I [Aichholzer and Aurenhammer, 1998]: straight skeleton S(G ) of a PSLG GI Each input edge sends out two parallel wavefront copies.

I Each terminal vertex sends out an additional wavefront edge.

Stefan Huber: Skeleton Structures in Computational Geometry 19 of 25

Page 39: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Straight skeleton of a PSLG

I PSLG: planar straight-line graph, i.e., a bunch of straight-line segments thatdo not intersect in their relative interior.

I [Aichholzer and Aurenhammer, 1998]: straight skeleton S(G ) of a PSLG GI Each input edge sends out two parallel wavefront copies.

I Each terminal vertex sends out an additional wavefront edge.

Stefan Huber: Skeleton Structures in Computational Geometry 19 of 25

Page 40: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Straight skeleton of a PSLG

I PSLG: planar straight-line graph, i.e., a bunch of straight-line segments thatdo not intersect in their relative interior.

I [Aichholzer and Aurenhammer, 1998]: straight skeleton S(G ) of a PSLG GI Each input edge sends out two parallel wavefront copies.

I Each terminal vertex sends out an additional wavefront edge.

Stefan Huber: Skeleton Structures in Computational Geometry 19 of 25

Page 41: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Straight skeletons: the terrain model

I Consider the wavefront propagation in three-dimensional space-time, with thez-axis representing time.

I An isoline of the resulting T (G ) corresponds to the wavefront at some pointin time.

I Projecting the valleys and ridges onto R2 gives us S(G ) again.I Knowing T (G) is equivalent to knowing S(G).

valley ridge

Stefan Huber: Skeleton Structures in Computational Geometry 20 of 25

Page 42: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Area collapsing

I Let us consider a map with a river given as a polygonal area.

I How to reduce the level of detail by collapsing the river’s area to a line?

I [Haunert and Sester, 2008]:I Compute S(P)1, which tessellates P into faces.I To each edge e of P belongs a face f (e) and each edge e also belongs to a

neighboring polygon Q.I Add f (e) to Q.

Q

elake

1Actually, weighted straight skeletons are employed.Stefan Huber: Skeleton Structures in Computational Geometry 21 of 25

Page 43: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Centerlines of roads

Similar problem to area collapsing:I Let us consider a map with a road network where roads are given by

polygonal areas.I [Haunert and Sester, 2008]: compute centerlines of roads resp. extract the

corresponding network graph using straight skeletons.

Stefan Huber: Skeleton Structures in Computational Geometry 22 of 25

Page 44: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Centerlines of roads

Similar problem to area collapsing:I Let us consider a map with a road network where roads are given by

polygonal areas.I [Haunert and Sester, 2008]: compute centerlines of roads resp. extract the

corresponding network graph using straight skeletons.

Stefan Huber: Skeleton Structures in Computational Geometry 22 of 25

Page 45: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Centerlines of roads

Similar problem to area collapsing:I Let us consider a map with a road network where roads are given by

polygonal areas.I [Haunert and Sester, 2008]: compute centerlines of roads resp. extract the

corresponding network graph using straight skeletons.

Stefan Huber: Skeleton Structures in Computational Geometry 22 of 25

Page 46: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Roof construction

I We are given the footprint of a house as a polygon P and want to design aso-called hip roof for it.

I All faces have the same slope.I There are no local minima within P, where rain accumulates.I [Aichholzer et al., 1995]: the terrain model gives us a solution.

I [Laycock and Day, 2003]: use heuristics to generate gable roofs, mansardroofs, gambrel roofs, and Dutch roofs.

Stefan Huber: Skeleton Structures in Computational Geometry 23 of 25

Page 47: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Terrain modeling

Similar problem to roof construction:

I We are given a river or a lake and want to model a mountain terrain in itsneighborhood.

I [Aichholzer and Aurenhammer, 1998]: use the straight skeleton.

Figure : Left: terrain generated by Bone. Right: Actual photo fromde.wikipedia.org, CC BY-SA 3.0 license, originator: Techcollector

Stefan Huber: Skeleton Structures in Computational Geometry 24 of 25

Page 48: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Stefan Huber: Skeleton Structures in Computational Geometry 25 of 25

Page 49: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Bibliography I

Aichholzer, O., Alberts, D., Aurenhammer, F., and Gartner, 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.

Haunert, J.-H. and Sester, M. (2008).

Area collapse and road centerlines based on straight skeletons.

GeoInformatica, 12:169–191.

Held, M. and Huber, S. (2009).

Topology-oriented incremental computation of Voronoi diagrams of circular arcs andstraight-line segments.

Comp. Aided Design, 41(5):327–338.

Stefan Huber: Skeleton Structures in Computational Geometry 26 of 25

Page 50: Skeleton Structures in Computational Geometry · Stefan Huber: Skeleton Structures in Computational Geometry 6 of 25. Voronoi diagram of a shape We are given a simple polygon P. I

Bibliography II

Laycock, R. G. and Day, A. M. (2003).

Automatically generating large urban environments based on the footprint data ofbuildings.

In Proc. 8thACM Symp. on Solid Mod. & Appl. (SM ’03), pages 346–351, Seattle,Washington, USA.

Stefan Huber: Skeleton Structures in Computational Geometry 27 of 25