Главная > Математика > Геометрическое моделирование
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

3.10. NURBS поверхности

В качестве функций в формуле (3.9.4) будем использовать произведения -сплайнов, один из которых зависит от параметра и, а другой зависит от параметра v. В результате получим неоднородную рациональную поверхность, определяемую -сплайнами (2.8.21), которая приобрела название NURBS поверхности (Non-Uniform Rational В-Spline surface). NURBS поверхность, как и поверхность Безье, строится на сетке вершин — совокупности точек условно расположенных в виде рядов по точек в каждом ряду. Индексы вершины означают то, что данная точка расположена по счету в ряду (первый индекс равен номеру ряда, второй — номеру точки в ряду). В данном случае нумеровать ряды удобнее от 1 до , а точки в них — от 1 до . Пусть вес вершины равен Пусть -сплайны -направления имеют порядок к, а -сплайны направления имеют порядок q. Радиус-вектор NURBS поверхности определяется равенством

где — базисные функции, — число рядов, вершин, — число вершин в каждом ряду. Производные радиус-вектора NURBS поверхности определяются равенствами (3.9.6)-(3.9.10).

Каждый из -сплайнов порядка построен на последовательности из к узлов всего для построения совокупности Б-сплайнов порядка требуется к узлов в случае незамкнутой кривой и узлов в случае замкнутой кривой. Каждый из В-сплайнов порядка построен на последовательности из узлов всего для построения совокупности Б-сплайнов порядка требуется узлов в случае незамкнутой кривой и узлов в случае замкнутой кривой. Как следует из (3.10.1), NURBS поверхность имеет две последовательности узлов, одну — в -направлении, а другую — в -направлении. Значения узлов должны образовывать неубывающие последовательности. Будем называть их -последовательностью узлов и последовательностью узлов. Пронумеруем узлы каждой последовательности, начав нумерацию с 1.

Для незамкнутой NURBS поверхности используются следующие последовательности узлов. Первые к узлов - последовательности имеют значения, равные нулю: следующие узлов принимают целочисленные значения от 1 до : ; оставшиеся к узлов принимают значение . Первые q узлов -последовательности имеют значения, равные нулю: следующие узлов принимают целочисленные значения от 1 до ; оставшиеся q узлов принимают значение .

Для замкнутой NURBS поверхности используются равномерные последовательности узлов с единичным шагом:

Приведенные примеры узловых последовательностей не являются единственно возможными. Как и для любой поверхности, внутренняя параметризация NURBS поверхности может быть произвольной.

Область изменения параметров NURBS поверхности представляет собой прямоугольник: . Для указанных последовательностей узлов параметры NURBS поверхности изменяются в пределах: для незамкнутой поверхности и для замкнутой поверхности.

Для вычисления радиус-вектора NURBS поверхности используем формулы (2.9.2)-(2.9.4). По значению параметра и из условия определим номер j единственного отличного от нуля В-сплайна первого порядка

Далее, используя рекуррентное соотношение

последовательно вычислим все отличные от нуля при данном и В-сплайны до порядка включительно: . Далее В-сплайны порядка нормируем в соответствии с (2.9.4)

Аналогично по значению параметра v из условия определим номер отличного от нуля В-сплайна первого порядка

Используя рекуррентное соотношение

последовательно вычислим все отличные от нуля при данном v В-сплайны до порядка включительно: и затем нормируем их

Напомним, что порядок NURBS поверхности в том или ином параметрическом направлении равен порядку соответствующих В-сплайнов, а порядок -сплайна на единицу больше степени полиномов, из которых он построен.

Рис. 3.10.1. NURBS поверхность

На рис. 3.10.1 показана NURBS поверхность порядка по обоим параметрическим направлениям, построенная на сетке, состоящей из вершин. Все вершины, кроме центральной, лежат в одной плоскости. Веса всех вершин равны 1.

Если на каждых четырех соседних характеристических точках построить билинейные поверхности, то мы получим некоторый многогранник, который называется характеристическим. Характеристический многогранник поверхности, приведенной на рис. 3.10.1, показан на рис. 3.10.2.

В терминах однородных координат расширенный радиус-вектор (1.4.6) NURBS поверхности определяется формулой

где — расширенные векторы вершин поверхности.

Когда все вершины NURBS поверхности имеют равные веса, то формула (3.10.1) в силу свойства В-сплайнов (2.8.24) примет вид

Эта поверхность называется В-сплайн поверхностью. Она также может быть использована в проектировании, так как обладает определенной гладкостью, и для вычисления ее производных не требуется пользоваться формулами (3.9.6)-(3.9.10).

Если построить NURBS поверхность (3.10.3) на базе В-сплайнов второго порядка, то она совпадает со своим характеристическим многогранником и представляет собой совокупность билинейных поверхностей.

Рис. 3.10.2. Характеристический многогранник NURBS поверхности

Если , т. е. если число рядов вершин равно порядку q В-сплайнов -направления, число вершин в ряду равно порядку к В-сплайнов - -направления, узлы-последовательности имеют значения узлы -последовательности имеют значения то NURBS поверхность (3.10.1) совпадает с рациональной поверхностью Безье (3.9.1). Это следует из того, что функции Бернштейна являются частными случаями В-сплайнов. Область изменения параметров NURBS поверхности в этом случае представляет собой квадрат со стороной, равной 1.

Рис. 3.10.3. Цилиндрическая NURBS поверхность

С помощью поверхности (3.10.1) может быть построена любая поверхность второго порядка. На рис. 3.10.3 приведена цилиндрическая NURBS поверхность и ее характеристический многогранник.

На рис. 3.10.4 приведена тороидальная NURBS поверхность и ее характеристический многогранник. Обе поверхности имеют кратные узлы.

По своему внешнему виду NURBS поверхности и поверхности Безье похожи. Но в отличие от последних порядок NURBS поверхности не связан жестко с количеством вершин и предоставляет возможность строить поверхности невысокого порядка или порядка) на большом числе вершин.

Рис. 3.10.4. Тороидальная NURBS поверхность

Эта возможность придает поверхности большую гибкость, так как поверхности Безье, построенные на большом числе вершин, имеют высокий порядок и являются слишком гладкими.

NURBS поверхность является обобщением большинства рассмотренных выше поверхностей: многогранной билинейной поверхности, поверхности Безье, поверхностей второго порядка, рациональных поверхностей.

Каждая линия или на поверхности (3.10.1) является NURBS кривой (2.9.1). Но можно построить рациональные неоднородные поверхности на основе В-сплайнов, которые необязательно давали бы NURBS кривые в качестве всех своих параметрических -линий или -линий.

Рис. 3.10.5. NURBS поверхности на семействе кривых

Например, можно получить поверхность, если в формуле (2.9.1) вместо вершин характеристической ломаной подставить кривые , обладающие весами и имеющие одинаковые параметрические длины

В результате, получим поверхность, описываемую формулой

Только параметрические линии на поверхности (3.10.4) являются NURBS кривыми. Такую поверхность можно назвать плазовой NURBS поверхностью. На рис. 3.10.5. показана плазовая NURBS поверхность и пять кривых, по которым она построена. Частным случаем этой поверхности является поверхность скругления (3.9.3).

<< Предыдущий параграф Следующий параграф >>
Оглавление