25

ダブルタイプのポイントを持つポリゴンについていくつか質問があります...私がしなければならないことは、ポイントを与えられ、ポリゴンを作成してから、1つの具体的なポイントがポリゴンの内側にあるかどうかをテストします。

だから私はJavaにPolygonと呼ばれるクラスがあり、そのように使用されていることを知っています:(三角形)

int valoresX[] = { 100, 150, 200 };
int valoresY[] = { 100, 200, 100 };
int n = valoresX.length;
Polygon city= new Polygon(valoresX,valoresY,n);

しかし、私の「ポリゴン」は「int」ではなく「Double」タイプでなければなりません(簡単な例)

Double valoresX[] = { 1000.10, 150.10, 200.10 };
Double valoresY[] = { 100.10, 200.10, 100.10 };

私のプロジェクトでは、アプレットなどにペイントする必要はありません。ポイントが内側にあるかどうかを計算するだけです。

だから私の質問は:

ポイント(double)がポリゴンの内側にあるかどうかを計算できる、二重の座標を持つポリゴンを作成する方法はありますか?

全てに感謝!!!

シャディ

4

1 に答える 1

26

これはPath2D.Doubleで実行できます:

Path2D path = new Path2D.Double();

path.moveTo(valoresX[0], valoresY[0]);
for(int i = 1; i < valoresX.length; ++i) {
   path.lineTo(valoresX[i], valoresY[i]);
}
path.closePath();

この質問も参照してください。

Java2DでのPolygon2Dの実装

于 2013-03-25T17:04:18.880 に答える