Алгоритм де Бура
Припустимо,
ми хочемо оцінити криву сплайна. При
значенні параметра .
Ми
можемо висловити криву як
де
і
Завдяки властивостям,
Таким чином, значення s(x) визначається в контрольних точках dl-n, dl-n+1, …, dl; інші контрольні точки di не мають ніякого впливу. Алгоритм де Бура, є процедурою, яка ефективно обчислює вираз для s(x).
Припустимо,
і д
ля
.
Тепер обчислимо
з
Тоді
.
Приклади та доповнення
Приклад №1:
Подання чверті кола у вигляді раціонального полінома Розглянемо чверть кола, яка описується в термінах тригонометричних функцій
Покладаючи t = tan(/2) і використовуючи основні тотожності з тригонометрії, ми можемо виразити х і у як функції t:
Для перетворення рівняння до представлення Безьє, застосуємо
окремо чисельник і знаменник для того щоб отримати форму Безьє.
Приклад №2
Для не замкненої NURBS кривої введемо наступні значення.
Нехай перші m вузлів рівні нулю: t1=t2=…tm=0; наступні n-m вузлів набувають цілочисельних значень від 1 до n-m: tm+i = i, I = 1, 2, …, n-m; m вузлів, що залишились, набувають значень n-m+1: tn+1 = tn+2 =…= tn+m =n-m+1. Оскільки параметр t NURBS змінюється у межах tm t tn+m, то для не замкнутої кривої це буде 0 t n-m+1. На рис 19. показано повний набір В- сплайнів 4-го порядку(кубічних) для дев’яти вершин, побудованих на розширеній множині вузлів 0, 0, 0,0, 1, 2, 3, 4, 5, 6, 6, 6, 6 для 0 t 6.
Рис.
19. Повний набір В-
сплайнів 4-го порядку(кубічних) для
дев’яти вершин
Приклад №3
Для замкненої NURBS кривої використовуємо рівновіддалені значення вузлів (рівномірна параметризація): ti = i-m, i = 1, 2, …, n+2m. Оскільки параметр t NURBS змінюється у межах tm t tn+m, то для замкнутої кривої це буде 0 t n. На рис. 20 показано повний набір В- сплайнів 4-го порядку для 6 вершин, побудованих на розширеній множині вузлів -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, де 0 t 6.
Рис.20. Повний набір В-сплайнів 4-го порядку для 6 вершин
На рис. 21 на множині одних і тих же восьми вершинам побудовані NURBS 2-го, 4-го, 6-го і 8-го порядку. Чим вище порядок кривої, тим гладкіша вона.
Рис. 21.
На рисунку 22 показано вплив ваги вершини p5 на форму кривої 6-го порядку. Чим більша вага вершини, тим ближче до неї проходить NURBS.
Рис. 22.
Приклад №4. NURBS представлення ламаної.
Якщо побудувати NURBS (7) по n вершинам на послідовності вузлів: t1=t2=0, t3= 1, t4 = 2, …, ti = i-2, …tn= n-2, tn+1= tn+2 = n-1 на базі В-сплайнів другого порядку Ni,2(t), то вона співпадає з ламаною (рис. 23). Область зміни параметра t: 0 t n-1.
Рис. 23. Ламана.
В- сплайни 2-го порядку Ni, 2(t) визначаються рівнянням
Ni,2(t) у цьому випадку являють собою кусково-лінійні функції: Ni,2(ti+1)=1, Nj,2(ti+1)=0, j i. В-сплайни для 6 вершин показані на рис 24.
Рис. 24.
Замкнену ламану як частинний випадок NURBS можна побудувати на послідовності вузлів: t1=-1, t2=0, t3= 1, …., ti = i-2, … tn= n-2, tn+1= n-1, tn+2 = n, де t: 0 t n.
