此代码采用两个矩形的坐标并找到它们的交点。
def rec_intersection(rect1, rect2)
x_min = [rect1[0][0], rect2[0][1]].max
x_max = [rect1[1][0], rect2[1][1]].min
y_min = [rect1[0][0], rect2[0][1]].max
y_max = [rect1[1][0], rect2[1][1]].min
return nil if ((x_max < x_min) || (y_max < y_min))
return [[x_min, y_min], [x_max, y_max]]
end
rec_intersection([[1, 1], [2, 2]],[[0, 0], [5, 5]])
我真的不明白。具体来说,我想更多地了解坐标的确切含义(我知道它们是左下角和右上角的坐标),但任何人都能详细说明吗?它们相对于什么?矩形的大小?还是它的位置?左下角坐标为[1,1]的矩形与左下角为[0,0]的矩形有何不同?
另外我想知道为什么为了找到x_min,正在使用max方法(反之亦然)。任何澄清都表示赞赏。
答案 0 :(得分:1)
这是一个评论,我会在OP看到后删除。以下是两个矩形的图表,rect1
中包含rect2
。
之前,我将[1,1]
和[2,2]
分别称为rect1
的“左上角”和“右下角”,应该是“左下角“和”右上角“。