2013-03-25 14 views
16

Mam kilka pytań dotyczących wielokątów z punktami typu podwójnego ... Co muszę zrobić, to punkty, utwórz wielokąt, a następnie sprawdź, czy 1 punkt betonu znajduje się wewnątrz wielokąta, czy nie .Wieloboki o podwójnych współrzędnych

więc kwnow że w Javie istnieje klasa o nazwie Polygon i służy tak: (trójkąt)

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

Ale moje „wielokąty” musi być „double” typu, nie „int "(prosty przykład)

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

W moim projekcie I naprawdę nie trzeba go pomalować na aplet lub podobnego, po prostu trzeba obliczyć, czy punkt znajduje się wewnątrz czy nie.

Więc moje pytanie brzmi:

Czy jakikolwiek sposób zrobić z podwójnymi coordenates wielokątów, które pozwalają na calcultate jeżeli punkt (podwójne) znajduje się wewnątrz wielokąta, czy nie?

Dzięki za wszystko !!!

Shudy

Odpowiedz

17

Można to zrobić z 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(); 

Zobacz również takie pytanie:

Implementing Polygon2D in Java 2D

+0

Przede wszystkim podziękowania dla wszystkich, a szybko odpowiedź! Spróbuję go i zobaczę, czy to działa na mój projekt;) Dzięki! Shudy – Shudy

+1

Testowany i działa naprawdę dobrze !!! Wielkie dzięki! – Shudy

Powiązane problemy