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

Материал из testwiki
Перейти к навигации Перейти к поиску

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

𝒑(t)=(2t33t2+1)𝒑k+(t32t2+t)(xk+1xk)𝒎k+(2t3+3t2)𝒑k+1+(t3t2)(xk+1xk)𝒎k+1

В вышеприведенной формуле значения производных относятся к независимой переменной t. Для их вычисления необходимо исходные значения производных умножить на длины интервалов xk+1xk. Как следует из формулы, значение интерполируемой функции вычислятся с помощью четырёх кубических полиномов h00(t),h10(t),h01(t),h11(t). Эти полиномы отнюдь не являются классическими полиномами Эрмита, как об этом сказано в англоязычной версии статьи. На практике обычно известны лишь значения функции в узловых точках, но не значения первой производной. Для вычисления значений первой производной используются различные способы. Простейшим является вычисление среднего арифметического значения разделенных первых разностей на двух соседних интервалах.

𝒎k=𝒑k+1𝒑k2(xk+1xk)+𝒑k𝒑k12(xkxk1)

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

𝒎k=(1c)𝒑k+1𝒑k1xk+1xk1

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

См. также

Литература

Шаблон:Книга

Шаблон:Cg-stub Шаблон:Math-stub Шаблон:Нет иллюстрации Шаблон:Кривые