## Date of Award

8-2004

## Culminating Project Type

Thesis

## Degree Name

Computer Science: M.S.

## Department

Computer Science and Information Technology

## College

School of Science and Engineering

## First Advisor

Ramnath Sarnath

## Second Advisor

Peivi Zhao

## Third Advisor

Andrew Anda

## Creative Commons License

This work is licensed under a Creative Commons Attribution 4.0 License.

## Keywords and Subject Headings

Algorithm, straight skeleton

## Recommended Citation

Parnerkar, Amit, "Corrective Greedy Algorithm for Finding the Straight Line Skeleton of a Simple Polygon" (2004). *Culminating Projects in Computer Science and Information Technology*. 54.

https://repository.stcloudstate.edu/csit_etds/54

## Comments/Acknowledgements

The purpose of this paper is to introduce an algorithm for finding the Straight Line Skeleton of Simple Polygons that uses a "corrective greedy" approach. The thesis explores the behavior of a simple algorithm that attempts to find the Straight Skeleton using local information only. Since it is well known that local information alone is insufficient to find the Straight Skeleton [l, 9], the algorithm is at times forced to rollback/backtrack some of the computation done. Since it is hard to get an exact theoretical bound on the number of backtrack operations, we have tested the algorithm extensively on randomly generated star-shaped polygons. Our experimental results show that for star-shaped polygons, this approach gives us an O(n log n) behavior. Implementation for this algorithm is available through an applet at http://web.stcloudstate.edu/rsamath/skeleton/straightSkeleton.htm.

Straight Skeleton has several applications: layered manufacturing [10], drawing free trees inside rectilinear polygons [11], origami polygon cutting theorem (solve the fold-and-cut problem) [12, 13], label placement algorithms that locate a label at a centroid [14], to construct a polygonal roof over a set of ground walls [7] (see Figure 1.6), reconstruct a geographical terrain from a river map, character recognition (see Figure 1.5), etc.

Straight Skeleton is a concept that was first introduced by Aichholzer in 1995 [ 1] and is similar to medial axis. Finding medial axis can be achieved in linear time [15], but there are no known linear or nearly-linear algorithms for finding the Straight Skeleton.

Several researchers have proposed algorithms for this problem. The fastest deterministic algorithm is the one by Eppstein and Erickson [5] which runs in O(n

^{I+e }+ n^{8}^{/}^{ll+e}r^{9 }^{/}^{ll+e}) where n is the tota1 number of vertices, r is the number of reflex (nonconvex) vertices, and e is an arbitrarily small positive constant. More recently, a slightly faster randomized algorithm using O(n✓n log n) time and O(n) space was proposed by Cheng and Vigneron [6]. Our algorithm is an experimental algorithm and runs faster than any of the known algorithms for computing Straight Skeleton of StarShaped polygon. Figure 5.3 shows the comparison chart for all available algorithms at this time.