对 ruby 中的矩形感到困惑
Confused about rectangles in ruby
此代码获取两个矩形的坐标并找到它们的交点。
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 方法(反之亦然)。任何澄清表示赞赏。
这是一条评论,OP看到后我会删除。这是两个矩形的图表,其中 rect1
包含在 rect2
.
中
之前,我将 [1,1]
和 [2,2]
分别称为 rect1
的 "top-left" 和 "bottom-right" 角,那应该是"bottom-left" 和 "top-right" 角。
此代码获取两个矩形的坐标并找到它们的交点。
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 方法(反之亦然)。任何澄清表示赞赏。
这是一条评论,OP看到后我会删除。这是两个矩形的图表,其中 rect1
包含在 rect2
.
之前,我将 [1,1]
和 [2,2]
分别称为 rect1
的 "top-left" 和 "bottom-right" 角,那应该是"bottom-left" 和 "top-right" 角。