Введение

Математическая функция, определяемая по частям полиномами, инструмент для черчения.

В математике сплайн – это функция, определяемая по частям полиномами. При решении задач интерполяции сплайн-интерполяция часто предпочтительнее полиномиальной интерполяции, поскольку она дает сопоставимые результаты, даже при использовании полиномов низкой степени, избегая явления Рунге при высоких степенях. В областях компьютерных наук, таких как автоматизированное проектирование и компьютерная графика, термин "сплайн" чаще относится к кусочно-полиномиальной (параметрической) кривой. Сплайны популярны в этих областях благодаря простоте их построения, легкости и точности вычислений, а также способности аппроксимировать сложные формы посредством подгонки кривых и интерактивного проектирования. Термин "сплайн" происходит от гибких шаблонов, используемых судостроителями и чертежниками для рисования плавных линий.

Введение

Термин "spline" используется для обозначения широкого класса функций, применяемых в задачах интерполяции и/или сглаживания данных. Данные могут быть как одномерными, так и многомерными. Интерполяционные сплайны обычно определяются как минимизаторы подходящих показателей шероховатости (например, интегрального квадрата кривизны) при соблюдении условий интерполяции. Сглаживающие сплайны можно рассматривать как обобщение интерполяционных сплайнов, где функции определяются путем минимизации взвешенной комбинации средней квадратичной ошибки аппроксимации по наблюдаемым данным и показателя шероховатости. Для ряда значимых определений показателя шероховатости, сплайны оказываются конечномерными по своей природе, что является основной причиной их полезности в вычислениях и представлении. В остальной части этого раздела мы сосредоточимся исключительно на одномерных полиномиальных сплайнах и будем использовать термин "spline" в этом узком смысле.

История

До появления компьютеров числовые вычисления производились вручную. Хотя использовались кусочно-определенные функции, такие как функция знака или функция ступенчатого роста, полиномы обычно предпочтительнее, поскольку с ними было легче работать. С появлением компьютеров сплайны приобрели важное значение. Они были впервые использованы в качестве замены полиномам при интерполяции, а затем как инструмент для построения гладких и гибких форм в компьютерной графике. Общепринято считать, что первое математическое упоминание о сплайнах содержится в статье Шенберга 1946 года, которая, вероятно, является первым местом, где слово "сплайн" используется в связи с гладким кусочно-полиномиальным приближением. Однако истоки этих идей лежат в авиационной и судостроительной промышленности. В предисловии к (Bartels et al., 1987) Робин Форрест описывает "лофтинг" – технику, использовавшуюся в британской авиационной промышленности во время Второй мировой войны для создания шаблонов для самолетов путем пропускания тонких деревянных планок (называемых "splines") через точки, размеченные на полу большого конструкторского цеха, технику, заимствованную из проектирования корпусов кораблей. На протяжении многих лет в судостроении практиковалось использование моделей для проектирования в малом масштабе. Успешный проект затем наносился на миллиметровую бумагу, а ключевые точки этого проекта переносились на миллиметровую бумагу большего формата в натуральную величину. Тонкие деревянные планки обеспечивали интерполяцию ключевых точек в плавные кривые. Эти планки фиксировались в дискретных точках (Форрест называл их "утками", Шенберг использовал "собаками" или "крысами"), а между этими точками принимали форму с минимальной энергией деформации. По словам Форреста, одним из возможных стимулов для создания математической модели этого процесса была потенциальная потеря критически важных компонентов конструкции целого самолета в случае попадания вражеской бомбы в конструкторский цех. Это привело к разработке "конического лофтинга", который использовал конические сечения для моделирования положения кривой между "утками". Конический лофтинг был заменен тем, что мы сейчас называем сплайнами, в начале 1960-х годов благодаря работам Дж. С. Фергюсона в Boeing и (несколько позже) М. А. Сабина в British Aircraft Corporation. Слово "spline" изначально было диалектным словом, используемым в Восточной Англии. Использование сплайнов для моделирования кузовов автомобилей, по-видимому, имеет несколько независимых истоков. Авторами работ считаются де Кастельжо в Citroën, Пьер Безье в Renault и Биркгофф, Гарабедян и де Бур в General Motors (см. Birkhoff and de Boor, 1965), все работы выполнялись в начале 1960-х или конце 1950-х годов. По крайней мере одна работа де Кастельжо была опубликована, но не получила широкой известности, в 1959 году. Работа де Бура в General Motors привела к публикации ряда статей в начале 1960-х годов, включая некоторые из основополагающих работ по B-сплайнам. Работа также велась в Pratt & Whitney Aircraft, где работали два автора (Ahlberg et al., 1967) – первой книги, посвященной сплайнам, – и Федор Тейльхаймер в David Taylor Model Basin. Подробное описание работы в General Motors можно найти в (Birkhoff, 1990) и (Young, 1997). Дэвис (1997) обобщает некоторые из этих материалов.