Сплайн Эрмита

Поделись знанием:
Перейти к: навигация, поиск

Кубический эрмитов сплайнсплайн, построенный из кубических полиномов с использованием эрмитовой интерполяции, в соответствии с которой интерполируемая функция задается не только своими значениями в n точках, но и её первыми производными. Для заданной интерполяционной сетки <math>x_k</math> для <math>k=1,...,n</math>, и заданного значения независимой переменной x вычисление функции проводится в соответствующем интервале <math>(x_k, x_{k+1})</math> с известными граничными значениями функции p и её производной m. Для упрощения вычислений делается замена независимой переменной x на независимую переменную t по формуле <math>t = (x-x_k)/(x_{k+1}-x_k)</math>. В результате такой замены левая граница интервала становится равной 0, а правая 1. Кубический полином, служащий для вычисления интерполируемой функции в соответствующем интервале имеет вид:

<math>\boldsymbol{p}(t) = (2t^3-3t^2+1)\boldsymbol{p}_k + (t^3-2t^2+t)(x_{k+1}-x_k)\boldsymbol{m}_k + (-2t^3+3t^2)\boldsymbol{p}_{k+1} +(t^3-t^2)(x_{k+1}-x_k)\boldsymbol{m}_{k+1}</math>

В вышеприведенной формуле значения производных относятся к независимой переменной t. Для их вычисления необходимо исходные значения производных умножить на длины интервалов <math>x_{k+1}-x_{k}</math>. Как следует из формулы, значение интерполируемой функции вычислятся с помощью четырех кубических полиномов <math> h_{00}(t),h_{10}(t),h_{01}(t),h_{11}(t)</math>. Эти полиномы отнюдь не являются классическими полиномами Эрмита, как об этом сказано в англоязычной версии статьи. На практике обычно известны лишь значения функции в узловых точках, но не значения первой производной. Для вычисления значений первой производной используются различные способы. Простейшим является вычисление среднего арифметического значения разделенных первых разностей на двух соседних интервалах.

<math>\boldsymbol{m}_k = \frac{\boldsymbol{p}_{k+1}-\boldsymbol{p}_{k}}{2(t_{k+1}-t_{k})} + \frac{\boldsymbol{p}_{k}-\boldsymbol{p}_{k-1}}{2(t_{k}-t_{k-1})}</math>

В так называемом кардинальном сплайне используется формула

<math> \boldsymbol{m}_k = (1-c)\frac{\boldsymbol{p}_{k+1}-\boldsymbol{p}_{k-1}}{t_{k+1}-t_{k-1}}</math>

В этой формуле параметр c изменяется от 0 до 1. В соответствии с этой формулой производная в середине отрезка равняется разделённой первой разности на всем отрезке, умноженной на некий коэффициент. В случае с = 0 формула называется сплайном Катмалла-Рома (базовым сплайном).



См. также

Напишите отзыв о статье "Сплайн Эрмита"

Литература

Роджерс Д., Адамс Дж. Математические основы машинной графики. — М.: Мир, 2001. — 604 с. — ISBN 5-03-002143-4.

Ссылки