检查圆圈是否完全覆盖某个区域

时间:2013-10-23 12:38:13

标签: objective-c algorithm geometry

从任意矩形开始,用户可以在其中放置任意数量的圆圈。 允许圆圈无限制地相互重叠。

圆圈的大小可以不同。

测试矩形是否被圆圈完全覆盖的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

这似乎是一个非常棘手的算法,但幸运的是dsomebody之前曾考虑过这个问题:)

检查此问题:

https://cs.stackexchange.com/questions/11163/circles-covering-a-rectangular-how-to-verify-it

似乎和你有同样的问题。

答案 1 :(得分:0)

我最终发现JS和Objective-C中最简单的解决方案(对我来说)只是迭代每个像素并检查颜色(假设圆圈是彩色的)并检查它是否是颜色圆圈(或它的边界)。一旦找到圆形的颜色,迭代就会停止,因为该区域显然没有被形状完全覆盖。

此解决方案的优势在于实际形状无关紧要(我们最终还添加了其他形状)。