Abstract
Intersection computation is one of the fundamental operations of computational geometry. This paper presents an algorithm for intersection computation between two polygons (convex/nonconvex, with nonintersecting edges, and with or without holes). The approach is based on the decomposed representation of polygons, alternate hierarchical decomposition (AHD), that decomposes the nonconvex polygon into its convex components (convex hulls) arranged hierarchically in a tree data structure called convex hull tree (CHT). The overall approach involves three operations (1) intersection between two convex objects (2) intersection between a convex and a CHT (nonconvex object) and, (3) intersection between two CHTs (two nonconvex objects). This gives for (1) the basic operation of intersection computation between two convex hulls, for (2) the CHT traversal with basic operation in (1) and, for (3) the CHT traversal with operation in (2). Only the basic operation of intersection of two convex hulls is geometric (for which well known algorithms exist) and the other operations are repeated application of this by traversing tree structures.
Keywords
- Convex Hull
- Boolean Operation
- Basic Operation
- Convex Polygon
- Intersection Operation
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.
This is a preview of subscription content, access via your institution.
Buying options
Preview
Unable to display preview. Download preview PDF.
References
Bentley, J. L. and T. A. Ottmann. 1979. "Algorithms for Reporting and Counting Geometric Intersections." IEEE Computer Society.
Bernard, Chazelle and Edelsbrunner Herbert. 1992. "An optimal algorithm for intersecting line segments in the plane." Journal of the ACM (JACM) 39(1):1-54.
Bulbul, Rizwan and Andrew U. Frank. 2009. "AHD: The Alternate Hierarchical Decomposition of Nonconvex Polytopes (Generalization of a Convex Polytope Based Spatial Data Model)." In 17th International Conference on Geoinformatics. Fairfax, USA.
Bulbul, Rizwan, Farid Karimipour and Andrew Frank. 2009. "A Simplex based Dimension Independent Approach for Convex Decomposition of Nonconvex polytopes." In 10th lnternational Conference on GeoComputation (GeoComputation 2009). UNSW, Sydney, Australia.
Chazelle, B. and D. P. Dobkin. 1987. "Intersection of convex objects in two and three dimensions." Journal of the ACM (JACM) 34(1):1-27.
David, M. Mount. 1997. "Geometric intersection." In Handbook of discrete and computational geometry: CRC Press, Inc.
Fogel, Efi, Ron Wein, Baruch Zukerman and Dan Halperin. 2006. "2D Regularized Boolean Set-Operations." In In Cgal-3.2 User and Reference Manual, Cgal Editorial Board, Ed., http://www.cgal.org/Manual/3.2/doc_html/cgal_manual/Boolean_set_operations_2/Chapter_main.html.
FranciscoMartınez, Antonio Jesus Rueda and Francisco Ramo´n Feito. 2009. "A new algorithm for computing Boolean operations on polygons." Computers& Geosciences.
Greiner, Gunther and Kai Hormann. 1998. "Efficient Clipping of Arbitrary Polygons." ACM Transactions on Graphics (TOG) 17(2):71 - 83
Jones, Simon. 2003. Haskell 98 Language and Libraries: The Revised Report: {Cambridge University Press}.
Lauther, Ulrich. 1981. "An O (N log N) algorithm for Boolean mask operations." In Proceedings of the 18th conference on Design automation. Nashville, Tennessee, United States: IEEE Press.
Liu, Young Kui, Xiao Qiang Wang, Shu Zhe Bao, Matej Gambosi and Borut Zalik. 2007. "An algorithm for polygon clipping, and for determining polygon intersections and unions." Computers & Geosciences 33(5):589-598.
Margalit, Avraham and Gary D. Knott. 1989. "An Algorithm for Computing the Union, Intersection or Difference of two Polygons." Computers & Graphics 13:167-183.
Martınez, Francisco, Antonio Jesus Rueda and Francisco Ramo´n Feito. 2009. "A new algorithm for computing Boolean operations on polygons." Computers & Geosciences.
Nievergelt, J. and F. P. Preparata. 1982. "Plane-sweep algorithms for intersecting geometric figures." ACM.
O'Rourke, Joseph. 1998. Computational Geometry in C (Cambridge Tracts in Theoretical Computer Science): Cambridge University Press.
Peng, Yu, Jun-Hai Yong, Wei-Ming Dong, Hui Zhang and Jia-Guang Sun. 2005. "A new algorithm for Boolean operations on general polygons." Computers & Graphics 29(1):57-70.
Rappoport, Ari. 1991. "The n-dimensional extended convex differences tree (ECDT) for representing polyhedra." In Proceedings of the first ACM symposium on Solid modeling foundations and CAD/CAM applications. Austin, Texas, United States: ACM.
Rigaux, Philippe, Michel Scholl and Agnes voisard. 2001. Spatial Databases: With Applications to GIS: Morgan Kaufmann Publishers Inc. San Francisco, CA, USA.
Rivero, M. and F. R. Feito. 2000. "Boolean operations on general planar polygons." Computers & Graphics 24(6):881-896.
Shamos, Michael Ian and Dan Hoey. 1976. "Geometric intersection problems." In Proceedings of the 17th Annual Symposium on Foundations of Computer Science: IEEE Computer Society.
Smith, J. M. and N. A. Dodgson. 2007. "A topologically robust algorithm for Boolean operations on polyhedral shapes using approximate arithmetic." Butterworth-Heinemann.
Vatti, Bala R. 1992. "A Generic Solution to Polygon Clipping." Communications of the ACM 35(7):57-63.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Bulbul, R., Frank, A.U. (2010). Intersection of Nonconvex Polygons Using the Alternate Hierarchical Decomposition. In: Painho, M., Santos, M., Pundt, H. (eds) Geospatial Thinking. Lecture Notes in Geoinformation and Cartography, vol 0. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-12326-9_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-12326-9_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-12325-2
Online ISBN: 978-3-642-12326-9
eBook Packages: Earth and Environmental ScienceEarth and Environmental Science (R0)