85
d Building simplification using offset curves obtained from the straight skeleton Martijn Meijers November 23, 2016 STW UC, TU Delft, BK–00.WEST.670 Challenge the future Delft University of Technology

Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Building simplification using offsetcurves obtained from the straightskeleton

Martijn MeijersNovember 23, 2016

STW UC, TU Delft, BK–00.WEST.670

Challenge the future

DelftUniversity ofTechnology

Page 2: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Building simplification using offset curvesobtained from the straight skeleton

• Straight skeleton• Offset curves• Building simplification• Results• Discussion and Future work

Building simplification using the straight skeleton 2 | 18

Page 3: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

• Polygon as input• Shrink polygon inwards, with edges moving at

constant speed• Vertices move as well (some faster than others,

depend on angle of the vertex)• If moving vertex collides with non-adjacent edge:

polygon is split and shrinking continues for each piece• Moving vertices trace out set of curves: this is the

straight skeleton

Building simplification using the straight skeleton 3 | 18

Page 4: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

• Polygon as input• Shrink polygon inwards, with edges moving at

constant speed• Vertices move as well (some faster than others,

depend on angle of the vertex)• If moving vertex collides with non-adjacent edge:

polygon is split and shrinking continues for each piece• Moving vertices trace out set of curves: this is the

straight skeleton

Building simplification using the straight skeleton 3 | 18

Page 5: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

• Polygon as input• Shrink polygon inwards, with edges moving at

constant speed• Vertices move as well (some faster than others,

depend on angle of the vertex)• If moving vertex collides with non-adjacent edge:

polygon is split and shrinking continues for each piece• Moving vertices trace out set of curves: this is the

straight skeleton

Building simplification using the straight skeleton 3 | 18

Page 6: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

• Polygon as input• Shrink polygon inwards, with edges moving at

constant speed• Vertices move as well (some faster than others,

depend on angle of the vertex)• If moving vertex collides with non-adjacent edge:

polygon is split and shrinking continues for each piece• Moving vertices trace out set of curves: this is the

straight skeleton

Building simplification using the straight skeleton 3 | 18

Page 7: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

• Polygon as input• Shrink polygon inwards, with edges moving at

constant speed• Vertices move as well (some faster than others,

depend on angle of the vertex)• If moving vertex collides with non-adjacent edge:

polygon is split and shrinking continues for each piece• Moving vertices trace out set of curves: this is the

straight skeleton

Building simplification using the straight skeleton 3 | 18

Page 8: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Edges move inwardImage after: Peter Palfrader, http://www.palfrader.org/research/

Building simplification using the straight skeleton 4 | 18

Page 9: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 4 | 18

Page 10: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 4 | 18

Page 11: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 4 | 18

Page 12: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 4 | 18

Page 13: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Vertices also move (some faster than others)

Building simplification using the straight skeleton 4 | 18

Page 14: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 4 | 18

Page 15: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Polygon can be split, if vertex collides with non-adjacentedge

Building simplification using the straight skeleton 4 | 18

Page 16: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 4 | 18

Page 17: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 4 | 18

Page 18: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

• Definition can be generalized for Planar Straight LineGraph (PSLG)

• Elegant algorithm for construction (Aichholzer andAurenhammer, 1996; Palfrader, 2013):

1. Triangulate regions between input segments2. Moving vertices does change size of triangles3. Triangle collapse (zero size) indicates change in

structure of Straight Skeleton

Building simplification using the straight skeleton 5 | 18

Page 19: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Image credit: Peter Palfrader

Building simplification using the straight skeleton 5 | 18

Page 20: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 5 | 18

Page 21: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 5 | 18

Page 22: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 5 | 18

Page 23: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 5 | 18

Page 24: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 5 | 18

Page 25: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 5 | 18

Page 26: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 5 | 18

Page 27: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Straight skeleton

Building simplification using the straight skeleton 5 | 18

Page 28: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Offset curves

• Once traces of vertices are known, easy/cheap togenerate offset curves (Palfrader and Held, 2015)

• For each vertex, keep track of neighbouring verticesat any time t

Building simplification using the straight skeleton 6 | 18

Page 29: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Offset curves

Image credit: Peter Palfrader

Building simplification using the straight skeleton 6 | 18

Page 30: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Area simplificationAlgorithm for area simplification (Haunert and Sester,2007):

1. Compute straight skeleton2. Generate offset curves — ε inwards3. Compute straight skeleton, on resulting shape4. Generate offset curves — ε outwards

Building simplification using the straight skeleton 7 | 18

Page 31: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Area simplificationAlgorithm for area simplification (Haunert and Sester,2007):

1. Compute straight skeleton2. Generate offset curves — ε inwards3. Compute straight skeleton, on resulting shape4. Generate offset curves — ε outwards

Note: Order of inwards — outwards can be reversed(giving different results)

Building simplification using the straight skeleton 7 | 18

Page 32: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Building simplification

Figure: Input

Building simplification using the straight skeleton 8 | 18

Page 33: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Building simplification

Figure: Offset curve inward

Building simplification using the straight skeleton 8 | 18

Page 34: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Building simplification

Figure: Input for 2nd step

Building simplification using the straight skeleton 8 | 18

Page 35: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Building simplification

Figure: Offset curve outwards

Building simplification using the straight skeleton 8 | 18

Page 36: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Building simplification

Figure: Result

Building simplification using the straight skeleton 8 | 18

Page 37: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Building simplification

Figure: Result – Comparison with input

Building simplification using the straight skeleton 8 | 18

Page 38: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Building simplificationA variant of the algorithm:1. Compute straight skeleton2. Generate offset curves — 1

2ε inwards3. Compute straight skeleton, on resulting shape4. Generate offset curves — ε outwards

5. Compute straight skeleton, on resulting shape6. Generate offset curves — 1

2ε inwards

Note: Order can be reversed again.

Building simplification using the straight skeleton 8 | 18

Page 39: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – One building

Figure: Input

Building simplification using the straight skeleton 9 | 18

Page 40: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – One building

Figure: In–Out Result

Building simplification using the straight skeleton 9 | 18

Page 41: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – One building

Figure: Result – Comparison with input

Building simplification using the straight skeleton 9 | 18

Page 42: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – One building

Figure: Input

Building simplification using the straight skeleton 9 | 18

Page 43: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – One building

Figure: In–Out result, larger ε

Building simplification using the straight skeleton 9 | 18

Page 44: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – One building

Figure: In–Out result, larger ε (compare with input)

Building simplification using the straight skeleton 9 | 18

Page 45: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – One building

Figure: Input

Building simplification using the straight skeleton 10 | 18

Page 46: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – One building

Figure: In–Out–In, result

Building simplification using the straight skeleton 10 | 18

Page 47: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – One building

Figure: In–Out–In, result; (compare with input)

Building simplification using the straight skeleton 10 | 18

Page 48: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – One building

Figure: In–Out–In, result; Small edges still present

Building simplification using the straight skeleton 10 | 18

Page 49: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – One building

Figure: Input

Building simplification using the straight skeleton 10 | 18

Page 50: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – One building

Figure: Out–In–Out

Building simplification using the straight skeleton 10 | 18

Page 51: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – One building

Figure: Out–In–Out; New created dent

Building simplification using the straight skeleton 10 | 18

Page 52: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – Multiple buildings

Figure: Input

Building simplification using the straight skeleton 11 | 18

Page 53: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – Multiple buildings

Figure: Out–In

Building simplification using the straight skeleton 11 | 18

Page 54: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – Multiple buildings

Figure: Input

Building simplification using the straight skeleton 11 | 18

Page 55: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – Multiple buildings

Figure: In–Out

Building simplification using the straight skeleton 11 | 18

Page 56: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – Multiple buildings

Figure: Input

Building simplification using the straight skeleton 12 | 18

Page 57: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – Multiple buildings

Figure: Out–In–Out

Building simplification using the straight skeleton 12 | 18

Page 58: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – Multiple buildings

Figure: Input

Building simplification using the straight skeleton 12 | 18

Page 59: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results – Multiple buildings

Figure: In–Out–In

Building simplification using the straight skeleton 12 | 18

Page 60: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Results

• Straightforward algorithm• Simplifies individual building outlines• Amalgamates multiple buildings• Still needs post-processing for small segments

Building simplification using the straight skeleton 13 | 18

Page 61: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Discussion

• Improve our implementation of straight skeleton,GrassFire1

• Difficult: determine correct ε• No rotation needed for input (compare with Minkowski

sum)

1https://bitbucket.org/bmmeijers/grassfire

Building simplification using the straight skeleton 14 | 18

Page 62: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Future work

• Smooth transitions between the input and the output:interpolate what is in between (Barequet et al., 2004;Yakersberg, 2004)

Building simplification using the straight skeleton 15 | 18

Page 63: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Smooth transitions

Building simplification using the straight skeleton 16 | 18

Page 64: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Smooth transitions

Building simplification using the straight skeleton 16 | 18

Page 65: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Smooth transitions

Building simplification using the straight skeleton 16 | 18

Page 66: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Smooth transitions

Building simplification using the straight skeleton 16 | 18

Page 67: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Smooth transitions

Make connection between edges at highest level of detailand lowest level of detail: compute straight skeleton inpurple regions to define transition.

Building simplification using the straight skeleton 16 | 18

Page 68: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Smooth transitions

Building simplification using the straight skeleton 16 | 18

Page 69: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Smooth transitions

Building simplification using the straight skeleton 16 | 18

Page 70: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Smooth transitions

Building simplification using the straight skeleton 16 | 18

Page 71: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Smooth transitions

Building simplification using the straight skeleton 16 | 18

Page 72: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Thank you for your attention

• Questions?

• Delft University of TechnologyFaculty of Architecture and the Built EnvironmentOTB ResearchGIS Technology

• dr.ir. Martijn [email protected]://www.gdmc.nl/martijn/tel. (+31) 15 27 856 42

Building simplification using the straight skeleton 17 | 18

Page 73: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

ReferencesAichholzer, O. and Aurenhammer, F. (1996). Straight skeletons for general polygonal figures in the

plane. In Cai, J.-Y. and Wong, C. K., editors, Computing and Combinatorics, volume 1090 of LectureNotes in Computer Science, pages 117–126. Springer Science + Business Media.

Barequet, G., Goodrich, M. T., Levi-Steiner, A., and Steiner, D. (2004). Contour interpolation by straightskeletons. Graphical Models, 66(4):245–260.

Damen, J., van Kreveld, M., and Spaan, B. (2008). High quality building generalization by extending themorphological operators. In Proceedings of the ICA Workshop on Generalization, Montpellier, France.

Haunert, J.-H. and Sester, M. (2007). Area collapse and road centerlines based on straight skeletons.GeoInformatica, 12(2):169–191.

Palfrader, P. (2013). Computing Straight Skeletons by Means of Kinetic Triangulations. Master’s thesis,University of Salzburg, Austria.

Palfrader, P. and Held, M. (2015). Computing Mitered Offset Curves Based on Straight Skeletons.Computer-Aided Design and Applications, 12(4):414–424.

Yakersberg, E. (2004). Morphing between Geometric Shapes using Straight-Skeleton-BasedInterpolation. Master’s thesis, Technion – Israel Institute Of Technology, Haifa, Israel.

Building simplification using the straight skeleton 17 | 18

Page 74: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Minkowski sum (dilation–erosion) comparison

Figure: Input polygon P

Image credit: Jonathan Damen (Damen et al., 2008)

Building simplification using the straight skeleton 17 | 18

Page 75: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Minkowski sum (dilation–erosion) comparison

Figure: Q ‘traverses’ the boundary of P: adding Q to P

Building simplification using the straight skeleton 17 | 18

Page 76: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Minkowski sum (dilation–erosion) comparison

Figure: Dilation

Building simplification using the straight skeleton 17 | 18

Page 77: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Minkowski sum (dilation–erosion) comparison

Figure: Dilation

Building simplification using the straight skeleton 17 | 18

Page 78: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Minkowski sum (dilation–erosion) comparison

Figure: Input polygon P

Building simplification using the straight skeleton 17 | 18

Page 79: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Minkowski sum (dilation–erosion) comparison

Figure: Q ‘traverses’ the boundary of P: subtracting Q from P

Building simplification using the straight skeleton 17 | 18

Page 80: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Minkowski sum (dilation–erosion) comparison

Figure: Dilation

Building simplification using the straight skeleton 17 | 18

Page 81: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Minkowski sum (dilation–erosion) comparison

Figure: Dilation

Building simplification using the straight skeleton 17 | 18

Page 82: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Minkowski sum (dilation–erosion) comparison

Figure: Dilation-Erosion, axis-aligned buildings

Building simplification using the straight skeleton 17 | 18

Page 83: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Minkowski sum (dilation–erosion) comparison

Figure: Dilation-Erosion, rotated buildings (main direction axisof building)

Building simplification using the straight skeleton 17 | 18

Page 84: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Linear axis around vertices with sharp angles

Image credit: Palfrader and Held (2015)

Building simplification using the straight skeleton 18 | 18

Page 85: Building simplification using offset curves obtained from ...varioscale.bk.tudelft.nl › usercommittee › 2016-11-23_delft › meijers0.… · Polygon as input Shrink polygon inwards,

default

Linear axis around vertices with sharp angles

Linear axis

Building simplification using the straight skeleton 18 | 18