Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Curves.doc
Скачиваний:
51
Добавлен:
01.09.2019
Размер:
4.51 Mб
Скачать

Базисные Функции b-spline: Важные Свойства

Вспомним определение базисных функций B-spline:

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

  1. Ni,p(u) - это многочлен p-й степени от u

  2. Неотрицательность -- Для всех I, p и u, Ni,p(u) неотрицательно

  3. Локальная Поддержка [Local Support] -- Ni,p(u) ненулевой многочлен на [ui,ui+p+1) Это было рассмторено на предыдущей странице.

  4. На любом интервале [ui, ui+1) максимум p+1 базисных функций p степени не равны нулю, а именно: Ni-p,p(u), Ni-p+1,p(u), Ni-p+2,p(u), ... и Ni,p(u)

  5. Деление Единства [Partition of Unity] -- Сумма всех ненулевых базисных функций p степени на интервале [ui, ui+1) равна 1: Предыдущее свойство говорит о том, что Ni-p,p(u), Ni-p+1,p(u), Ni-p+2,p(u), ... и Ni,p(u) не равно нулю на [ui, ui+1). А это свойство указывает на то, что сумма этих p+1 базисных функций равна 1.

  6. Если число узлов равно m+1, степень базисных функций равна p, а количество базисных функций степени p равно n+1, то m = n + p + 1 : Это легко проверить. Пусть Nn,p(u) будет последней базисной функцией p степени. Она ненулевая на [un, un+p+1). Так как это последняя базисная функция, un+p+1 должен быть последним узлом um. Таким образом, имеем un+p+1 = um и n + p + 1 = m. В итоге, если дано m и p, примнимаем n = m - p - 1 и базисные функции p степени будут N0,p(u), N1,p(u), N2,p(u), ... и Nn,p(u).

  7. Базисная функция Ni,p(u) - это кривая, составленная из многочленов p степени с соединительными точками в узлах на [ui, ui+p+1 ) Пример на предыдущей странице хорошо иллюстрирует это свойство. Например, N0,2(u), являющееся ненулевым на [0,3), образовано из трех парабол, построенных [defined] на [0,1), [1,2) и [2,3). Они соединяются в узлах 2 и 3.

  8. В узле множественности k базисная функция Ni,p(u) является Cp-k-непрерывной. Таким образом, увеличение множественности уменьшает уровень непрерывности, а увеличение степени увеличивает его. Вышеуказанная базисная функция второй степени N0,2(u) - C1-непрерывна в узлах 2 и 3, так как это простые узлы (k = 1).

Влияние Множественных УзлоFf

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

  1. Каждый узел множественности k уменьшает ненулевой интервал самое большее k-1 базисных функций. Возьмем Ni,p(u) и Ni+1,p(u). Последнее не равно нулю на [ui, ui+p+1) тогда как первое не равно нулю на [ui+1, ui+p+2). Если сместить ui+p+2 до ui+p+1, они станут двойным узлом. Тогда у Ni,p(u) будет по прежнему p+1 узловых интервалов, на которых она не равна нулю; но число узловых интервалов, на которых Ni+1,p(u) не равно нулю, уменьшается на 1, так как интервал [ui+p+1,ui+p+2) пропадает.

Это наблюение можно легко обобщить. Фактически, не обращая внимания на изменение крайних точек узловых интервалов, создание узла множественности k влияет на k-1 базисных функций. Одна из них теряет один узловой интервал, вторая теряет два, третья - три, и так далее.

Выше показаны базисные функции 5 степени, где левый и правый крайние узлы имеют множественность 6, а все промежуточные узлы - простые (слева в верхнем ряду). Верхний рисунок справа - это результат смещения u5 до u6. Базисные функции, оканчивающиеся в u6, имеют меньше узловых интервалов, на которых они являются ненулевыми. На рисунках в среднем ряду u4, а затем u3 смещаются в u6, делая u6 узлом множественности 4. Нижний рисунок показывает результат после смещения u2 до u6, получаем узел множественности 5.

  1. В каждом внутреннем узле множественности k, количество ненулевых базисных функций не больше p - k + 1, где p - это степень базисных функций. Так как смещение ui-1 в ui растянет базисную функцию, ненулевая часть которой оканчивается в ui-1, до ui, это уменьшит количество ненулевых функций в ui на одну. Точнее, увеличение множественности ui на единицу уменьшает количество ненулевых базисных функций на единицу. Так как самое большее p+1 базисных функций могут быть ненулевыми в ui, то количество ненулевых базисных функций в узле множественности k не больше (p + 1) - k = p - k + 1.

На рисунках выше, так как множественность узла u6 равна 1 (простой узел), 2, 3, 4 и 5, количества ненулевых базисных функций в u6 равны 5, 4, 3, 2 и 1.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]