2016-05-24 14 views
0

ランダムにソートされた4つの点がありますが、これらの点で凸凹を描くことはできません。PolygonJavaで凸凹の四角形を描く

int xPoly[] = new int[4]; 
int yPoly[] = new int[4]; 

for(int i = 0; i < quad.size(); i++){ 
    g2d.fill(quad.get(i)); 
    xPoly[i] = (int) (quad.get(i).getX()); 
    yPoly[i] = (int) (quad.get(i).getY()); 
} 

Polygon poly = new Poylgon(xPoly, yPoly, xPoly.length); 
g2d.draw(poly); 

quadArrayList<Point> quad = new ArrayList();のように定義されます。これは私が使用していたコードです。ポイントは私が書いた簡単なクラスですが、それは自明です。しかし、私の解決策は次のようにポリゴンを生成し続ける:

enter image description here

黒い点がquadの一部です。私の望む結果は、通常の見た目のポリゴンであり、不規則なポリゴンではありません。

quad ArrayListのための例は:

これらの点には指定された順序はありません
(0,0), (5,3) (9,10), (6, 7) 

、そうxPoly and yPolyは必ずしもどちらかの順序付けされていません。

+0

正しい順序でポイントを追加していますか?あなたが追加している値のいくつかの例を表示できますか(SSCCEを考えてみてください)。 – Kylar

+0

@Kylar注文を指定していません。どのような順序で私はそれらを追加する必要がありますか? – Arman

+0

@Kylar私は4つのランダムな点の例を挙げました。また、ポリゴンは、凹状または凸状であってもよい。それはちょうど示されたイメージ(交差点がない)のようにはなり得ません。 – Arman

答えて

0

は答えに切り替え:

をあなたはポリゴンで自分をポイントを注文する必要があります - ポリゴン内のポイントは、それが描画されるには一定の順序を記述します。あなたが望むどんなタイプのシェイプも補間しません。

関連する問題