Я пытаюсь найти несколько Java lib, пример кода (или отправную точку), чтобы помочь мне разобраться, как я могу интерполировать список из 2d точек с весом для создания интерполяции с помощью кривые уровня.
Googling Я выясняю, что существует несколько доступных алгоритмов, и я нашел объяснения с интересным контентом. Первый алгоритм, который я хочу попробовать, это интерполяция Inverse Distance Weighted.
Но со всей этой информацией у меня есть некоторые основные сомнения:
-
Чтобы создать одно изображение, как на картинке ниже, мне нужно сделать матрицу пикселей (с весом), интерполировать данные, группировать пиксели вместе (по диапазону цветов), а затем присоединить точки, нарисовать кривые и поставить значения ссылочного текста, такие как this?
-
Если мне нужно сделать эту матрицу пикселей, это будет очень дорого для гигантской интерполяции, так что я могу сделать меньше очков и использовать сплайны для объединения, чтобы создать уровни цвета?
Пример данных:
+-------------------+
| X | Y | WEIGHT|
+-------------------+
| 2 | 5 | 30 |
| 7 | 3 | 25 |
| 1 | 1 | 10 |
| 5 | 6 | 45 |
| 7 | 9 | 15 |
+-------------------+
Примеры правил:
- Значение между 00-10: синий
- Значение между 10-20: зеленый
- Значение между 20-30: Желтый
- Значение между 30-40: красный
Примеры результатов:
Данные примера, правила и результаты несовместимы, являются случайными примерами для объяснения моей проблемы.
Вот мой последний тестовый класс: http://pastebin.com/nD6MT8eS