假设polygon(某一矩形)于box(另一个矩形)相交,设左上角为原点,左下为xy轴正方向,则polygon_top_left为polygon的左上角坐标,polygon_bottom_right为右下角坐标。同上,box_top_left和box_bottom_right分别为box的左上角和右下角坐标。
则两个矩形相交的部分的坐标可用以下方法求解:
def get_overlap(polygon_top_left, polygon_bottom_right, box_top_left, box_bottom_right):
# 左上角为原点
Xa1 = polygon_top_left[0]
Xb1 = polygon_top_left[1]
Xa2 = polygon_bottom_right[0]
Xb2 = polygon_bottom_right[1]
Ya1 = box_top_left[0]
Yb1 = box_top_left[1]
Ya2 = box_bottom_right[0]
Yb2 = box_bottom_right[1]
Xc1 = max(Xa1, Ya1)
Yc1 = max(Xb1, Yb1)
Xc2 = min(Xa2, Ya2)
Yc2 = min(Xb2, Yb2)
return [Xc1, Yc1, Xc2, Yc2]



