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

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

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

𝒑(t)=(2t3−3t2+1)𝒑k+(t3−2t2+t)(xk+1−xk)𝒎k+(−2t3+3t2)𝒑k+1+(t3−t2)(xk+1−xk)𝒎k+1

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

𝒎k=𝒑k+1−𝒑k2(xk+1−xk)+𝒑k−𝒑k−12(xk−xk−1)

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

𝒎k=(1−c)𝒑k+1−𝒑k−1xk+1−xk−1

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

См. также

Литература

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

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