2012-11-19 36 views
1

有人可以指導我如何在java中實現以下內容:從任何直線多邊形分割爲兩個或多個部分後,需要引用兩個矩形。從分解的直線多邊形引用矩形

Polygon http://img853.imageshack.us/img853/2475/picture1eu.jpg

我的算法:

ArrayList coordinates; 
for (int a = 0; a < coordinates.size(); a++) 
{ 
    if (coordinates[a] at point of concave) 
    { 
     Draw intersecting line North Or South from coordinates[a] depending on 
     which direction remains inside the polygon. 
    } 
} 

在這個特殊的圖兩個凹形邊緣位於同一x軸,然而,這並非總是如此。

我猜我需要使用Shape和Area類嗎?我想我最掙扎的是我用什麼來分割(常規的.drawLine?),然後能夠在之後引用這兩個矩形。

謝謝。

回答

1

您可以獲得可能的矩形列表,查找4個頂點的所有可能組合。然後只留下矩形(檢查鄰居頂點的x和y)。然後檢查它們是否相互交叉。

另外它們應該在Polygon創建的Area的主Shape(使用contains())方法內。

它工作嗎?

+0

嗯,這聽起來很有希望。我認爲這會奏效。我會嘗試實施,看看我如何繼續。謝謝 – cworner1

+0

是的,稍微調整一下就可以解決我的問題了。 – cworner1