2012-04-27 88 views
2

我在2D空間中有2條平行線。 該線與分1 $,$ 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; 
} 

現在我要檢查overlaping長度,但我不知道如何實現這一點。

我需要這個來獲得minmal平移向量在分離軸定理實施

任何暗示將是巨大的。

+1

重疊

有沒有這樣的事情「並行「在一維空間中...... – Alnitak 2012-04-27 12:58:00

+5

@alnitak你也可以爭辯說在1D中沒有」不平行「這樣的東西:P – Nanne 2012-04-27 12:58:33

+0

@Nanne這是真的:) – Alnitak 2012-04-27 12:59:17

回答

9

只是一個快速的想法,但我認爲它的工作原理。

採取從線最高起始值start'
採取從線最低端值end'如果start' < end'你有(end' - start'

+0

謝謝你Nanne!我沒想到這很容易。我已經嘗試過多種條件,但是這個工作很完美。 – Slemgrim 2012-04-27 14:13:55