Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm Sharir'的实现;s或Aurenhammer';计算';N';圈子_Algorithm_Math_Geometry_Computational Geometry - Fatal编程技术网

Algorithm Sharir'的实现;s或Aurenhammer';计算';N';圈子

Algorithm Sharir'的实现;s或Aurenhammer';计算';N';圈子,algorithm,math,geometry,computational-geometry,Algorithm,Math,Geometry,Computational Geometry,M.I.Shamos在其1978年的论文中首次提出了在平面上寻找“N”个圆盘/圆的交点/并集的问题: Shamos,M.I.“计算几何”博士。论文,耶鲁大学,纽黑文,康涅狄格州,1978年 此后,在1985年,Micha Sharir提出了一种用于圆盘相交/并集问题的O(n log2n)时间和O(n)空间确定性算法(基于改进的Voronoi图):Sharir,M.一组平面圆盘的相交和最近对问题。暹罗大学。14(1985),第448-468页 1988年,Franz Aurenhammer提出了一

M.I.Shamos在其1978年的论文中首次提出了在平面上寻找“N”个圆盘/圆的交点/并集的问题:

Shamos,M.I.“计算几何”博士。论文,耶鲁大学,纽黑文,康涅狄格州,1978年

此后,在1985年,Micha Sharir提出了一种用于圆盘相交/并集问题的O(n log2n)时间和O(n)空间确定性算法(基于改进的Voronoi图):Sharir,M.一组平面圆盘的相交和最近对问题。暹罗大学。14(1985),第448-468页

1988年,Franz Aurenhammer提出了一种更有效的O(n logn)时间和O(n)空间算法,用于使用幂图的圆相交/并集(Voronoi图的推广):Aurenhammer,F.使用幂图改进了圆和球的算法。《算法杂志》第9期(1985年),第151-161页

早在1983年,Paul G.Spirakis还提出了一种O(n^2)时间确定性算法和一种O(n)概率算法:Spirakis,p.G.针对多个圆并集区域的快速算法。代表98,计算机部。科学,库兰特研究所,纽约大学,1983年


我一直在搜索上述算法的任何实现,重点是计算几何软件包,但我还没有找到任何东西。由于这两种方法在实践中都显得微不足道,如果有人能给我指出正确的方向,那就太好了


也许构造性立体几何(CSG)软件包会有一个用于重叠圆原语的表面积功能?

我花了一些时间研究了计算一组球的并集的算法-正如您所提到的,它是通过使用广义Voronoi图来完成的

CGAL库已经完成。这是一个比你感兴趣的维度高的维度,它不处理交叉点。所以可能没有雪茄

如果你在二维中工作,这个问题相当于在三维中找到一个凸包。您可以使用CGAL或其他软件包中的凸面外壳材料

如果你在寻找你提到的特定算法的实现,我帮不了你。但是,如果您只想找到一个能让您轻松计算并集和交点的幂图,那么使用3D凸包算法进行滚动可能比您想象的要容易

很抱歉你的回答不够全面,但我们不妨从某个地方开始,看看你有多大的灵活性

编辑:还有一个用于二维电源图的CGAL包:


此外,@RGrey还发现了一个CGAL库,用于计算广义多边形的2D布尔值,包括位于的圆。

CGAL中没有2D幂图实现。上面建议的链接(http://www.cgal.org/Manual/last/doc_html/cgal_manual/Apollonius_graph_2/Chapter_main.html)用于加法加权Voronoi图,该图使用欧几里德+权重,而不是欧几里德^2+权重(如幂图)。

Brainjam,谢谢您的回答!是的,有相当数量的三维实现,因为人们希望看到原子球,但没有(N-1)维光盘的骰子。80年代发表了几篇论文,人们继续前进。如果你更熟悉CGAL,请看一看示例17.4.4-我可以从那里提取面积度量值吗?您知道底层算法可能是什么吗?@RGrey,我对CGAL不太熟悉。确定算法的最佳选择可能是查看(开放)源代码,并希望它们提供参考。至于获取面积,广义多边形类似乎有面积方法-请参阅。