B-сплайн

Поделись знанием:
(перенаправлено с «B-spline»)
Перейти к: навигация, поиск

B-сплайн — сплайн-функция, имеющая наименьший носитель для заданной степени, порядка гладкости и разбиения области определения. Фундаментальная теорема устанавливает, что любая сплайн-функция для заданной степени, гладкости и области определения может быть представлена как линейная комбинация B-сплайнов той же степени и гладкости на той же области определения.[1] Термин B-сплайн был введён И. Шёнбергом и является сокращением от словосочетания «базисный сплайн».[2] B-сплайны могут быть вычислены с помощью алгоритма де Бора, обладающего устойчивостью.

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





Определение

Когда узлы равноудалены друг от друга, говорят, что B-сплайн является однородным, в противном случае его называют неоднородным

Замечания

Когда количество узлов совпадает со степенью сплайна, B-сплайн вырождается в кривую Безье. Форма базисной функции определяется расположением узлов. Масштабирование или параллельный перенос базисного вектора не влияет на базисную функцию.

Сплайн содержится в выпуклой оболочке его опорных точек.

Базисный сплайн степени n

<math>b_{i,n}(t)\,\;</math>

не обращается в нуль только на промежутке [ti, ti+n], то есть

<math>b_{i,n}(t) = \left\{\begin{matrix}

>0 & \mathrm{if} \quad t_{i} \le t < t_{i+n} \\ 0 & \mathrm{otherwise} \end{matrix} \right. </math> Другими словами, изменение одной опорной точки влияет только на локальное поведение кривой, а не на глобальное, как в случае кривых Безье.

Базисная функция может быть получена из полинома Бернштейна

См. также

Напишите отзыв о статье "B-сплайн"

Ссылки

  • [www.ibiblio.org/e-notes/Splines/Basis.htm Interactive java applets for B-splines]
  • [mathworld.wolfram.com/B-Spline.html B-spline on MathWorld]
  • [math.fullerton.edu/mathews/n2003/B-SplinesMod.html Module B-Splines by John H. Mathews]
  • [www.qwerkop.de/qwerkop-projects-bspline.php BSpline Java Applet by Stefan Beck (with C++ Source)]

Примечания

  1. Carl de Boor. A Practical Guide to Splines. — Springer-Verlag, 1978. — P. 113-114.
  2. Carl de Boor. A Practical Guide to Splines. — Springer-Verlag, 1978. — P. 114-115.

Литература