Интерполяция в 2D плоскости с треугольной тесселяцией; улучшить барицентри c с 3 контрольными точками - PullRequest
0 голосов
/ 11 января 2020

Благодаря дорогостоящему моделированию я могу рассчитать значение функции в нескольких отдельных точках на плоскости. Моя задача сейчас - интерполировать, чтобы найти значения во всех точках сетки. (Это симуляция листа резины, с листом мозаики с треугольной сеткой.)

Теперь я видел на сайте несколько похожих вопросов о том, как интерполировать внутри треугольника, и кажется, что консенсус использовать барицентри c координаты . Я реализовал это, и результат показан слева / сверху. Для сравнения, результат, использующий обратную величину расстояния для получения весов, привел к изображению справа / снизу.

enter image description here

(я не представлял явно узлы, но из второго рисунка довольно очевидно, где они находятся.)

Теперь, хотя результат с координатами барицентри c неплох, особенно. по сравнению с другим результатом я не совсем доволен. Обратите внимание, как треугольная / гексагональная структура очень хорошо видна, например, яркие линии, исходящие от желтого пятна.

Мой вопрос: есть ли лучшая весовая функция?

Я настоятельно полагаю, что нет ничего лучше, если принять во внимание только 3 заданные контрольные точки, но мне было интересно, есть ли весовая функция, которая использует 6 ближайших контрольных точек, поэтому AF вместо A- C на этом рисунке:

enter image description here

Хотя на сайте википедии есть раздел «Обобщенные» координаты барицентри c, я не могу сказать, что это то, что я понимаю, как применять. Я также рассмотрел интерполяцию bicubi c, но это возможно только на квадратной или прямоугольной angular сетке.

Большое спасибо!

...