计算两条平行线的重叠


calculate overlap of two parallel lines

我在 2D 空间中有 2 条平行线。这些线使用 $min 1、$max 1、$min 2、$max 2 定义

我已经想出了如何检查它们是否重叠:

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;
}

现在我必须检查重叠的长度,但我不知道如何强调这一点。

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

任何提示都会很棒。

只是一个快速的想法,但我认为它有效。

取行中的最高起始值作为start'
将行的最低端值作为end'

如果start' < end',则有 ( end' - start' ) 的重叠