这里的所有值都是具有最多两个浮点数的实数。给定一个矩形区域和一组矩形,检查整个区域是否被它们覆盖
假设我们有一个矩形区域,。
然后给你一组矩形。我如何检查这些矩形是否合并,覆盖整个区域?
如果我们有
(0,0,50,75)
显然,这不会发生,因为它仅覆盖一半的面积。如果我们有
(0,0,50,75)
(50,0,50,75)
那么这样做的工作,因为这两个矩形将有效地覆盖整个(100,75)
。
有什么我试图
我试图(没有工作),使布尔的多维数组:
bool area[10000][7500];
这些区域的尺寸乘以减去100,这样我就不必处理浮点数。然后我只是迭代我的每个矩形(它们的值也乘以100),并且对于它们中的每个“像素”,我将布尔值变成true
。
最终,我检查该区域的所有布尔值是否为true
。
这被证明是非常愚蠢的。你能帮我找到一个更好的方法来做到这一点?
你需要检查,如果其表面加起来主矩形表面,或者您需要检查的主要矩形的每个像素被覆盖? (给你一个提示) – Shomz 2013-04-23 23:13:59
@Shomz:我不确定第一个是什么意思:(但是,基本上,只需要检查主矩形中的所有像素是否都被遮盖了。 – Voldemort 2013-04-23 23:16:07
(0,0,50 75) (50,0,50,75)不工作 - 用(50,0,100,75) – 2013-04-23 23:16:21