Prob声明: 在从( - )无穷远到(+)infinity的图形上画出'N'个相等的半径圆。找到所有交点的总面积Ie图上由两个或更多圆圈覆盖的区域。每个半径为r的n个圆的交点面积
2
A
回答
2
首先是校正:这些不是圆圈。它们是椭圆(圆形是一个椭圆的特例,其中a = b)。您可以计算两个椭圆的交点,因此给定N个椭圆需要检查每对,因此整个操作为O(乘以任何交点操作)。
看看Intersection of Ellipses和The Area of Intersecting Ellipses。
编辑:圆圈是一个更容易的问题,但遵循相同的原则。看看Intersection Of Two Circles和Circle-Circle Intersection。
1
最简单的(不一定是最快或最好的)代码的方法是找到包含所有圆的边界框,然后使用数值随机方法进行整合。
现在,通过聪明,你可以分组圈并将它们分开包装,即在多个边界框中工作。甚至完全处理某些特殊情况。
但纯粹的随机方法具有容易实现(但可能很慢)的美感。
这只有在您有一个“近似”(但任意接近正确)的答案时才可以接受。
+0
如果粗糙或适度的精度是可以接受的,那就好了。 *绝对*想要检测重叠组并围绕每个组绘制边框,否则可能会产生疯狂的空白数量。 – dmckee 2010-02-14 03:39:31
相关问题
- 1. 找到一个圆的半径,直径,面积和圆周
- 2. 围绕一个点画一个半径为R的圆环
- 3. 画一个半径为圆形的圆点
- 4. R,积分在阵列的每个点
- 5. 快速解坐标内/沿原点半径为r为圆心
- 6. 尝试计算BASH中圆的半径和面积
- 7. 如何计算由三点给出的两条直线的半径为R的圆的两个切点
- 8. 一个圆和一个半径为56的线
- 9. 如何计算r中椭圆交点的体积
- 10. 围绕许多不同半径的点画一个圆圈
- 11. LOGO WebTurtle ...在每个顶点绘制一个半圆?
- 12. 获取与给定点重叠的所有点(半径为圆)
- 13. 不同的颜色为每个圆点
- 14. 不同半径的N个圆圈排列在一条线上的数量
- 15. OpenGL - 创建一个圆,改变半径?
- 16. 如何渲染半径为x的圆?
- 17. JavaScript的多个值的圆周,直径和半径
- 18. UIToolbar上的圆角半径?
- 19. 给定N个点中包含K个点的最小面积的正方形
- 20. drawRoundRect每个角的不同半径
- 21. idl每个像素的半径
- 22. 特定圆半径
- 23. 半径公差圆
- 24. 在matlab中选择一个特定半径内的n个点的列表?
- 25. NVD3散点图圆圈半径
- 26. Androidplot绘制圆,给点和半径
- 27. 单个半径`边界半径'作为特定面的百分比
- 28. 打印出一个圆柱体的面积和体积
- 29. 多个纬度/经度点的半径
- 30. 计算某个半径内的点数
这个问题的编程部分是?听起来像简单的数学给我。你在做什么语言? – 2010-02-07 06:21:23
如果上面的链接不起作用,那么请参考: http://i.imagehost.org/0772/circles.png – avi 2010-02-07 06:21:53
是的,它更多的是数学。我正在做C – avi 2010-02-07 06:23:15