Python - 如何找到两个矩形之间的水平距离?

时间:2018-02-25 09:40:20

标签: python

我需要找到两个矩形(R1,R2)之间的水平距离。例如,如果两个矩形在一行内,那我怎样才能找到它们之间的距离?

enter image description here

例如,如果矩形1 的坐标为: x = 515,y = 942,w = 525,h = 954 rectangle2 的坐标为: x = 382,y = 938,w = 508,h = 960 那我怎么能找到他们在水平方向上的距离。 注意:我不需要找到距矩形中心的距离。

1 个答案:

答案 0 :(得分:0)

从一个垂直边缘到另一个垂直边缘的距离是从rect1右侧到{{1}的左侧或者反过来。你不需要知道哪个矩形是左边或右边的那个;你可以取两个可能值中较小的一个。

rect2

即使您的矩形重叠,这仍然是正确的值:

rect1 = {'x':515, 'y':942, 'w':525, 'h':954}
rect2 = {'x':382, 'y':938, 'w':508, 'h':960}
min(rect1['x']+rect1['w']-rect2['x'],rect2['x']+rect2['w']-rect1['x'])
>>> 375