Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике 5-12 РАЗБИЕНИЕ В-СПЛАЙНОВДля того чтобы увеличить гибкость кривой Безье, необходимо добавить вершину к определяющему многоугольнику, что повышает степень полиномиальной кривой (см. разд. 5-8). Гибкость В-сплайна также растет с увеличением порядка его базиса, т. е. полиномиальных сегментов. В работе [5-27] предлагаются теория и алгоритм увеличения порядка В-сплайна.
Повысить гибкость В-сплайна можно другим способом: вставить дополнительные узловые значения в определяющий узловой вектор. При этом полиномиальный сегмент для некоторого интервала узловых значений (параметрического интервала) локально разбивается на два. Есть два основных метода вставки узловых значений. Первый, так называемый алгоритм Осло, разработанный Коэном и др. ([5-28] и [5-29]), вставляет сразу несколько узловых значений. Второй метод Бема ([5-30] и [5-31]) последовательно вставляет по одному узловому значению. Мы рассмотрим только метод Осло. Как повышение порядка, так и дополнительные узловые значения увеличивают гибкость базиса кривой (поверхности) и, следовательно, кривой без изменения ее формы. Это возможно потому, что один В-сплайн можно задать бесконечным множеством многоугольников с более чем минимальным количеством вершин. Форма кривой меняется путем передвижения вновь полученных вершин. Рассмотрим исходную кривую с узловым вектором . Вставив узел, получаем новую кривую : (5-118) с новым узловым вектором , где . Надо найти новые вершины определяющего многоугольника , такие, что . По алгоритму Осло [5-29] , , , (5-119) где заданы рекурсивным отношением , (5-120a) . (5-120b) Отметим, что . На первый взгляд может показаться, что равномерный исходный вектор, неважно периодический или открытый, после вставки одного или более узловых значений станет неравномерным. Равномерность вектора можно сохранить, добавляя кратные узловые значения в середину каждого ненулевого интервала. Рассмотрим разбиение подробнее на примере.
В следующем примере в исходный открытый равномерный узловой вектор вносится один узел, после чего вектор становится неоднородным.
|
1 |
Оглавление
|