Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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
Math n个圆的相交面积,每个圆的半径为';r';_Math_Intersection_Area - Fatal编程技术网

Math n个圆的相交面积,每个圆的半径为';r';

Math n个圆的相交面积,每个圆的半径为';r';,math,intersection,area,Math,Intersection,Area,问题陈述: 在从(-)无穷大到(+)无穷大的图形上绘制“N”个等半径圆。找出相交的总面积,即图形上由两个或多个圆覆盖的所有面积。首先更正:这些不是圆。它们是椭圆(圆是椭圆的特例,其中a=b)。您可以计算两个椭圆的交点,因此给定N个椭圆,您需要检查每对椭圆,因此整个运算是O(n2)(乘以任何交点运算) 看一看,然后 编辑:圆的交点是一个比较容易的问题,但遵循相同的原则。查看和。编码的最简单(不一定是最快或“最佳”)方法是找到包含所有圆的边界框,然后使用数值随机方法进行积分 现在,通过变得聪明,你可

问题陈述:
在从(-)无穷大到(+)无穷大的图形上绘制“N”个等半径圆。找出相交的总面积,即图形上由两个或多个圆覆盖的所有面积。

首先更正:这些不是圆。它们是椭圆(圆是椭圆的特例,其中a=b)。您可以计算两个椭圆的交点,因此给定N个椭圆,您需要检查每对椭圆,因此整个运算是O(n2)(乘以任何交点运算)

看一看,然后

编辑:圆的交点是一个比较容易的问题,但遵循相同的原则。查看和。

编码的最简单(不一定是最快或“最佳”)方法是找到包含所有圆的边界框,然后使用数值随机方法进行积分

现在,通过变得聪明,你可能可以将圆分组并分别装箱,也就是说,在许多边界框中工作。甚至准确地处理某些特殊情况

但是,纯随机方法具有易于实现(但可能很慢)的优点


只有当您愿意得到一个“近似”(但任意接近正确)的答案时,这才是可以接受的。

此问题的编程部分是?对我来说,听起来像是简单的数学。你用什么语言做这个?如果上面的链接不起作用,请参考:是的,更多的是数学。我在CNOT做这件事是为了拍摄这张照片:我)需要计算绿色区域。ii)图像中的所有曲线都是圆而不是椭圆。注意:所有的圆都有相同的半径“r”对不起,我的图像不是那么完美。。。图像中的所有曲线都代表等半径圆。这很难,因为你必须处理两个以上重叠的情况。如果粗糙或中等精度是可以接受的,这很好。当然,你肯定想检测重叠的组并在每个组周围绘制边界框:否则,可能会出现大量的空白。