2013-03-25 126 views
16

我對具有雙重類型的點的多邊形有一些疑問... 我要做什麼,給定點,創建多邊形,然後測試1個具體點是否在多邊形內。具有雙座標的多邊形

所以我kwnow在Java中有一類,稱爲多邊形,並且使用這樣的:(三角形)

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

但我的「多邊形」必須是「雙」型,而不是「爲int 「(簡單的例子)

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

在我的項目我真的需要把它漆成上的小應用程序或類似的,我只需要計算,如果該點在內部與否。

所以我的問題是:

是沒有辦法做到雙coordenates多邊形,即允許calcultate如果點(雙)是多邊形內或沒有?

謝謝大家!

Shudy

回答

17

你可以用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(); 

另見這個問題:

Implementing Polygon2D in Java 2D

+0

首先,感謝所有,和快速的答案! I'mg會嘗試它,看看它是否適用於我的項目;) 謝謝! Shudy – Shudy 2013-03-25 17:23:03

+1

經過測試,功能非常好! 非常感謝! – Shudy 2013-03-25 17:37:55