您的位置:首页 > 编程语言

编程之美 扩展问题 之 如何处理二维空间的覆盖问题。

2014-10-28 22:54 225 查看
例如在windows 桌面上有若干窗口,如何判断某一窗口是否被其他窗口完全覆盖?

希望读者看过在一维平面的解法:算法之美 2.19 区间重合判断

在二维平面:

解法:因为是窗口,都是些矩形。采用将矩形分别投影到X轴,Y轴上面。对每个方向分别计算包含关系。

如果两个方向,都包含。则该图像一定被其他窗口覆盖。

如果一个方向包含,就要具体分析另一个方向:半包含,不存在包含关系。

1 半包含:存在覆盖一部分。

2 不存在包含,单独模块。

如下图:通过把边投影到x轴,Y轴。



A和B,就存在投影相交的情况。但都被C覆盖了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: