Во первых тепловая карта, в случаях не очень гладкой функции (построена по результату достаточно 'зашумленных' экспериментов) не слишком 'наглядна' (а пока все же глазами приходится глядеть), выглядит как то так:
В microsoft excell есть красивая реализация 3d и главное ее 2d вариации - поверхностная диаграмма:
Но каких либо доступных возможностей по ее кастомизации нет, т.е как минимум нельзя определить свою цветовую гамму и уровни (чтобы они были общие для нескольких диаграмм), плюс использовать excell не очень удобно, хотелось бы вообще command line утилиты или библиотеку.
Я приблизительно представляю, каким алгоритмом работает excel с данными диаграммами (делим ячейку на 2 трехугольника, градиент берем на основе значений в вершинах, если на ребрах встречаются граничные значения из легенды, делим их отрезком, концы которых равны этим граничным значениям (тогда будут видны контуры).
Мало того, строить полную матрицу результатов очень накладно (неэффективно по ресурсам), так например для некоторых значений (областей на тепловой карте) количество точек сильно больше (в местах сильных изменений) но классическая тепловая карта не позволяет их использовать, так как ей нужно чтобы точки были равномерно расположены друг от друга (можно нагенирировать конечно таблицу с ячейками для точек, расположенных далеко друг от друга, но это сильно не эффективно при отображении, и не повышает наглядности, даже экселевские поверхности перестают 'работать').
Существуют ли какие то готовые инструменты/алгоритмы, позволяющие по набору точек (координаты x,y и уровень z) строить триангуляцию (вершины - точки) и раскрашивать треугольники соответственно?
В туториалах по шейдерам oppengl первый же пример раскрашивает их как надо, поэтому с точки зрения реализации я не думаю что будут проблемы (вырезать слишком близкие точки, построить триангуляцию того же дилонэ и отрисовать opengl шейдерами), просто подумал,
вдруг уже есть готовый инструмент.
Смотрел gnuplot моя задача там решается не очень тривиально, возможно существуют какие то библиотеки по javascript html5 диаграммам, там встречаются очень функциональные и красивые, в моем случае подойдет, все равно интерфейс работы с данными в большинстве своем работает в браузере, даже хорошо, если генерация будет в нем.