Advertisement

A Faster Algorithm for Computing Straight Skeletons

  • Siu-Wing Cheng
  • Liam Mencel
  • Antoine Vigneron
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8737)

Abstract

We present a new algorithm for computing the straight skeleton of a polygon. For a polygon with n vertices, among which r are reflex vertices, we give a deterministic algorithm that reduces the straight skeleton computation to a motorcycle graph computation in O(n (logn)logr) time. It improves on the previously best known algorithm for this reduction, which is randomized, and runs in expected \(O(n \sqrt{h+1}\log^2 n)\) time for a polygon with h holes. Using known motorcycle graph algorithms, our result yields improved time bounds for computing straight skeletons. In particular, we can compute the straight skeleton of a non-degenerate polygon in O(n (logn) logr + r 4/3 + ε ) time for any ε > 0. On degenerate input, our time bound increases to O(n (logn) logr + r 17/11 + ε ).

Keywords

Fast Algorithm Computational Geometry Medial Axis Vertical Edge Simple Polygon 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aichholzer, O., Alberts, D., Aurenhammer, F., Gärtner, B.: A novel type of skeleton for polygons. Journal of Universal Computer Science 1(12), 752–761 (1995)MathSciNetGoogle Scholar
  2. 2.
    Barequet, G., Goodrich, M., Levi-Steiner, A., Steiner, D.: Straight-skeleton based contour interpolation. In: Proceedings of the 14th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 119–127 (2003)Google Scholar
  3. 3.
    Berg, M.D., Cheong, O., Kreveld, M.V., Overmars, M.: Computational Geometry: Algorithms and Applications. Springer (2008)Google Scholar
  4. 4.
    Bowers, J.: Computing the straight skeleton of a simple polygon from its motorcycle graph in deterministic O(n log n) time. CoRR abs/1405.6260 (2014)Google Scholar
  5. 5.
    Cheng, S.W., Mencel, L., Vigneron, A.: A faster algorithm for computing straight skeletons. CoRR abs/1405.4691 (2014)Google Scholar
  6. 6.
    Cheng, S.W., Vigneron, A.: Motorcycle graphs and straight skeletons. Algorithmica 47(2), 159–182 (2007)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Chin, F., Snoeyink, J., Wang, C.A.: Finding the medial axis of a simple polygon in linear time. Discrete and Computational Geometry 21(3), 405–420 (1999)CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Cloppet, F., Oliva, J., Stamon, G.: Angular bisector network, a simplified generalized voronoi diagram: Application to processing complex intersections in biomedical images. IEEE Transactions on Pattern Analysis and Machine Intelligence 22(1), 120–128 (2000)CrossRefGoogle Scholar
  9. 9.
    Coquillart, S., Oliva, J., Perrin, M.: 3d reconstruction of complex polyhedral shapes from contours using a simplified generalized voronoi diagram. Computer Graphics Forum 15(3), 397–408 (1996)CrossRefGoogle Scholar
  10. 10.
    Day, A., Laycock, R.: Automatically generating large urban environments based on the footprint data of buildings. In: Proceedings of the 8th ACM Symposium on Solid Modeling and Applications, pp. 346–351 (2003)Google Scholar
  11. 11.
    Demaine, E.D., Demaine, M.L., Lubiw, A.: Folding and cutting paper. In: Akiyama, J., Kano, M., Urabe, M. (eds.) JCDCG 1998. LNCS, vol. 1763, pp. 104–118. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  12. 12.
    Demaine, E.D., Demaine, M.L., Lubiw, A.: Folding and one straight cut suffice. In: Proceedings of the 10th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 891–892 (1999)Google Scholar
  13. 13.
    Demaine, E.D., Demaine, M.L., Mitchell, J.S.B.: Folding flat silhouettes and wrapping polyhedral packages: New results in computational origami. In: Proceedings of the 15th Annual ACM Symposium on Computational Geometry, pp. 105–114 (1999)Google Scholar
  14. 14.
    Eppstein, D., Erickson, J.: Raising roofs, crashing cycles, and playing pool: Applications of a data structure for finding pairwise interactions. Discrete and Computational Geometry 22(4), 569–592 (1999)CrossRefzbMATHMathSciNetGoogle Scholar
  15. 15.
    Felkel, P., Obdržálek, Š.: Straight skeleton implementation. In: Proceedings of the 14th Spring Conference on Computer Graphics, pp. 210–218 (1998)Google Scholar
  16. 16.
    Held, M., Huber, S.: Theoretical and practical results on straight skeletons of planar straight-line graphs. In: Proceedings of the 27th Symposium on Computational Geometry, pp. 171–178 (2011)Google Scholar
  17. 17.
    Held, M., Huber, S.: A fast straight-skeleton algorithm based on generalized motorcycle graphs. International Journal of Computational Geometry and Applications 22(5), 471–498 (2012)CrossRefzbMATHMathSciNetGoogle Scholar
  18. 18.
    Hershberger, J.: Finding the upper envelope of n line segments in O(n log n) time. Information Processing Letters 33(4), 169–174 (1989)CrossRefzbMATHMathSciNetGoogle Scholar
  19. 19.
    Kelly, T., Wonka, P.: Interactive architectural modeling with procedural extrusions. ACM Transactions on Graphics 30(2), 14:1–14:15 (2011)Google Scholar
  20. 20.
    von Peschka, G.: Kotirte Ebenen: Kotirte Projektionen und deren Anwendung. Buschak and Irrgang, Vorträge (1877)Google Scholar
  21. 21.
    Vigneron, A., Yan, L.: A faster algorithm for computing motorcycle graphs. In: Proceedings of the 29th Symposium on Computational Geometry, pp. 17–26 (2013)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Siu-Wing Cheng
    • 1
  • Liam Mencel
    • 2
  • Antoine Vigneron
    • 2
  1. 1.The Hong Kong University of Science and TechnologyKowloonHong Kong
  2. 2.King Abdullah University of Science and TechnologyThuwalSaudi Arabia

Personalised recommendations