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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

\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}

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

\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})}

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

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

В этой формуле параметр c изменяется от 0 до 1. В соответствии с этой формулой производная в середине отрезка равняется разделенной первой разности на всем отрезке, умноженной на некий коэффициент. В случае с = 0 формула называется Catmull–Rom сплайн.

См. также[править | править вики-текст]

Литература[править | править вики-текст]

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

Ссылки[править | править вики-текст]