The Repository @ St. Cloud State

Open Access Knowledge and Scholarship

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

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

Keywords and Subject Headings

Algorithm, straight skeleton

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(nI+e + n 8/ll+er 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.

Share

COinS
 
 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.