Русская Википедия:B-сплайн
B-сплайн — сплайн-функция, имеющая наименьший носитель для заданной степени, порядка гладкости и разбиения области определения. Фундаментальная теорема устанавливает, что любая сплайн-функция для заданной степени, гладкости и области определения может быть представлена как линейная комбинация B-сплайнов той же степени и гладкости на той же области определения.[1] Термин B-сплайн был введён И. Шёнбергом и является сокращением от словосочетания «базисный сплайн».[2] B-сплайны могут быть вычислены с помощью алгоритма де Бура, обладающего устойчивостью.
В системах автоматизированного проектирования и компьютерной графике термин B-сплайн часто описывает сплайн-кривую, которая задана сплайн-функциями, выраженными линейными комбинациями B-сплайнов.
Определение
Когда узлы равноудалены друг от друга, говорят, что B-сплайн является однородным, в противном случае его называют неоднородным
Замечания
Когда количество узлов совпадает со степенью сплайна, B-сплайн вырождается в кривую Безье. Форма базисной функции определяется расположением узлов. Масштабирование или параллельный перенос базисного вектора не влияет на базисную функцию.
Сплайн содержится в выпуклой оболочке его опорных точек.
Базисный сплайн степени n
- <math>b_{i,n}(t)\,\;</math>
не обращается в нуль только на промежутке [ti, ti+n+1], то есть
- <math>b_{i,n}(t) = \left\{\begin{matrix}
>0 & \mathrm{if} \quad t_{i} \le t < t_{i+n+1} \\ 0 & \mathrm{otherwise} \end{matrix} \right. </math> Другими словами, изменение одной опорной точки влияет только на локальное поведение кривой, а не на глобальное, как в случае кривых Безье.
Базисная функция может быть получена из полинома Бернштейна
P-сплайн
P-сплайн является модификацией B-сплайна и отличается использованием штрафной функции. Её введение позволяет использовать B-сплайновое сглаживание с весовыми коэффициентами для подгонки кривой в сочетании с дополнительным повышением гладкости и исключением переобучения на основе штрафной функции[3].
См. также
Ссылки
- Interactive java applets for B-splines
- B-spline on MathWorld
- Module B-Splines by John H. Mathews
- BSpline Java Applet by Stefan Beck (with C++ Source) Шаблон:Wayback
Примечания
Литература
- Шаблон:Книга
- Книга:Корнейчук Н.П., Бабенко В.Ф., Лигун А.А.: Экстремальные свойства полиномов и сплайнов
- ↑ Шаблон:Книга
- ↑ Шаблон:Книга
- ↑ Eilers, P.H.C. and Marx, B.D. (1996). Flexible smoothing with B-splines and penalties (with comments and rejoinder). Statistical Science 11(2): 89-121.
Шаблон:Выбор языка Шаблон:Math-stub Шаблон:Кривые