1

誰かがJavaで次を実装する方法を教えてもらえますか:直線ポリゴンから2つ以上の部分に分割した後、2つの長方形を参照する必要があります。

ポリゴン 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?)、その後2つの長方形を参照できるようにすることだと思います。

ありがとうございました。

4

1 に答える 1

1

4 つの頂点のすべての可能な組み合わせを見つけて、可能な長方形のリストを取得できます。次に、長方形のみを残します (隣接する頂点の x と y を確認します)。次に、それらが互いに交差しているかどうかを確認します。

Areaまた、それらはから作成されたメインの Shape (contains() を使用) メソッド内にある必要がありますPolygon

それは機能しますか?

于 2012-11-19T11:38:57.387 に答える