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