Advertisement

MATLAB编程实例练习(11)矩形重叠

阅读量:

题目描述:
在平面上存在n个矩形,其中第i个矩形的左下角坐标为(x1[i], y1[i]),右上角坐标为(x2[i], y2[i])。当两个或多个矩形之间存在公共区域时,即认为它们之间发生了重叠(边界和角落不计入重叠)。
请计算平面中重叠矩形数量最多的位置,并确定该位置上有多少个矩形相互重叠。

分析:
(1)若某个矩形的左下角点位于另一个矩形内部,则二者之间将形成一个重叠区域,如下图红色点所示;
(2)对于左上角点,如下图绿色点位于某个矩形内部的情况,可以通过蓝色点来替代,而该蓝色点可以由红色点进行推导得出。
代码中最外层的两层for循环涵盖了上述两种情形,等同于对所有可能的重叠区域进行了枚举。

在这里插入图片描述

全部评论 (0)

还没有任何评论哟~