2013-03-25 3 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); 

Но мои «многоугольники» должен быть типа «Double», а не «ИНТ "(простой пример)

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

+1

Протестировано, и работает очень хорошо !!! Спасибо большое! – Shudy

Смежные вопросы