【发布时间】:2015-01-25 00:03:38
【问题描述】:
我想计算红色和蓝色矩形之间的重叠区域“灰色区域”。
每个矩形由其四个角坐标定义。重叠区域的结果单位是单位正方形。
我无法想象我该怎么做?
任何有创意的 cmets 都将不胜感激。
【问题讨论】:
-
那么你的问题到底是什么?如果你知道所有的角点,你可以很容易地计算出相交矩形的角。角坐标和
min和max函数应该是你所需要的。 -
shapely可以计算相交矩形的角吗?
-
我不知道。但是,我很确定您可以弄清楚如何自己计算这些角。只要看看左上角:要在交叉路口,你必须有一个 x_coord 至少与红色和蓝色左端的最大值一样大,并且 y_coord 至多红色和蓝色上端的最小值......你有四个角点中的每一个都有类似的参数。
-
这很容易,但主要问题是符号。你如何在你的代码中定义一个矩形?例如,一个元组的值如下:
(xmin, ymin, xmax, ymax)等? -
@tom10 矩形的每个角定义为(x,y)坐标值,如你所说,可以用来获取(xmin, ymin, xmax, ymax)。
标签: python numpy matplotlib polygon shapely