Многоугольники с двойными координатами
У меня есть некоторые вопросы о полигонах с точками двойного типа...
То, что мне нужно сделать, - это указать точки, создать многоугольник, а затем проверить, находится ли 1 конкретная точка внутри полигона или нет.
поэтому я нахожу, что в Java есть класс под названием Polygon и используется так: (треугольник)
int valoresX[] = { 100, 150, 200 };
int valoresY[] = { 100, 200, 100 };
int n = valoresX.length;
Polygon city= new Polygon(valoresX,valoresY,n);
Но мои "полигоны" должны быть типа "Double", а не "int" (простой пример)
Double valoresX[] = { 1000.10, 150.10, 200.10 };
Double valoresY[] = { 100.10, 200.10, 100.10 };
В моем проекте мне действительно не нужно рисовать его на апплете или подобном, мне просто нужно вычислить, находится ли точка внутри или нет.
Итак, мой вопрос:
Можно ли использовать многоугольники с двойными координатами, которые позволяют вычислять, если точка (double) находится внутри многоугольника или нет?
Спасибо всем!!!
Shudy
Ответы
Ответ 1
Вы можете сделать это с помощью 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();
Смотрите также этот вопрос:
Внедрение Polygon2D в Java 2D