The problem of finding the intersection / union of 'N' discs / circles on a flat plane was first proposed by M. I. Shamos in a 1978 thesis:
Chamos, M. I. "Computational Geometry" Candidate of Technical Sciences. Thesis, Yale University, New Haven, CT 1978.
Since then, in 1985, Misha Sharir introduced O (n log2n) time and O (n) spatial deterministic algorithm for the intersection / union of a disk (based on modified Voronoi diagrams): Sharir M. Intersection and the nearest pairs for a set of flat disks. SIAM.J Comput. 14 (1985), pp. 448-468.
In 1988, Franz Aurenhammer introduced a more efficient O (n log n) time and O (n) spatial algorithm for intersecting / joining circles using force diagrams (generalization of Voronoi diagrams): Aurenhammer, F. Improved algorithms for disks and balls using force diagrams. Journal of Algorithms 9 (1985), pp. 151-161.
Earlier in 1983, Paul G. Spirakis also introduced the O (n ^ 2) deterministic time algorithm and the O (n) probabilistic algorithm: Spirakis, PG Very fast algorithms for the many-union area. Report 98, department. Sci., Courant Institute, New York University, 1983.
I searched for any implementation of the algorithms above, focusing on computational geometry packages, and I haven't found anything yet. Since not one of them seems trivial for practical use, it would be really neat if someone could point me in the right direction!
Perhaps a structural solid geometry (CSG) design would have the function of a surface region for overlapping environment primitives?
math algorithm geometry computational-geometry
Rgrey
source share