编程之美 扩展问题 之 如何处理二维空间的覆盖问题。
2014-10-28 22:54
225 查看
例如在windows 桌面上有若干窗口,如何判断某一窗口是否被其他窗口完全覆盖?
希望读者看过在一维平面的解法:算法之美 2.19 区间重合判断
在二维平面:
解法:因为是窗口,都是些矩形。采用将矩形分别投影到X轴,Y轴上面。对每个方向分别计算包含关系。
如果两个方向,都包含。则该图像一定被其他窗口覆盖。
如果一个方向包含,就要具体分析另一个方向:半包含,不存在包含关系。
1 半包含:存在覆盖一部分。
2 不存在包含,单独模块。
如下图:通过把边投影到x轴,Y轴。
A和B,就存在投影相交的情况。但都被C覆盖了。
希望读者看过在一维平面的解法:算法之美 2.19 区间重合判断
在二维平面:
解法:因为是窗口,都是些矩形。采用将矩形分别投影到X轴,Y轴上面。对每个方向分别计算包含关系。
如果两个方向,都包含。则该图像一定被其他窗口覆盖。
如果一个方向包含,就要具体分析另一个方向:半包含,不存在包含关系。
1 半包含:存在覆盖一部分。
2 不存在包含,单独模块。
如下图:通过把边投影到x轴,Y轴。
A和B,就存在投影相交的情况。但都被C覆盖了。
相关文章推荐
- 关于php扩展编程如何返回数组的问题
- 最近碰到个问题,关于php扩展编程如何返回数组的问题
- 编程人员如何处理感情问题。
- 编程之美 4.2 瓷砖覆盖地板 扩展问题
- lvs 路由模式下后端的realserver是windows该如何处理arp问题
- 如何处理串口通讯数据重合与分批到达的问题
- Socket 编程经验谈---如何处理socket连接后服务器端或客户端的断开
- 如何处理Oracle数据库中的坏块问题
- 如何在SQL Server2000中处理半个汉字的问题
- 如何处理多页面重定向到同一页面后的返回问题
- 创新谈-如何处理DataGuard环境中万一网络失败将导致的Primary库短时间内无法正常工作的问题-张乐奕
- 如何解决下拉菜单被flash覆盖的问题
- Asp.net中如何处理一个站点不同Web应用通用Session的问题
- 如何处理串口通讯数据重合与分批到达的问题 2
- 如何处理Oracle中TEMP表空间满的问题?
- 如何处理从客户端检测到有潜在危险的Request.Form 值的问题
- [导入]如何在SQL Server2000中处理半个汉字的问题(转)
- 如何处理Oracle数据库中的坏块问题
- 提一个比较不知道如何处理的问题?
- 如何解决下拉菜单被flash覆盖的问题