Straight skeleton

Last updated
The shrinking process, the straight skeleton (blue) and the roof model. StraightSkeletonDefinition.png
The shrinking process, the straight skeleton (blue) and the roof model.

In geometry, a straight skeleton is a method of representing a polygon by a topological skeleton. It is similar in some ways to the medial axis but differs in that the skeleton is composed of straight line segments, while the medial axis of a polygon may involve parabolic curves. However, both are homotopy-equivalent to the underlying polygon. [1]

Contents

Straight skeletons were first defined for simple polygons by Aichholzer et al. (1995), [2] and generalized to planar straight-line graphs (PSLG) by Aichholzer & Aurenhammer (1996). [3] In their interpretation as projection of roof surfaces, they are already extensively discussed by G. A.Peschka ( 1877 ). [4]

Definition

The straight skeleton of a polygon is defined by a continuous shrinking process in which the edges of the polygon are moved inwards parallel to themselves at a constant speed. As the edges move in this way, the vertices where pairs of edges meet also move, at speeds that depend on the angle of the vertex. If one of these moving vertices collides with a nonadjacent edge, the polygon is split in two by the collision, and the process continues in each part. The straight skeleton is the set of curves traced out by the moving vertices in this process. In the illustration the top figure shows the shrinking process and the middle figure depicts the straight skeleton in blue.

Algorithms

The straight skeleton may be computed by simulating the shrinking process by which it is defined; a number of variant algorithms for computing it have been proposed, differing in the assumptions they make on the input and in the data structures they use for detecting combinatorial changes in the input polygon as it shrinks.

The following algorithms consider an input that forms a polygon, a polygon with holes, or a PSLG. For a polygonal input we denote the number of vertices by n and the number of reflex (concave, i.e., angle greater than π) vertices by r. If the input is a PSLG then we consider the initial wavefront structure, which forms a set of polygons, and again denote by n the number of vertices and by r the number of reflex vertices w.r.t. the propagation direction. Most of the algorithms listed here are designed and analyzed in the real RAM model of computation.

Applications

Each point within the input polygon can be lifted into three-dimensional space by using the time at which the shrinking process reaches that point as the z-coordinate of the point. The resulting three-dimensional surface has constant height on the edges of the polygon, and rises at constant slope from them except for the points of the straight skeleton itself, where surface patches at different angles meet. In this way, the straight skeleton can be used as the set of ridge lines of a building roof, based on walls in the form of the initial polygon. [2] [14] The bottom figure in the illustration depicts a surface formed from the straight skeleton in this way.

Demaine, Demaine and Lubiw used the straight skeleton as part of a technique for folding a sheet of paper so that a given polygon can be cut from it with a single straight cut (the fold-and-cut theorem), and related origami design problems. [15]

Barequet et al. use straight skeletons in an algorithm for finding a three-dimensional surface that interpolates between two given polygonal chains. [16]

Tănase and Veltkamp propose to decompose concave polygons into unions of convex regions using straight skeletons, as a preprocessing step for shape matching in image processing. [17]

Bagheri and Razzazi use straight skeletons to guide vertex placement in a graph drawing algorithm in which the graph drawing is constrained to lie inside a polygonal boundary. [18]

The straight skeleton can also be used to construct an offset curve of a polygon, with mitered corners, analogously to the construction of an offset curve with rounded corners formed from the medial axis. Tomoeda and Sugihara apply this idea in the design of signage, visible from wide angles, with an illusory appearance of depth. [19] Similarly, Asente and Carr use straight skeletons to design color gradients that match letter outlines or other shapes. [20]

As with other types of skeleton such as the medial axis, the straight skeleton can be used to collapse a two-dimensional area to a simplified one-dimensional representation of the area. For instance, Haunert and Sester describe an application of this type for straight skeletons in geographic information systems, in finding the centerlines of roads. [21] [22]

Every tree with no degree-two vertices can be realized as the straight skeleton of a convex polygon. [23] The convex hull of the roof shape corresponding to this straight skeleton forms a Steinitz realization of the Halin graph formed from the tree by connecting its leaves in a cycle.

Higher dimensions

Barequet et al. defined a version of straight skeletons for three-dimensional polyhedra, described algorithms for computing it, and analyzed its complexity on several different types of polyhedron. [24]

Huber et al. investigated metric spaces under which the corresponding Voronoi diagrams and straight skeletons coincide. For two dimensions, the characterization of such metric spaces is complete. For higher dimensions, this method can be interpreted as a generalization of straight skeletons of certain input shapes to arbitrary dimensions by means of Voronoi diagrams. [25]

Related Research Articles

<span class="mw-page-title-main">Delaunay triangulation</span> Triangulation method

In mathematics and computational geometry, a Delaunay triangulation for a given set P of discrete points in a general position is a triangulation DT(P) such that no point in P is inside the circumcircle of any triangle in DT(P). Delaunay triangulations maximize the minimum of all the angles of the triangles in the triangulation; they tend to avoid sliver triangles. The triangulation is named after Boris Delaunay for his work on this topic from 1934.

Computational geometry is a branch of computer science devoted to the study of algorithms which can be stated in terms of geometry. Some purely geometrical problems arise out of the study of computational geometric algorithms, and such problems are also considered to be part of computational geometry. While modern computational geometry is a recent development, it is one of the oldest fields of computing with a history stretching back to antiquity.

<span class="mw-page-title-main">Voronoi diagram</span> Type of plane partition

In mathematics, a Voronoi diagram is a partition of a plane into regions close to each of a given set of objects. In the simplest case, these objects are just finitely many points in the plane. For each seed there is a corresponding region, called a Voronoi cell, consisting of all points of the plane closer to that seed than to any other. The Voronoi diagram of a set of points is dual to that set's Delaunay triangulation.

The point location problem is a fundamental topic of computational geometry. It finds applications in areas that deal with processing geometrical data: computer graphics, geographic information systems (GIS), motion planning, and computer aided design (CAD).

<span class="mw-page-title-main">Polygon triangulation</span> Partition of a simple polygon into triangles

In computational geometry, polygon triangulation is the partition of a polygonal area P into a set of triangles, i.e., finding a set of triangles with pairwise non-intersecting interiors whose union is P.

<span class="mw-page-title-main">Arrangement of lines</span> Subdivision of the plane by lines

In geometry, an arrangement of lines is the subdivision of the plane formed by a collection of lines. Bounds on the complexity of arrangements have been studied in discrete geometry, and computational geometers have found algorithms for the efficient construction of arrangements.

<span class="mw-page-title-main">Euclidean minimum spanning tree</span> Shortest network connecting points

A Euclidean minimum spanning tree of a finite set of points in the Euclidean plane or higher-dimensional Euclidean space connects the points by a system of line segments with the points as endpoints, minimizing the total length of the segments. In it, any two points can reach each other along a path through the line segments. It can be found as the minimum spanning tree of a complete graph with the points as vertices and the Euclidean distances between points as edge weights.

<span class="mw-page-title-main">Point-set triangulation</span>

A triangulation of a set of points in the Euclidean space is a simplicial complex that covers the convex hull of , and whose vertices belong to . In the plane, triangulations are made up of triangles, together with their edges and vertices. Some authors require that all the points of are vertices of its triangulations. In this case, a triangulation of a set of points in the plane can alternatively be defined as a maximal set of non-crossing edges between points of . In the plane, triangulations are special cases of planar straight-line graphs.

The art gallery problem or museum problem is a well-studied visibility problem in computational geometry. It originates from the following real-world problem:

In computational complexity, problems that are in the complexity class NP but are neither in the class P nor NP-complete are called NP-intermediate, and the class of such problems is called NPI. Ladner's theorem, shown in 1975 by Richard E. Ladner, is a result asserting that, if P ≠ NP, then NPI is not empty; that is, NP contains problems that are neither in P nor NP-complete. Since it is also true that if NPI problems exist, then P ≠ NP, it follows that P = NP if and only if NPI is empty.

<span class="mw-page-title-main">Pseudotriangle</span>

In Euclidean plane geometry, a pseudotriangle (pseudo-triangle) is the simply connected subset of the plane that lies between any three mutually tangent convex sets. A pseudotriangulation (pseudo-triangulations) is a partition of a region of the plane into pseudotriangles, and a pointed pseudotriangulation is a pseudotriangulation in which at each vertex the incident edges span an angle of less than π.

Algorithms that construct convex hulls of various objects have a broad range of applications in mathematics and computer science.

<span class="mw-page-title-main">Monotone polygon</span>

In geometry, a polygon P in the plane is called monotone with respect to a straight line L, if every line orthogonal to L intersects the boundary of P at most twice.

<span class="mw-page-title-main">Polygonal chain</span> Connected series of line segments

In geometry, a polygonal chain is a connected series of line segments. More formally, a polygonal chain is a curve specified by a sequence of points called its vertices. The curve itself consists of the line segments connecting the consecutive vertices.

In computational geometry and computer science, the minimum-weight triangulation problem is the problem of finding a triangulation of minimal total edge length. That is, an input polygon or the convex hull of an input point set must be subdivided into triangles that meet edge-to-edge and vertex-to-vertex, in such a way as to minimize the sum of the perimeters of the triangles. The problem is NP-hard for point set inputs, but may be approximated to any desired degree of accuracy. For polygon inputs, it may be solved exactly in polynomial time. The minimum weight triangulation has also sometimes been called the optimal triangulation.

David Mount is a professor at the University of Maryland, College Park department of computer science whose research is in computational geometry.

In computational geometry, a constrained Delaunay triangulation is a generalization of the Delaunay triangulation that forces certain required segments into the triangulation as edges, unlike the Delaunay triangulation itself which is based purely on the position of a given set of vertices without regard to how they should be connected by edges. It can be computed efficiently and has applications in geographic information systems and in mesh generation.

In computational complexity theory, and more specifically in the analysis of algorithms with integer data, the transdichotomous model is a variation of the random access machine in which the machine word size is assumed to match the problem size. The model was proposed by Michael Fredman and Dan Willard, who chose its name "because the dichotomy between the machine model and the problem size is crossed in a reasonable manner."

<span class="mw-page-title-main">Greedy geometric spanner</span>

In computational geometry, a greedy geometric spanner is an undirected graph whose distances approximate the Euclidean distances among a finite set of points in a Euclidean space. The vertices of the graph represent these points. The edges of the spanner are selected by a greedy algorithm that includes an edge whenever its two endpoints are not connected by a short path of shorter edges. The greedy spanner was first described in the PhD thesis of Gautam Das and conference paper and subsequent journal paper by Ingo Althöfer et al. These sources also credited Marshall Bern (unpublished) with the independent discovery of the same construction.

<span class="mw-page-title-main">Polygonalization</span> Polygon through a set of points

In computational geometry, a polygonalization of a finite set of points in the Euclidean plane is a simple polygon with the given points as its vertices. A polygonalization may also be called a polygonization, simple polygonalization, Hamiltonian polygon, non-crossing Hamiltonian cycle, or crossing-free straight-edge spanning cycle.

References

  1. Huber, Stefan (2018), "The Topology of Skeletons and Offsets" (PDF), Proceedings of the 34th European Workshop on Computational Geometry (EuroCG'18).
  2. 1 2 3 Aichholzer, Oswin; Aurenhammer, Franz; Alberts, David; Gärtner, Bernd (1995), "A novel type of skeleton for polygons", Journal of Universal Computer Science, 1 (12): 752–761, doi:10.1007/978-3-642-80350-5_65, MR   1392429 .
  3. 1 2 Aichholzer, Oswin; Aurenhammer, Franz (1996), "Straight skeletons for general polygonal figures in the plane", Proc. 2nd Ann. Int. Conf. Computing and Combinatorics (COCOON '96), Lecture Notes in Computer Science, vol. 1090, Springer-Verlag, pp. 117–126
  4. Peschka, Gustav A. (1877), Kotirte Ebenen: Kotirte Projektionen und deren Anwendung; Vorträge, Brünn: Buschak & Irrgang, doi:10.14463/GBV:865177619 .
  5. Huber, Stefan; Held, Martin (2010), "Computing straight skeletons of planar straight-line graphs based on motorcycle graphs" (PDF), Proceedings of the 22nd Canadian Conference on Computational Geometry.
  6. Huber, Stefan; Held, Martin (2011), "Theoretical and practical results on straight skeletons of planar straight-line graphs" (PDF), Proceedings of the Twenty-Seventh Annual Symposium on Computational Geometry (SCG'11), June 13–15, 2011, Paris, France, pp. 171–178.
  7. "CenterLineReplacer", FME Transformers, Safe Software, retrieved 2013-08-05.
  8. Felkel, Petr; Obdržálek, Štěpán (1998), "Straight skeleton implementation", SCCG 98: Proceedings of the 14th Spring Conference on Computer Graphics, pp. 210–218.
  9. Huber, Stefan (2012), Computing Straight Skeletons and Motorcycle Graphs: Theory and Practice, Shaker Verlag, ISBN   978-3-8440-0938-5 .
  10. Yakersberg, Evgeny (2004), Morphing Between Geometric Shapes Using Straight-Skeleton-Based Interpolation., Israel Institute of Technology.
  11. Eppstein, David; Erickson, Jeff (1999), "Raising roofs, crashing cycles, and playing pool: applications of a data structure for finding pairwise interactions", Discrete and Computational Geometry , 22 (4): 569–592, doi:10.1007/PL00009479, MR   1721026, S2CID   12460625 .
  12. Cheng, Siu-Wing; Mencel, Liam; Vigneron, Antoine (2016), "A faster algorithm for computing straight skeletons", ACM Transactions on Algorithms, vol. 12, pp. 44:1–44:21, arXiv: 1405.4691 .
  13. Biedl, Therese; Held, Martin; Huber, Stefan; Kaaser, Dominik; Palfrader, Peter (February 2015). "A Simple Algorithm for Computing Positively Weighted Straight Skeletons of Monotone Polygons" (PDF). Information Processing Letters. 115 (2): 243–247. doi:10.1016/j.ipl.2014.09.021. PMC   4308025 . PMID   25648376. As Biedl et al. point out, an earlier algorithm for monotone polygons by Das et al. is incorrect as described, and at best works only for inputs in general position that do not have vertex-vertex events: Das, Gautam K.; Mukhopadhyay, Asish; Nandy, Subhas C.; Patil, Sangameswar; Rao, S. V. (2010), "Computing the straight skeletons of a monotone polygon in O(n log n) time" (PDF), Proceedings of the 22nd Canadian Conference on Computational Geometry.
  14. Bélanger, David (2000), Designing Roofs of Buildings .
  15. Demaine, Erik D.; Demaine, Martin L.; Lubiw, Anna (1998), "Folding and cutting paper", Revised Papers from the Japan Conference on Discrete and Computational Geometry (JCDCG'98), Lecture Notes in Computer Science, vol. 1763, Springer-Verlag, pp. 104–117, doi:10.1007/b75044, ISBN   978-3-540-67181-7, S2CID   32962663 .
  16. Barequet, Gill; Goodrich, Michael T.; Levi-Steiner, Aya; Steiner, Dvir (2003), "Straight-skeleton based contour interpolation", Proceedings of the Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 119–127.
  17. Tănase, Mirela; Veltkamp, Remco C. (2003), "Polygon decomposition based on the straight line skeleton", Proceedings of the 19th Annual ACM Symposium on Computational Geometry , pp. 58–67, doi:10.1145/777792.777802, S2CID   18173658 .
  18. Bagheri, Alireza; Razzazi, Mohammadreza (2004), "Drawing free trees inside simple polygons using polygon skeleton", Computing and Informatics, 23 (3): 239–254, MR   2165282 .
  19. Tomoeda, Akiyasu; Sugihara, Kokichi (2012), "Computational creation of a new illusionary solid sign", Ninth International Symposium on Voronoi Diagrams in Science and Engineering (ISVD 2012), pp. 144–147, doi:10.1109/ISVD.2012.26, S2CID   27610348 .
  20. Asente, Paul; Carr, Nathan (2013), "Creating contour gradients using 3D bevels", Proceedings of the Symposium on Computational Aesthetics (CAE '13, Anaheim, California), New York, NY, USA: ACM, pp. 63–66, doi:10.1145/2487276.2487283, ISBN   978-1-4503-2203-4, S2CID   17302186 .
  21. Haunert, Jan-Henrik; Sester, Monika (2008), "Area collapse and road centerlines based on straight skeletons", GeoInformatica, 12 (2): 169–191, doi:10.1007/s10707-007-0028-x, S2CID   2169666 .
  22. Raleigh, David Baring (2008), Straight Skeleton Survey Adjustment Of Road Centerlines From Gps Coarse Acquisition Data: A Case Study In Bolivia, Ohio State University, Geodetic Science and Surveying.
  23. Aichholzer, Oswin; Cheng, Howard; Devadoss, Satyan L.; Hackl, Thomas; Huber, Stefan; Li, Brian; Risteski, Andrej (2012), "What makes a tree a straight skeleton?" (PDF), Proceedings of the 24th Canadian Conference on Computational Geometry (CCCG'12).
  24. Barequet, Gill; Eppstein, David; Goodrich, Michael T.; Vaxman, Amir (2008), "Straight skeletons of three-dimensional polyhedra", Proc. 16th European Symposium on Algorithms, Lecture Notes in Computer Science, vol. 5193, Springer-Verlag, pp. 148–160, arXiv: 0805.0022 , doi:10.1007/978-3-540-87744-8_13 .
  25. Huber, Stefan; Aichholzer, Oswin; Hackl, Thomas; Vogtenhuber, Birgit (2014), "Straight skeletons by means of Voronoi diagrams under polyhedral distance functions" (PDF), Proc. 26th Canadian Conference on Computational Geometry (CCCG'14).