math - An implementation of Sharir's or Aurenhammer's deterministic algorithm for calculating the intersection/union of 'N' circles -


The problem of searching the intersection / consort of the 'N' disk / circle on a flat plane was first proposed by MI Shamos. 1978 Thesis:

Shamos, MI "Computational Geometry" Ph.D. Thesis, Yale University, New Haven, CT1978.

Since then, in 1985, Mischa Shir presented the O (n log2n) time and O (n) space detective algorithm for the problem of disc intercection / union (basis of modified voronews diagrams On): Sharir, M. The edge and closest pair problems for the set of Planwar disc. Siam J. Compute 14 (1985), pp. 448-468

In 1988, Franz Orenheimer presented a more efficient O (N log n) time and O (N) space algorithm using the circle intersection / union power diagrams, the generalization of the Voroneaux diagram presented) : Aryanhammer, F. Better algorithms for disks and balls using power diagrams Journal of Algorithm 9 (1985), pp. 151-161

In the year 1983, Paul G. Spacakis also presented time deterministic algorithms of O (N ^ 2), and O (n) probability algorithm: sparky, pg algorithms very rapidly for the territory of the Union of many boards. Rep. 98, Department Computing Science, Courant Institute, New York University, 1983. I focus on computational geometry packages, searching for any implementation of the algorithms given above. And I have not found anything yet. As it does not look trivial to come into practice, if someone can tell me in the right direction then it will be really clear!

Perhaps a constructive solid geometry (CSG) package will have surface-area facility for overlapping circles in the oldest?

I've spent some time algorithms to calculate the union of a set of balls - like That you mention, it is done using normalized Voronio diagrams.

The CGL library is a dimension that is more than what you are interested in, and does not handle the intersections, so maybe a cigar

If you are working in 2 dimensions, then the problem is equal to finding a convex slab in 3 dimensions. You can use convex trousers material from CGAL or any other package.

If you are referring specific algorithms, then I can not help you. But if you want to find a power diagram that allows you to easily calculate the unions and intersections, then you think that you can make your rolls easier by using the 3D convex rudder algorithm.

Answer, but we can also start somewhere and see how much flexibility you have.

Edit: There is also a CGAL package for 2D power diagrams.

In addition to this, @RGRE has found CGL library for calculating 2D booleans for generalized polygons, including circle.


Comments