Как нарисовать изолинии по точкам на Java?

129
28 мая 2019, 22:10

Есть массив точек (X, Y, Высота(Z)), мне нужно изобразить изолинии по этим точкам, типа вот такого:

Есть очень много разных алгоритмов, по ним не совсем понимаю, подскажите, пожалуйста, какие именно операции нужно проделать, чтобы получить изолинии в окне на Java?

У меня есть код триангуляции Делоне, есть реализация алгоритма марширующих квадратов, но я не понимаю, как по моим точкам прорисовать изолинии с помощью данных алгоритмов.

Answer 1

После триангуляции у Вас есть набор плоских наклонных треугольников. Заданный уровень (горизонтальная плоскость) может -

  • проходить вне (выше или ниже) треугольника,
  • пересекать треугольник (в одной точке - вершине, по отрезку внутри треугольника, по стороне треугольника),
  • полностью содержать треугольник (если он горизонтальный и лежит на данном уровне).

После анализа каждого уровня для каждого треугольника, у Вас будут отрезки для каждого уровня, которые надо соединить в ломаные или сразу рисовать, если Вас интересует только отрисовка.

Изолиния - это линия (возможно, набор линий - замкнутых или нет) пересечения поверхности, заданной Вашим набором точек, и горизонтальной плоскости, проходящей на определенной высоте (уровне). Высоты, соответствующие изолиниям разных уровней, задаются исходя из физического смысла задачи. Если речь идет о изолиниях ландшафта, то они могут идти через каждый метр, пять, десять и т.д., в зависимости от масштаба карты.

READ ALSO
Вызов хранимой процедуры в Java

Вызов хранимой процедуры в Java

Есть процедура в БД Oracle:

140
O jsoup и magnet-ссылках

O jsoup и magnet-ссылках

Программа на Java вытаскивает magnet ссылки со страницы определенного торрент-трекера

100
Создание валидных файлов .class из Java кода

Создание валидных файлов .class из Java кода

Есть интерес в создании откомпилированного класс-файла прямо из кода

132
Java HashSet Points

Java HashSet Points

Всем приветТакой вопрос связанный по Jav'е, я ее пока еще изучаю

101