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

Кривые b-spline: Изменение Узлов

Из-за того, что кривые B-spline состоят из криволинейных отрезков, каждый из которых определен на узловом интервале, изменение положения одного или более узлов изменит соотношение между отрезками кривой и, следовательно, изменит форму кривой.

Следующие рисунки показывают эффект изменения единичного узла. Это кривая B-spline 6 степени с 17 узлами, из которых 7 первых и 7 последних фиксированы в конечных точках, а средние узлы - это 0.25, 0.5 and 0.75. Начальная кривая показана слева. Если узел 0.25 переместить в 0.1, форма кривой изменится и исходная p(0.25) сместится назад, в новое положение. Если узел 0.5 сместить в 0.1, чтобы сделать узел 0.1 двойным узлом (множественности 2), форма кривой сместится влево; но p(0.1) сместится вверх, в положение рядом с исходной точкой (т.e. исходной p(0.25) ). Результат показан на рисунке справа. Более того, хоть у нас и есть двойной угол в 0.1, а третий узел в 0.75, которые неравномерно делят область [0,1] на три узловых интервала, кривая B-spline более или менее равномерно делится соответствующими им точками.

Как бы то ни было, практический опыт показывает, что изменение положений узлов не является ни предсказуемым, ни удовлетворительным. Говоря точнее, из-за того, что непонятно, как кривая B-spline отреагирует на изменение узлового вектора, изменение формы кривой при помощи изменения узлов обычно невыгодно и сложно.

Замечание о Множественных Узлах

Множественные узлы могут помочь достичь желаемого результата. Вспомним из свойства множественных узлов, обсуждавшегося ранее, что увеличение множественности внутреннего узла уменьшает количество ненулевых базисных функций в этом узле. Фактически, если множественность узла равна k, то в нем существует самое большее p - k + 1 ненулевых функций. Более того, базисные функции Cp-k-непрерывныв этом узле.

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

Если k = p, то только одна базисная функция является ненулевой в этом узле и поэтому только одна контр. точка имеет ненулевой коэффициент. В итоге кривая проходит через эту точку!

На первом рисунке выше, который показывает кривую B-spline 5 степени, узел, соответствующий точке деления кривой (обозначено треугольником), смещается в предыдущий узел, делая его множественности 2. Результат показан на втором рисунке, хоть на нем не видно различий. Затем, следующий узел (помечен прямоугольником) перемещается в конечную точку (помечена эллипсом), получается узел множественности 3. Это третий рисунок. Результирующая кривая приближается к сегменту контрольной ломаной. Смещая еще один узел, получим узел множественности 4. Это заставляет соответствующую точку (помечена эллипсом) лежать на сегменте ломаной. Наконец, совмещаем оставшиеся узлы в один. Так как у него множественность равна 5, а p=5, то будет только один ненулевой коэффициент, и поэтому кривая будет проходить через эту контрольную точку. Как показано на пятом рисунке, эта контрольная точка - это p5.

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