Введение
Сплайн-функция
В математической области численного анализа, B-сплайн или базисный сплайн — это сплайн-функция, имеющая минимальную поддержку относительно заданной степени, гладкости и разбиения области определения. Любую сплайн-функцию заданной степени можно представить в виде линейной комбинации B-сплайнов той же степени. Кардинальные B-сплайны имеют узлы, равноудаленные друг от друга. B-сплайны могут использоваться для аппроксимации кривых и численного дифференцирования экспериментальных данных. В системах автоматизированного проектирования и компьютерной графике сплайн-функции строятся как линейные комбинации B-сплайнов с набором управляющих точек.
Введение
Термин "B-сплайн" был введен Исааком Якобом Шенбергом в 1978 году и является сокращением от "базисный сплайн". Сплайн-функция порядка *k* – это кусочно-полиномиальная функция степени *k-1*. Точки, в которых соединяются отдельные участки, называются узлами. Ключевым свойством сплайн-функций является то, что они и их производные могут быть непрерывными, в зависимости от кратности узлов. B-сплайны порядка *k* являются базисными функциями для сплайн-функций того же порядка, определенных на тех же узлах, что означает, что любую сплайн-функцию можно представить в виде линейной комбинации B-сплайнов, и для каждой сплайн-функции существует единственная такая комбинация.
П-сплин
Термин P-сплайн означает "штрафуемый B-сплайн". Он относится к использованию B-сплайн представления, где коэффициенты определяются частично данными, к которым производится аппроксимация, и частично дополнительной функцией штрафа, направленной на обеспечение гладкости для предотвращения переобучения. Двумерные и многомерные P-сплайн аппроксимации данных могут использовать факториальное произведение матриц для минимизации вычислительных операций.
Отношение к кусочному/композитному Безиеру
Кривая Безие также является полиномиальной кривой, определяемой с помощью рекурсии из кривых более низкой степени того же класса и кодируемой с точки зрения контрольных точек, но ключевое различие заключается в том, что все слагаемые в рекурсии для сегмента кривой Безие имеют одинаковую область определения (обычно [0, 1]), в то время как области определения двух слагаемых в рекурсии B-сплайна различны (крайние подинтервалы не совпадают). Это означает, что кривая Безие степени *n*, заданная *n+1* контрольными точками, состоит примерно из *n* в основном независимых сегментов, в то время как B-сплайн с теми же параметрами плавно переходит от подинтервала к подинтервалу. Чтобы получить сопоставимый результат с кривой Безие, необходимо наложить условие гладкости на переходы между сегментами, что приведет к появлению некоторой формы сплайна Безие (для которого многие контрольные точки будут определяться требованием гладкости). Кусочная/композитная кривая Безие – это последовательность кривых Безие, соединенных с обеспечением хотя бы C0-непрерывности (конечная точка одной кривой совпадает с начальной точкой следующей кривой). В зависимости от области применения могут быть добавлены дополнительные требования к гладкости (например, C1 или C2-непрерывность). C1-непрерывные кривые имеют идентичные касательные в точке соединения (где две кривые встречаются). C2-непрерывные кривые имеют идентичную кривизну в точке соединения.
Устройство по кривой
Обычно при аппроксимации кривой набор точек данных подгоняется под кривую, заданную некоторой математической функцией. Например, часто используемые методы аппроксимации используют полином или набор экспоненциальных функций. Если нет теоретического обоснования для выбора аппроксимирующей функции, кривая может быть подобрана сплайн-функцией, состоящей из суммы B-сплайнов, с использованием метода наименьших квадратов. Таким образом, целевая функция для минимизации методом наименьших квадратов для сплайн-функции степени k имеет вид:
где W(x) – вес, а y(x) – значение данных в точке x. Коэффициенты – параметры, которые необходимо определить. Значения узлов могут быть фиксированными или рассматриваться как параметры. Основная сложность при применении этого метода заключается в определении количества узлов и их расположения. Де Бур предлагает различные стратегии для решения этой проблемы. Например, расстояние между узлами уменьшается пропорционально кривизне (второй производной) данных. Были опубликованы несколько работ, посвященных применению этого метода. Например, исследовалось использование B-сплайнов для аппроксимации одиночных лоренцовых и гауссовых кривых. Были вычислены оптимальные сплайн-функции степеней от 3 до 7 включительно, основанные на симметричном расположении 5, 6 и 7 узлов, и метод был применен для сглаживания и дифференцирования спектроскопических кривых. В сопоставимом исследовании двухмерная версия фильтрации Савицкого-Голея и метод сплайнов показали лучшие результаты, чем скользящее среднее или фильтрация Чебышева.