Кубические сплайны
Рассмотрим задачу проведения гладких кривых по заданным граничным точкам, или задачу интерполяции. Поскольку через две точки можно провести сколь угодно много гладких кривых, то для решения этой задачи необходимо ограничить класс функций, которые будут определять искомую кривую. Математическими сплайнами называют функции, используемые для аппроксимации кривых. Важным их свойством является простота вычислений. На практике часто используют сплайны вида полиномов третьей степени. С их помощью довольно удобно проводить кривые, которые интуитивно соответствуют человеческому субъективному понятию гладкости. Термин “сплайн” происходит от английского spline – что означает гибкую полоску стали, которую применяли чертежники для проведения плавных кривых, например, для построения обводов кораблей или самолетов.
Рассмотрим в начале сплайновую функцию для построения графика функции одной переменной. Пусть на плоскости задана последовательность точек




1)
Функция должна проходить через все заданные точки:


2) Функция должна быть дважды непрерывно дифференцируема, то есть иметь непрерывную вторую производную на всем отрезке

На каждом из отрезков




Рис. 40. Сплайновая функция.
Задача построения полинома сводится к нахождению коэффициентов










Перейдем к более сложному случаю – заданию кривых в трехмерном пространстве. В случае функционального задания кривой





Координаты точек на кривой описываются вектором



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




Будем решать задачу нахождения четверки коэффициентов





Перепишем выражение для



Обозначим вектор строку




Из (*) следует, что







Эта система решается относительно



Здесь







Выпишем в явном виде формулы для вычисления координат точек сплайна. Так как




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

Рис. 41. Параметрический сплайн в форме Эрмита.
Вытянутость кривой вправо обеспечивается тем, что

Рассмотрим форму Безье, которая отличается от формы Эрмита способом задания граничных условий, а именно, вместо векторов







Рис. 42. Параметрический сплайн в форме Безье.
Переход от формы Эрмита к форме Безье осуществляется преобразованием:

где



Полезным свойством сплайнов в форме Безье является то что кривая всегда лежит внутри выпуклой оболочки, образованной четырехугольником

Заметим, что матрица вида
