Пример

Для кривой В-сплайна, показанной в примере 6.4, вычислите координаты точки, соответствующей u = 2,5, используя алгоритм Кокса—де Бура.

 

Решение

В соответствии с условием примера 6.4 значения узлов таковы:

t0 = 0, t1= 0, t2 = 0, t3 = 1, t4 = 2, t5 = 3, t6 = 4, t7 = 4, t8 = 4.

Таким образом, в данном случае / становится равным 4, поскольку  t4 ≤ 2,5 ≤ t5, и в соответствии с уравнением (Ж.7) Р(2,5) = Р42. Используя уравнение (Ж.6), можно выразить Р42 как
Обратите внимание, что при выводе уравнения (Ж.8) были подставлены значения k = 3 и и = 2,5.
 

Пример

Можно также получить Р41 и Р31, используя уравнение (Ж.6):

Пример

Пример

Обратите внимание, что Рi° заменяется на Рi, как и прежде.

Теперь можно найти точку Р(2,5) на кривой (см. рис. 6.6), используя уравнения (Ж.10), (Ж.9) и (Ж.8), как показано на рис. Ж.1.

Пример

 
Рисунок Ж.1 показывает, что исходная кривая В-сплайна разделена на две кривые В-сплайна того же порядка, как это делалось для кривых Безье: одна кривая определена задающими точками Р0, Р1, Р2, Р31 и Р42, а другая — Р42, Р41, Р4 и P5. Первая кривая В-сплайна имеет пять задающих точек (n = 4) и порядок 3 (k = 3), гак что она имела бы узловые значения [0 0 0 1 2 2,5 2,5 2,5]. Аналогичным образом, вторая кривая В-сплайна имела бы узловые значения [2,5 2,5 2,5 3 4 4 4].
 

 

 

 

 

 
 

 

Смотрите также