What are some good resources (books, articles, sites) about polygon intersection and union algorithms?
-
convex or non-convex polygons? – Aron Ahmadia Mar 07 '12 at 17:32
-
1Have you looked at http://stackoverflow.com/questions/1526352/how-to-intersect-two-polygons ? – Paul Mar 07 '12 at 19:16
5 Answers
I am a big fan of Joseph O'Rourke's works. I highly recommend his book Computational Geometry in C (2nd edition) because it has a particularly good balance of theory and implementation. Chapter 7 contains direct information pertaining to polygon intersection.
- 12,045
- 7
- 56
- 129
Paul's suggestion is great, I would just like to add two more:
"Geometric Tools for Computer Graphics", Schneider
"Computational Geometry" Mark deBerg et al.
On this note, my 2cents (coming from experience): if you are considering coding such algorithms, I advise you kindly to take a look at Boost::Geometry and/or CGAL libray first, there is no need (hopefully) to re-invent the wheel. If you are coding in C++, that is....
- 1,916
- 1
- 11
- 22
GPC, General Polygon Clipper is a good implementation for boolean operations on polygons based on Vatti's clipping algorithm. The page also contains links to other solutions.
- 966
- 1
- 7
- 12
One strategy is to look for modern algorithms for related problems, like collision detection, etc. Often there are good strategies in slightly different application if you have a particular problem you're trying to solve.
As for implementation, you could check out the Boost Polygon Library.
A couple general books for Computational Geometry that are on my shelf are:
Computational Geometry: An Introduction by Franco Preparata and Michael Shamos is yet another good introductory book on computational geometry algorithms.
Computational Geometry: An Introduction Through Randomized Algorithms by Ketan Mulmuley is an excellently constructed book good algorithmic coverage of a wide variety of algorithms for geometric problems; all done through randomized methods.
- 1,675
- 12
- 20