2013-03-25 50 views
16

Tôi có một số câu hỏi về Đa giác có các điểm Kiểu kép ... Những gì tôi phải làm, được cho điểm, tạo đa giác, và sau đó, kiểm tra nếu 1 điểm cụ thể nằm trong đa giác hay không .Đa giác với các tọa độ kép

vì vậy tôi kwnow rằng trong Java có một lớp, được gọi là đa giác, và được sử dụng như thế: (tam giác)

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

Nhưng "đa giác" của tôi có được của "đôi" loại, không phải "int "(ví dụ dễ dàng)

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

Trong dự án của tôi tôi thực sự không cần phải vẽ nó trên một applet hoặc tương tự, tôi chỉ cần tính toán nếu điểm bên trong hay không.

Vì vậy, câu hỏi của tôi là:

là cách nào để làm đa giác với coordenates đôi, cho phép để calcultate nếu điểm (double) là bên trong đa giác hay không?

Cảm ơn tất cả !!!

Shudy

Trả lời

17

Bạn có thể làm điều này với 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(); 

Xem thêm những câu hỏi này:

Implementing Polygon2D in Java 2D

+0

Trước hết, cảm ơn vì tất cả, và câu trả lời nhanh chóng! Tôi sẽ thử nó, và xem nó có hiệu quả với dự án của tôi không;) Cảm ơn! Shudy – Shudy

+1

Đã kiểm tra và hoạt động thực sự tốt !!! Cảm ơn rất nhiều! – Shudy

Các vấn đề liên quan