2013-05-26 77 views
3

我有一個組成一個2D多邊形的座標數組。座標按順序排列,並確定如何繪製多邊形。將多邊形頂點數組「匹配」到另一個頂點的最佳方法?

我有一個相似的另一個2D多邊形的座標數組,其頂點數多於第一個。

假設兩個多邊形都在2D空間中彼此重疊。

我怎麼才能找到哪些頂點從較小的形狀「匹配」到較大的形狀,同時保持多邊形的順序一致?匹配基於頂點從一個多邊形到下一個多邊形的距離。

0____________1 
|------------| 
|------------| 
|------------| 
3____________2 

------0--------- 
-----/-\-------- 
---1/---\____6-- 
---|----7----|-- 
---|------4__|-- 
---|-------\-5-- 
---2________3--- 

EX solution: 
0 : Null 
1 : 0 
2 : 3 
3 : 2 
4 : Null 
5 : Null 
6 : 1 
7 : Null 

我一直在努力解決這個問題一個多星期了,可以使用一些幫助。謝謝。

+1

對我來說,這似乎不是一個非常明確的問題,因爲「匹配」可能意味着在不同情況下不同的東西(雖然它在本例中清楚你給出1-2-3-6最像你的第一個形狀的0-1-2-3)。如果你指定匹配的結果將用於什麼,也許會有所幫助。 – Stochastically

+0

這些匹配用於確定一個多邊形將如何從一個多邊形變爲下一個,以及將移動哪些頂點以形成新形狀。比賽應該由距離決定。不幸的是,你不能將它們匹配到最近的距離,否則它可能會破壞排序。 – Vadoff

+0

我不確定它是否有幫助,但是您的問題似乎與手勢/手寫識別相似http://www.gamedev.net/page/resources/_/technical/game-programming/recognition-of-handwritten-gestures- r2039。也就是說,將第一個多邊形的每個點與第二個多邊形中的最接近的點匹配只會使點2不明確。 –

回答

1

該問題可以表示爲試圖找到第一個多邊形中的頂點和第二個多邊形中的頂點之間的最小成本最大匹配,並且添加了不需要相交邊的要求。

本文應該是有幫助的:http://home.deib.polimi.it/malucell/papers/NCM.pdf

相關問題