Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Базисные Функции B-spline: Определение

Читайте также:
  1. B-spline: Мотивация
  2. HLA - система; классы антигенов, биологические функции, практическое значение HLA-типирования.
  3. I. Определение терминов.
  4. I. Определение экономической эффективности
  5. I.1.1. Определение границ системы.
  6. II закон термодинамики. Характеристические функции системы. Уравнение энергетического баланса системы, его анализ.
  7. IV.Функции герундия в предложении.

Базисные функции Безье использовались в качестве весов. Базисные функции B-spline будут использоваться так же; тем не менее, они гораздо более сложны. Есть два интересных свойства, которые не являются частью базисных функций Безье, а именно: (1) интервал разделяется узлами, и (2) базисные функции не являются ненулевыми на всем интервале. Фактически, каждая базисная функция B-spline является ненулевой на нескольких смежных под-интервалах и, в итоге, базисные функции B-spline являются вполне "локальными".

Пусть U - это последовательность m + 1 неубывающих действительных чисел, u 0 <= u 2 <= u 3 <=... <= um. Числа ui называются узлами, последовательность U - узловым вектором, а полуоткрытый интервал [ ui, ui +1) - i-м узловым диапазоном. Заметьте, так как некоторые ui могут быть равны, то соответствующих узловых диапазонов может не существовать. Если узел ui появляется k раз (i.e., u i = ui +1 =... = ui+k -1), где k > 1, ui называется множественным узлом kмножественности, пишется ui (k). Иначе, если ui появляется лишь однажды, это - простой узел. Если узлы равномерно разделены (т.e. ui +1 - ui постоянно для 0 <= i <= m - 1), узловой вектор или последовательность узлов называется однородной(-ым); иначе, неоднородной.

Узлы можно представить как точки, делящие интервал [ u 0, um ] на узловые интервалы. Все базисные функции B-spline должны иметь область определения на [ u 0, um ]. Таким образом, используем u 0 = 0 и um = 1, чтобы преобразовать интервал в [0,1].

Чтобы описать базисные функции B-spline, нужен еще один параметр, степень этих базисных функций, p. i -я базисная функция B-spline степени p (пишется Ni,p (u)), описывается рекурсивно:

Вышеуказанное уравнение обычно называют рекурсивной формулой Cox - de Boor. Это определение выглядит сложным. Но оно просто для понимания. Если степень равна нулю (т.e., p = 0), эти базисные функции являются скачковыми и это как раз то, о чем говорит первое выражение в формуле. То есть, базисная функция Ni ,0(u) равна 1, если u лежит на i -м узловом интервале [ ui, ui +1). Например, если есть четыре узла u 0 = 0, u 1 = 1, u 2 = 2 и u 3 = 3, узловые интервалы 0, 1 и 2 - это [0,1), [1,2), [2,3) и базисные функции 0 степени - это N 0,0(u) = 1 на [0,1) и 0 в других случаях, N 1,0(u) = 1 на [1,2) и 0 в других случаях, и N 2,0(u) = 1 на [2,3) и 0 в других случаях. Это показано ниже:

Чтобы понять принцип расчета Ni,p (u) для p больше 0, вернемся к треуголной схеме расчета. Все узловые интервалы - в левом (первом) столбце, а все базисные функции нулевой степени - во втором. Это показано на следующей диаграмме.

Чтобы вычислить Ni ,1(u), нужно Ni ,0(u) и Ni +1,0(u). Таким образом, мы можем вычислить N 0,1(u), N 1,1(u), N 2,1(u), N 3,1(u) и так далее. Все эти Ni ,1(u) записываются в третий столбец. Когда будут найдены Ni ,1(u), можно будет вычислить Ni ,2(u) и записать их в четвертый столбец. Продолжаем в том же духе, пока не вычислим все нужные Ni , p (u).

Выше мы нашли N 0,0(u), N 1,0(u) и N 2,0(u) для узлового вектора U = { 0, 1, 2, 3 }. Давайте вычислим N 0,1(u) и N 1,1(u). Чтобы вычислить N 0,1(u), так как i = 0 и p = 1, по определению имеем

N 0,1(u) = (u - u 0) / (u 1 - u 0) N 0,0(u) + (u 2 - u) / (u 2 - u 1) N 1,0(u)

Так как u 0 = 0, u 1 = 1 и u 2 = 2, вышеизложенное преобразуется к виду

N 0,1(u) = u N 0,0(u) + (2 - u) N 1,0(u)

Так как N 0,0(u) не равно нулю на [0,1), а N 1,0(u) не равно нулю на [1,2), когда u лежит на [0,1) (соотв., на [1,2)), только N 0,0(u) (соотв., N 1,0(u)) влияет на [? contributes to] N 0,1(u). Таким образом, когда u в пределах [0,1), N 0,1(u) равно uN 0,0(u) = u, а когда u в пределах [1,2), N 0,1(u) равно (2 - u) N 1,0(u) = (2 - u). Простые вычисления дают N 1,1(u) = u - 1, если u лежит на [1,2), а N 1,1(u) = 3 - u, если u лежит на [2,3). На следующем рисунке черные и красные линии - это соответственно N 0,1(u) и N 1,1(u). Заметьте, что N 0,1(u) (соотв., N 1,1(u)) не равно нулю на [0,1) и [1,2) (соотв., на [1,2) и [2,3)).

Как только будут найдены N 0,1(u) и N 1,1(u), можно вычислить N 0,2(u). Из определения следует:

N 0,2(u) = (u - u 0) / (u 2 - u 0) N 0,1(u) + (u 3 - u) / (u 3 - u 1) N 1,1(u)

Подставляя эти значения узлов, имеем

N 0,2(u) = 0.5 u N 0,1(u) + 0.5 (3 - u) N 1,1(u)

Заметьте, что N 0,1(u) не равно нулю на [0,1) и [1,2), а N 1,1(u) не равно нулю на [1,2) и [2,3). Таким образом, имеем три случая:

  1. u в пределах [0,1):
    В этом случае, только N 0,1(u) влияет на значение N 0,2(u). Так как N 0,1(u) равно [is] u, имеем

N 0,2(u) = 0.5 u 2.

  1. u в пределах [1,2):
    В этом случае, и N 0,1(u), и N 1,1(u) влияют на N 0,2(u). Так как на [1,2), N 0,1(u) = 2 - u и N 1,1(u) = u - 1, имеем

N 0,2(u) = (0.5 u)(2 - u) + 0.5(3 - u)(3 - u) = 0.5(-3 + 6 u - 2 u 2)

  1. u в пределах [2,3):
    В этом случае, только N 1,1(u) влияет на N 0,2(u). Так как N 1,1(u) = 3 - u на [2,3), имеем

N 0,2(u) = 0.5(3 - u)(3 - u) = 0.5(3 - u)2

Если нарисовать отрезок кривой для каждого из трех случаев, то станет видно, что два смежных отрезка кривых соединяются, образуя кривую по узлам. Говоря точнее, отрезки первого и второго случаев соединяются при u = 1, а второго и третьего случаев - при u = 2. Это показано на рисунке ниже. Заметьте, что образованная кривая, изображенная на рисунке, является гладкой. Но в общем случае это не так, если, например, мы имеем дело с множественными узлами.


Дата добавления: 2015-10-29; просмотров: 193 | Нарушение авторских прав


Читайте в этой же книге: Рациональные Кривые | Рациональные Формы Стандартных Кривых | Построение Кривых Безье | Перемещение Контрольных Точек | Нахождение точки на Кривой Безье: Алгоритм De Casteljau's | Рекурсивное Представление | Объединение Двух Кривых Безье с соблюдением C1-Непрерывности | Соотношение Между Производной и Алгоритмом de Casteljau | Разбиение Кривой Безье | Повышение Степени Кривой Безье |
<== предыдущая страница | следующая страница ==>
B-spline: Мотивация| Два Важных Замечания

mybiblioteka.su - 2015-2024 год. (0.011 сек.)