2013-09-24 200 views
5

我有兩個多邊形,我想獲得最小距離,並測量這個距離之間的點。當然,這樣的一點可能很好地位於兩個節點之間的邊緣。兩個多邊形的最近點

下面是一個例子:

Example

我在尋找一種算法,給了我綠色的距離和兩個點。

+1

從圖片看來,plygons可以是凹面。否則GJK算法是一個很好的解決問題的方法 –

+0

請參閱http://stackoverflow.com/questions/3700983/what-is-the-fastest-algorithm-to-calculate-the-minimum-distance-between-two-sets – Ari

回答

2

如果多邊形不相交,你可以這樣做:

如果你有多邊形A和多邊形B和A [i]和B [J]分別爲A和B的頂點。然後,您可以計算A [i]與B的每個段的最近距離(您可以使用類似this的東西,但考慮到您將使用段,因此您必須處理起點和終點段)。

然後,你必須做相同的,但所有B [J]提供給A.

所有段和最後拿最小的一個。

只記得我以前的評論:考慮段的起點和終點,同時計算此段所在行的最短距離,因爲交點可能超出了段的範圍。看看here檢查這最後一件事。如果點了保持段的最近邊)

問候

相關問題