计算两条平行线的重叠

时间:2012-04-27 12:56:43

标签: php

我在2D空间中有2条平行线。 这些行用$ min1,$ max1,$ min2,$ max2

定义

我已经弄清楚如何检查它们是否重叠:

function overlap($min1,$max1,$min2,$max2){
  if(($min1<$min2 && $max1>$min2) 
    || ($min1<$max2 && $max1>$max2) 
    || ($min1==$min2 && $max1==$max2) 
    || ($min2>=$min1 && $max2<=$max1)
    || ($min1>=$min2 && $max1<=$max2)){
    return true;
}
return false;
}

现在我必须检查重叠长度,但我不知道如何实现这个。

我需要这个来在分离轴定理实现中获得最小的平移向量

任何提示都会很棒。

1 个答案:

答案 0 :(得分:10)

快速思考,但我认为它有效。

将行中的最高起始值设为start'
将行中的最低结束值设为end'

如果您start' < end'重叠(end' - start'