Efficient algorithm for Boolean operations on polygons

Dongzhou QI,Min WU
2014-01-01
Journal of Computer Applications
Abstract:In this paper, a new algorithm was proposed for Boolean operations on general polygons, including union, intersection and difference calculations of two polygons, which are of wide application in computer graphics. Our algorithm includes three main steps: computing the intersection points, inserting the intersection points into the polygon vertex lists, and vertex traversal. The adoption of single-linked list data structure enables less storage space. And through uniform processing on intersection points and beforehand collision detection to avoid complicated intersection calculation, this algorithm can accelerate the execution speed and reduce further the storage space. The algorithm possesses good robustness since it can tackle with many singular cases very well. Compared with the classical Weiler algorithm, Vatti algorithm and Greiner-Hormann algorithm, our algorithm has lower time complexity(O((m+n+k)log d))and space complexity. The experiments illustrate the efficiency of this algorithm. For a case with 2 222 × 2 222 vertices and 42 intersection points, this algorithm is 296 faster than Weiler algorithm. The main idea of this algorithm is also applicable to the union, intersection and difference calculation of polyhedra.
What problem does this paper attempt to address?