Расчет касательных для кривых кардинальных сплайнов - PullRequest
3 голосов
/ 09 мая 2011

Я читаю статью о кубической интерполяции Эрмита. В разделе кардинальной кривой сплайна они дают формулу для вычисления касательных в конечных точках, заданную как:

Ti = a * ( Pi+1 - Pi-1 )  

Однако, если у меня есть две точки P1 и P2, то найти T1

T1 = a*(P2-P0).

Мне нужно рассчитать это, но какой должна быть моя точка P0? Точно так же, чтобы найти T2, мне нужно будет знать P3. Кто-нибудь может уточнить это?

1 Ответ

7 голосов
/ 09 мая 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...