Распространим понятие NURBS-кривых на NURBS-поверхности, для чего сформируем тензорное произведение, аналогично тому, как мы делали для В-сплайнов в уравнении (11.93) [Tiller, 196, Piegl, 166]:

'М»Т=1- (И-94)

22>Л.(«К.(»)

| = 0*=0

Для контроля над формой поверхности дизайнер задает контрольный полиэдр на базе контрольных точек Ри к, а также веса да. к. Как и в случае В-сплайн кривых, если все веса одинаковы, то поверхность упрощается и становится В-сплайн поверхностью из уравнения (11.93). (Проверьте это!)

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

Создание кривых и поверхностей

2. NURBS-поверхности инвариантны относительно проективных преобразований (projective transformations). Такая инвариантность означает, что для рисования перспективной проекции NURBS-лоскута достаточно найти перспективную проекцию каждой из его контрольных точек, каким-либо способом подобрать веса, а затем применить уравнение (11.94). В отличие от этого нерациональные В-сплайн лоскуты инвариантны относительно аффинных, но не проективных преобразований.

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

Формирование часто используемых NURBS-поверхностей Семейство NURBS-поверхностей включает в себя невероятное разнообразие форм, причем в него входят как частные случаи некоторые формы, уже рассмотренные в этой главе. Приведем примеры этого семейства.


⇐ Предыдущая| |Следующая ⇒