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

Множественные Узлы

Если узловой вектор содержит множественные узлы, мы сталкиваемся с ситуацией 0/0, как будет видно позже. Таким образом, принимаем 0/0 равным 0. К счастью, это только для вычислений вручную. Для компьютерного представления существует эффективный алгоритм без такой проблемы. Кроме того, если ui - узел множественности k (т.e., ui = ui +1 =... = ui+k -1), то узловые интервалы [ ui, ui +1), [ ui +1, ui +2),..., [ ui+k -2, ui+k -1) не существуют, и в итоге Ni ,0(u), Ni +1,0(u),..., Ni+k -1,0(u) являются нулевыми функциями.

Возьмем узловой вектор U = { 0, 0, 0, 0.3, 0.5, 0.5, 0.6, 1, 1, 1 }. Таким образом, 0 и 1 множественности 3 (т.e., 0(3) и 1(3)), а 0.5 множественности 2 (т.e., 0.5(2)). Отсюда, m = 9 и значения узлов таковы:

u 0 u 1 u 2 u 3 u 4 u 5 u 6 u 7 u 8 u 9
      0.3 0.5 0.5 0.6      

Вычислим Ni ,0(u). Заметьте, так как m = 9, а p = 0 (базисные функции 0 степени), получаем n = m - p - 1 = 8. Как видно из таблицы ниже, есть только четыре ненулевых базисных функции: N 2,0(u), N 3,0(u), N 5,0(u) и N 6,0(u).

Базисная Функция Границы Уравнение Комментарии
N 0,0(u) все u   так как [ u 0, u 1) = [0,0) не существует
N 1,0(u) все u   так как [ u 1, u 2) = [0,0) не существует
N 2,0(u) [0, 0.3)    
N 3,0(u) [0.3, 0.5)    
N 4,0(u) все u   так как [ u 4, u 5) = [0.5,0.5) не существует
N 5,0(u) [0.5, 0.6)    
N 6,0(u) [0.6, 1)    
N 7,0(u) все u   так как [ u 7, u 8) = [1,1) не существует
N 8,0(u) все u   так как [ u 8, u 9) = [1,1) не существует

Теперь перейдем к базисным функциям степени 1. Так как p равно 1, то n = m - p - 1 = 7. Следующая таблица показывает результат:

Базисная Функция Границы Уравнение
N 0,1(u) все u  
N 1,1(u) [0, 0.3) 1 - (10/3) u
N 2,1(u) [0, 0.3) (10/3) u
[0.3, 0.5) 2.5(1 - 2 u)
N 3,1(u) [0.3, 0.5) 5 u - 1.5
N 4,1(u) [0.5, 0.6) 6 - 10 u
N 5,1(u) [0.5, 0.6) 10 u - 5
[0.6, 1) 2.5(1 - u)
N 6,1(u) [0.6, 1) 2.5 u - 1.5
N 7,1(u) все u  

Следующий рисунок показывает графики этих базисных функций.

Рассмотрим конкретные вычисления, скажем, N 1,1(u). Это рассчитывается по следующему выражению:

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

Подставляя u 1 = u 2 = 0 и u 3 = 0.3 в это уравнение, получим:

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

Так как N 1,0(u) везде равно нулю, первый член становится равным 0/0 и поэтому, как мы приняли, равен нулю. Таким образом, только второй член влияет на результат. Так как N 2,0(u) равно 1 на [0,0.3), N 1,1(u) равно 1 - (10/3) u на [0,0.3).

Далее, вычислим все Ni ,2(u). Так как p = 2, имеем n = m - p - 1 = 6. Следующая таблица содержит все Ni ,2(u):

Базисная Функция Границы Уравнение
N 0,2(u) [0, 0.3) (1 - (10/3) u)2
N 1,2(u) [0, 0.3) (20/3)(u - (8/3) u 2)
[0.3, 0.5) 2.5(1 - 2 u)2
N 2,2(u) [0, 0.3) (20/3) u 2
[0.3, 0.5) -3.75 + 25 u - 35 u 2
N 3,2(u) [0.3, 0.5) (5 u - 1.5)2
[0.5, 0.6) (6 - 10 u)2
N 4,2(u) [0.5, 0.6) 20(-2 + 7 u - 6 u 2)
[0.6, 1) 5(1 - u)2
N 5,2(u) [0.5, 0.6) 12.5(2 u - 1)2
[0.6, 1) 2.5(-4 + 11.5 u - 7.5 u 2)
N 6,2(u) [0.6, 1) 2.5(9 - 30 u + 25 u 2)

Следующий рисунок показывает все базисные функции степени 2.

Возьмем следующие типичные вычисления в качестве примера, скажем, N 3,2(u). Выражение для расчета такое:

N 3,2(u) = (u - u 3) / (u 5 - u 3) N 3,1(u) + (u 6 - u) / (u 6 - u 4) N 4,1(u)

Подставляя в u 3 = 0.3, u 4 = u 5 = 0.5 и u 6 = 0.6, имеем

N 3,2(u) = (5 u - 1.5) N 3,1(u) + (6 - 10 u) N 4,1(u)

Так как N 3,1(u) не равно нулю на [0.3, 0.5) и равно 5 u - 1.5, то первый член, (5 u - 1.5)2, является ненулевой частью N 3,2(u) на [0.3, 0.5). Так как N 4,1(u) не равно нулю на [0.5, 0.6) и равно 6 - 10 u, то второй член, (6 - 10 u)2, является ненулевой частью N 3,2(u) на [0.5, 0.6).

Давайте исследуем непрерывность в узле 0.5(2). Так как его множественность равна 2, а степень этих базисных функций равна 2, базисная функция N 3,2(u) является C 0-непрерывной в 0.5(2). Вот почему N 3,2(u) имеет острый угол в 0.5(2). Для узлов не на концах, скажем, в 0.3, C 1-непрерывность выдерживается, так как все они являются простыми.


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


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

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