尝试建立一个函数,该函数将返回两个线段之间的总重叠距离,用起始点和结束点表示。
现在我有了这个:我从网上的某个地方
def overlap(min1, max1, min2, max2):
"""returns the overlap between two lines that are 1D"""
result = None
if min1 >= max2 or min2 >= max1: result = 0
elif min1 <= min2:
result = max1 - min2
else: result = max2 - min1
return result
但对于0 100,0,20的情况,它返回100。这显然是错误的。 有没有一种简单的计算方法可以返回正确的值?
没有完全测试,但是-
在一维中,检查重叠的前提很简单(我认为)。找出
minimum
值中的较大值和maximum
值中的较小值。然后减去两者。结果
相关问题 更多 >
编程相关推荐