Экстраполировать из триангуляции

Предположим, у нас есть пять вершин:

X = [0 1;
     2 1;
     4 1;
     1 0;
     3 0];

триангуляция:

T = [1 4 2;
     4 5 2;
     5 3 2];

и значения функции, определенные на вершинах:

Fx = [1;
      2;
      3;
      4;
     -5];

тогда мы можем легко вычислить значение функции для любой точки внутри треугольника, используя барицентрические координаты. Для точки P = [1 .5], лежащей в первом треугольнике, барицентрические координаты равны B = [.25 .5 .25], поэтому функция оценивается как Fxi = 1/4 + 4/2 + 2/4 = 2.75.

Однако мне трудно понять, как можно экстраполировать эту поверхность. Мы могли бы найти ближайший треугольник и экстраполировать его. Проблема в том, что это приводит к разрывной функции. Рассмотрим, например. точка P = [2 2]. Согласно треугольнику 1 его значение будет равно -0,5, тогда как согласно треугольнику 3 его значение будет равно 9,5.

Существует ли «стандартный» или общепринятый подход к экстраполяции кусочно-линейных функций? Любые указатели на существующие материалы также приветствуются.


person Paul    schedule 20.08.2016    source источник


Ответы (2)


Возможно, это метод Шепарда:

https://en.wikipedia.org/wiki/Inverse_distance_weighting

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

Выбор p=2 обычно дает достойные результаты.

person datahaki    schedule 23.08.2016
comment
Этот метод не экстраполирует кусочно-линейную функцию, а вместо этого создает собственную функцию, не ограниченную выпуклой оболочкой. Второй рисунок в связанной статье Википедии показывает, насколько интерполяция сильно отличается от того, что мы ожидаем от кусочно-линейной функции. Однако, поскольку этот ответ действительно указывает на существующий материал и в отсутствие какого-либо другого ответа, я собираюсь присудить ему награду. Это действительно помогло мне найти больше информации по этой теме. - person Paul; 30.08.2016
comment
@ Пол: ты прав. Я заметил слабость/недостаток своего ответа только после его публикации. Вы искали метод, который сохраняет функцию линейной интерполяции внутри триангуляции и является непрерывным/гладким за его пределами, то есть вне триангуляции. После публикации своего ответа я продолжил искать существующий метод на веб-сайте Кая Хорманна в USI, Скотта Шефера, штат Техас, и Джо Уоррена в Райсе. Но ничего в наличии не нашел. Я думаю, вам нужно «изобрести» это самостоятельно, смешивая кусочно-линейные функции, которые являются «ближайшими». Спасибо за щедрую оценку. - person datahaki; 01.09.2016

Еще одна техника, которую следует искать, - это «барицентрические координаты для невыпуклых многоугольников».

В следующей публикации показано (стр. 8 и т. д.), как весовые функции ведут себя вне полигонов.

https://www.in.tu-clausthal.de/fileadmin/homes/techreports/ifi0505hormann.pdf

Однако даже это решение не ведет себя кусочно-линейно на заданной вами триангуляции.

person datahaki    schedule 02.09.2016