【发布时间】:2013-10-23 12:38:12
【问题描述】:
从任意矩形开始,用户可以在其中放置任意数量的圆圈。 圆圈可以不受限制地相互重叠。
圆圈可以有不同的大小。
测试矩形是否完全被圆圈覆盖的最佳方法是什么?
【问题讨论】:
-
圆是否可以延伸到矩形之外?
-
只要圆圈的某些部分在矩形内,它们就可以了。
标签: objective-c algorithm geometry
从任意矩形开始,用户可以在其中放置任意数量的圆圈。 圆圈可以不受限制地相互重叠。
圆圈可以有不同的大小。
测试矩形是否完全被圆圈覆盖的最佳方法是什么?
【问题讨论】:
标签: objective-c algorithm geometry
这似乎是一个非常棘手的算法,但幸运的是之前有人考虑过它:)
检查这个问题:
https://cs.stackexchange.com/questions/11163/circles-covering-a-rectangular-how-to-verify-it
好像和你有同样的问题。
【讨论】:
我最终发现 JS 和 Objective-C 中最简单的解决方案(无论如何对我来说)是简单地迭代每个像素并检查颜色(假设圆圈是彩色的)并检查它是否是圆圈(或它的边界)。一旦找到一个圆圈的颜色,迭代就会停止,因为该区域显然没有被形状完全覆盖。
此解决方案的优点是实际形状无关紧要(我们最终还添加了其他形状)。
【讨论】: