Nurbs моделирование. Знакомство с технологией NURBS моделирования. Кривая Безье как частный случай NURBS кривой

Зачем нужно такое сложное название, как NURBS? Мы смотрим на экран и видим просто линии или просто поверхности. Зачем всё так усложнять? Дело в том, что Вам только кажется , что Вы видите точки, линии, поверхности. На самом деле, придвиньте свой нос как можно ближе к экрану. Да-да, прямо сейчас.

Вдруг оказалось, что единственное, что можно увидеть при большом увеличении – только точки, которые светятся разным цветом с различной яркостью! Это видеокарта Вашего компьютера даёт монитору информацию, каким образом отображать какую точку экрана. Видеокарте советы даёт центральный процессор (тот самый Интел инсайд или Атлон форева). А процессору вообще все Ваши точки, кривые и поверхности глубоко параллельны и фиолетовы, то есть по барабану. Главное его дело перекладывать заряд из одной ячейки в другую. Если совсем уж огрублять, то функцию процессора можно сравнить с выключателем. Тумблер вверх – есть свет, тумблер вниз нет света. Есть заряд в ячейке – единица, нет заряда – ноль. Просто этих тумблеров (ячеек) миллионы. И их комбинациями можно закодировать любой символ, цифру, ноту или пиксель. Вся информация, все программы, оперирующие этой информацией, сводится к операциям с числами в двоичной системе (из 0 и 1). То есть всё, что Вы делаете на компьютере – это совершаете вычисления при помощи функций (формул), которые составили мудрые программисты. Рисуете ли Вы, моделируете, пишите музыку или играетесь – всё это лишь иллюзия, на самом деле Вы в МАТРИЦЕ чисел, и плену обмана, созданного Вашим мозгом и глазами, впивающимися в зазеркалье экрана монитора.

Точно также и Rhino показывает Вам простые линии и поверхности, а на самом деле вычисляет формулы, график которой и выглядит в виде Вашей линии или поверхности. Помните, как в школе Вы вычисляли у доски каждую ключевую точку, через которую пройдёт линия графического представления формулы. Это Вы сами, без Рино, показывали учителю, как на самом деле мучались программисты, чтобы Вы потом без каких-либо знаний пяти математик могли думать не о них, а о том, как просто можно моделировать в 3D сложные вещи.

Так вот NURBS – это частный случай кривых Безье. N on-U niform (Н еО днородные) R ational (Р ациональные) B S plines ((Би-С плайны)частный случай кривых Безье). То есть NURBS – это такие формулы, которыми можно выразить кривые и поверхности.

Почему выделяют в названии программы именно NURBS (Читатся «нурбс»)? Потому что это ключевое отличие данного моделлера от других. В других программах трёхмерного моделирования главное действующее лицо – точка, вернее огромное число точек, связанных в полигоны (эдакие маленькие треугольные поверхности из которых складываются большие поверхности).

Если Вы имели когда-либо дело с векторной графикой, то Вам легко будет понять различие между полигональным моделированием и NURBS. Оно такое же, как и разница между векторной и растровой графикой.

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

В растровой же графике, маленькая буква состоит как бы из малюсеньких керамических плиток. Если эту букву (или другое изображение) придётся увеличивать, увеличивается лишь размер плиток. Представьте себе букву размером с дом, выложенную из плит от египетских пирамид. Грубовато смотрится, не так ли?!

Так же дело обстоит и в 3D графике. Тот же 3D Studio Max формирует модели из полигонов, а потом это дело сглаживает (грубо говоря, размазывает по экрану). Это годится лишь для отображения на экране или печати рекламы. Rhinoceros же имеет основное применение для создания точных гладких моделей для воспроизводства их на 3D принтерах или фрезерах. Если для этих целей применять 3D Studio Max, то такую модель, всю будто обрубленную, либо покусанную, придётся сначала вырастить или выточить из дорогущего материала, а потом долго, упорно и не всегда точно опиливать, обтачивать и зашкуривать готовый прототип. Нет, так не годится. Поэтому Рино сразу моделирует не полигонами (хотя и это может (Mesh – полигональные сетки)), а моделирует кривыми NURBS, всегда гладенькими, точными и красивыми, даже если их потом увеличить до размеров дома или корабля.

Рано или поздно, при создании трехмерной сцены интерьера, Вы столкнетесь с моделированием штор, гардин или занавесок. Можно конечно найти и , но в качестве практики и изучения моделирования в 3ds Max, нам интересней создать свою собственную штору «с нуля». Рассмотрим для начала пример несложного моделирования простой шторы, используя NURBS кривые.

NURBS Curves

NURBS Non-Uniform Rational B-Splines (Нерегулярные Рациональные В-сплайны) - наиболее подходящий инструмент в 3d-редакторах, для моделирования органических форм. В 3ds макс-е существует два вида NURBS-кривых: CV-curves (Control Vertices) – кривые контрольных точек и Point curves – точечные кривые (см. скриншот ниже).


CV-curves - это наиболее общий и универсальный метод создания кривой, в которой каждая контрольная точка (или управляющая вершин) имеет так называемый вес (Weight), который определяет степень притяжения кривой к этой точке.Но у CV-кривых есть один недостаток, который заключается в том, что кривая не проходит через управляющие вершины.


Point-кривые задают форму сплайна непосредственным положением точек (Points), но не позволяют задавать вес каждой вершины.

Моделирование с помощью Ruled Surface

Итак, давайте быстро создадим простую штору, состоящую всего из двух сплайнов (NURBS-кривых). В окне проекции Top создаем две NURBS-кривые (CV-curves):



Потом расположите кривые друг над другом, на нужной высоте, задавая тем самым длину будущей шторы:



Включите закладку Modify, затем нажмите кнопку NURBS Creation Toolbox, включая соответствующую панель:



На этой панели Toolbox выберите кнопку режима Ruled Surface:





После этого, можно регулировать форму нашей шторы на уровне подобъектов:

  • Surface - для редактирования фрагментов поверхности
  • Curve CV - для корректировки вершин
  • Curve - для настройки кривых

Выберите уровень подобъектов Curve CV и двигая точки на кривых, корректируйте складки на шторе на свой вкус:



Вот и все, наша первая 3d-штора готова. На этом наш урок по моделированию шторы в 3ds Max можно было бы и закончить, но путем несложных действий можно немного «оживить» нашу штору, сделав ее не такой «пластмассовой». Щелкните правой кнопкой мыши на шторе-объекте и конвертируйте ее в Editable Poly, выбрав в контекстном меню Convert To – Editable Poly.
Далее в списке модификаторов примените к шторе модификатор Noise (при необходимости, добавив до этого полигонов модели модификатором Subdivide).
Регулируя параметры модификатора Noise, можно добавить неровностей и складок нашей шторе, делая ее более натуральной.

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

Начнем с теории…

Сначала расшифруем аббревиатуру NURBS. NURBS - это Non-Uniform Rational B-Spline или по-русски неоднородные рациональные B-сплайны. NURBS-кривые обладают одной особенностью: они всегда имеют гладкую форму. В 3d max есть два вида NURBS-кривых: P-кривые и CV-кривые.

P-кривые (point curves) - такие кривые задаются вершинами, лежащими непосредственно на самой кривой. По сути они похожи на обычные сплайны.

CV-кривые (control vertices curves) - форма таких кривых задается управляющими вершинами, лежащих на вспомогательной кривой (на рисунке желтого цвета).

Чтобы создать одну их этих кривых, надо на вкладке Create перейти на вкладку Shape, затем в выпадающем списке выбрать NURBS Curves и нажать на одну из кнопок в зависимости от вида кривой:

Если убрать галку рядом с Start New Shape, то вы продолжите создавать выделенную кривую.

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

NURBS-поверхности формируются из NURBS-кривых и, так же как кривые, могут быть двух типов: P-поверхности (point surfaces) и CV-поверхности (control vertices surfaces). Как не сложно догадаться эти типы отличаются, друг от друга тем же, чем отличаются два вида кривых.

Есть несколько способов создания NURBS-поверхности.

Можно создать прямоугольный кусок NURBS-поверхности на вкладке Create (Create->Geometry->NURBS Surfaces):

Можно преобразовать в NURBS-поверхность созданный каким-то другим способом объект. Для этого надо щелкнуть правой кнопкой мыши по объекту и выбрать в появившемся меню Convert To:->Convert to NURBS.

Ну и наконец, можно создать поверхность путем объединения нескольких NURBS-кривых. Именно этим способом мы и будем пользоваться в практической части урока.

Если вы создадите NURBS-кривую или поверхность, и перейдете на вкладку Modify, то откроется панель с инструментами NURBS:

Если панель не открылась, то ее можно открыть, нажав кнопку NURBS Creation Toolbox:

Эта панелька состоит из разделов для управления вершинами (Points), кривыми (Curves) и поверхностями (Surfaces). Наибольший интерес для нас представляют инструменты управления поверхностями, поэтому рассмотрим некоторые из них.

Create CV Surface, Create Point Surface:

Как не сложно догадаться по названию, инструменты создают оба типа поверхностей. Эти кнопки отличаются от кнопок на вкладке Create тем, что созданные поверхности будут принадлежать к текущему объекту (станут подобъектами).

Создает плавный переход между двумя поверхностями:

Для применения этого инструмента надо иметь две поверхности, принадлежащих одному объекту. Для создания поверхности после выбора инструмента надо щелкнуть по краю одной поверхности (там, где будет начинаться создаваемая поверхность), далее надо щелкнуть по краю второй поверхности (там, где будет заканчиваться создаваемая поверхность)

Create Mirror Surface:

Отражает поверхность.

Create Extrude Surface:

Выдавливает поверхность из кривой. Например, из такой кривой:

Можно выдавить такую поверхность:

Create Lathe Surface:

Создает поверхность вращения, подобно модификатору Lathe из урока №3

Create Cap Surface:

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

Create U Loft Surface:

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

Create UV Loft Surface:

Создает поверхность UV-лофтинга из двух групп разомкнутых NURBS-кривых. При этом должно выполняться два правила:
- кривые из одной группы должны лежать вдоль одной из осей создаваемого тела и быть параллельными друг другу;
- концы кривых из одной группы должны располагаться на крайних кривых, входящих в другую группу.
Например, имеем две группы кривых (выделенные и не выделенные):

На основе этих кривых получаем поверхность:

Некоторые остальные инструменты будут рассмотрены в практической части.

В заключение этой теоретической части следует прояснить еще кое-что:

  • NURBS-поверхности всегда имеют гладкую форму. Поэтому наиболее логично их применение для моделирования объектов сглаженной формы, не имеющих острых краев.
  • Реализация NURBS-моделирования в 3d max всегда вызывала много критики, уж больно он «глючный». Но все же иногда объект можно быстрее и качественнее создать именно с помощью NURBS (надеюсь, скоро вы в этом убедитесь), поэтому замалчивать про этот способ моделирования неправильно.

Создание мыльницы

Я потратил безумно много времени, чтобы придумать, какой объект моделировать в этой части. Уже почти отчаялся найти необходимое сочетание простоты создания и максимально возможного количества применяемых инструментов. И вдруг однажды в ванной мой взгляд упал на мыльницу, и я понял, что ничего лучше придумать все равно не получится, поэтому сегодня мы будем моделировать мыльницу:)

И так начнем с создания вспомогательной линии. Желательно создать ее в виде NURBS-кривой (любого типа), чтобы понять как они создаются. Но это не принципиально и можно использовать обычный сплайн, ибо прямого участия в моделировании эта линия принимать все равно не будет. Я же использовал CV-кривую:

Теперь сделайте копию этой кривой и поверните ее на 90 грудсов вокруг оси Z:

Таким образом мы создали как бы ограничивающие кривые будущей мыльницы. Теперь перейдите на вид сверху и создайте P-кривую в виде овала:

При создании этой кривой ориентируйтесь на сетку в окне проекции, чтобы создать максимально симметричный овал. Также обратите внимание на расположение вспомогательных кривых по отношению к овалу: на виде сверху их концы лежат на овале.

В результате получится овал, который скорее всего у вас будет располагается вот так:

Необходимо поднять этот овал до пересечения с вспомогательными кривыми:

Теперь сделайте копию этого овала и опустите его вниз:

А потом промасштабируйте овал до пересечения c другой вспомогательной кривой:

Сделайте еще несколько копий этого овала и промасштабируйте их указанным способом:

А потом еще несколько, с пересечением внутренней поверхности мыльницы:

В результате должно получиться нечто такое:

Теперь необходимо соединить все созданные кривые. Для этого выделите одну из кривых, на вкладке Modify в свитке General найдите кнопку Attach:

Нажмите эту кнопку и прокликайте все остальные кривые. В результате они все объединятся в один объект.

И начинайте щелкать на каждую кривую по порядку, начиная с самой нижней и заканчивая внутренними кривыми. В конце создания нажмите правую кнопку мыши.
Если в процессе создания вы случайнее перепутали последовательность следования кривых, то их поменять можно на панели справа. Возможно, полученная поверхность получится черной, в этом случае надо поставить галку рядом с Flip Normals:

Если все стало нормально, то нажмите еще раз правую кнопку чтобы зафиксировать результат. Должно получиться примерно вот так:

Можно спрятать обе вспомогательных кривых, они больше не нужны. Для этого выделите их, щелкните по ним правой кнопкой мыши и выберете Hide Selection.

И щелкните по кривой, которое образует днище, а затее по кривой внутри мыльницы:

Если полученная поверхность будет черной, то поставьте галку рядом с Flip Normals:

Теперь создадим закругление на дне мыльнице, для этого используйте инструмент Create Fillet Surface:

Затем щелкните сначала по боковой поверхности мыльницы, а затем по днищу. Сразу после этого необходимо поставить две галки рядом с Trim Surface. После этого могут исчезнуть одна или обе плоскости, в этом случае надо поставить галку рядом с Flip Trim. Далее необходимо увеличить значение радиуса фаски:

Щелкните правой кнопкой мыши, чтобы зафиксировать результат:

Некоторые сплайны могут быть конвертированы в NURBS-кривые, главное, чтобы в их составе не было вершин типа Corner и Bezier Corner. Также в NURBS-кривые могут быть преобразованы четыре стандартных сплайна: Circle, Ellipse, Arc и Star. Именно этим условием мы сейчас воспользуемся, создайте на виде сверху эллипс с помощью сплайна Ellipse.

В компьютерной графике существует два подхода к моделированию объектов: на основе полигональных сеток и на основе NURBS-кривых. Большинство программ для создания трехмерной анимации работает только с полигонами. В Maya кроме этого используется более сложная и мощная система моделирования, которая основана на неоднородных рациональных сплайнах Безье (NURBS, Non-Uniform Rational Bezier Splines ). Созданная таким способом поверхность похожа на трехмерный искривленный лист в пространстве. Существуют ограничения на их построение, соединение друг с другом и деление на части, но в принципе это очень гибкие объекты. Основное их преимущество состоит в том, что в Maya они остаются чистыми кривыми, то есть математическими конструкциями. Уровень детализации получаемых на их основе поверхностей можно указывать как в окне проекции, так и при визуализации. Грубую огранку объектов, возникающую при попытке создать искривленную поверхность из полигональной сетки, легко можно убрать при работе с NURBS-поверхностями. Достаточно увеличить уровень детализации.

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

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

Преимущества моделирования на основе NURBS-кривых

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

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

Использование NURBS-кривых также приводит к усложнению модели. Наличие большого числа кривых, определяющих поверхность, может заметно усложнить ее редактирование. Кроме того, иногда такие модели оказываются настолько массивными, что с ними невозможно работать в интерактивном режиме. Конечно, в данном случае все зависит от мощности SD-ускорителя компьютера! Другим недостатком использования NURBS-кривых является увеличение времени визуализации. Идеальная математическая кривая, определяющая форму поверхности, должна быть конкретизирована с помощью полигонов, наличие большого количества которых замедляет визуализацию.

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

Второй способ это сделать модель самостоятельно. Существуют методики создания трёхмерных объектов. В зависимости от задачи эти методики могут использоваться либо отдельно, либо в связке.

1) Полигональное моделирование.

Первая самая классическая техника моделирования – полигональная. Полигональная техника самая простая и понятная, она базируется на операциях с четырёхугольниками. Четырёхугольники – полигоны или квады состоят из точек (vertex) и рёбер (edge). Пространство, заполненное между рёбрами, называется гранями (face). К базовым операциям можно отнести: перемещение (translate), вращение (rotate), масштабирование (scale), выдавливание (extrude), разделение (subdivide), слияние (merge), скольжение (slide). Эти операции будут очень часто повторяться. В любом пакете общего назначения существуют полигональные заготовки - примитивы: плоскость (plane), куб (cube), сфера (shere), цилиндр (cylinder), конус (cone). На основе этих простых объектов можно компоновать более сложные. Либо использовать простые как основу для более сложных. Методом разделения, последовательного выдавливания и череды простых трансформаций фрагментов куба можно получить человеческую руку или шланг от пылесоса. Кому как нравится или как того требует задача.

Если моделируемый объект симметричный, то эффективнее будет разрезать объект по оси симметрии и применив модификатор симметрии или зеркалирования выполнять операции только с одной частью модели, допустим левой. Изменения возникшие на одной стороне модели (левой) будут автоматически добавляться модификатором на другую (правую) зеркальную сторону.

Все действия производимые с объектом записываются в историю действий. По истории можно перемещаться вперёд и назад. Модификаторы используются для простого типового изменения формы объекта. В зависимости от пакета моделирования их название и состав могут отличаться.

В технике полигонального моделирование существуют правила построения полигональной сетки или меша (от англ. mesh - сетка). Правила описываю подходы позволяющие формировать и поддерживать корректную топологию сетки. Топология как раздел математики изучает явление непрерывности пространства. Что это означает применительно к сетке? Выстраиваясь полигоны образуют направления - полигональные кольца или петли (loop). В зависимости от того как взаимно расположены или склеены полигональные петли зависит то, как будет происходить сглаживание объекта при операциях подразделения. Дело в том, что сложные полигональные объекты состоят из тысяч полигонов. 3d-художник редактирует форму объекта только на базовом уровне детализации, а финальное сглаживание выполняет модификатор подразделения. Для того, чтобы такое сглаживание приводило к ожидаемому результату, 3d-художнику нужно предусмотреть расположение полигональных петель на критичных участках формы. Иначе будут заметны артефакты сглаживания или форма объекта будет казаться оплавленной. Также нужно следить, чтобы плотность сетки была одинаковой по всей поверхности объекта и состояла только из квадов. Иногда допускается врезка треугольных фейсов, но это исключение. Есть небольшие различия в моделировании высокополигональных моделей (для кино) и моделей предназначенных для визуализации реального времени (интернет, игры). Для высокополигональных моделей важна правильная топология и сетка состоящая из четырёхугольных граней, а для игровой графики важна оптимизация. Поэтому модели, которые прошли оптимизацию имеют большую угловатость и состоят приемущественно из треугольных граней.

Грани полигонального объекта имеют ориентацию. Есть лицевая сторона и оборотная. Поэтому грань может «смотреть» внутрь и наружу объекта. Нужно следить, чтобы все грани были направлены наружу, иначе будт заметны артефакты при визуализации.

Полигональное моделирование одинаково хорошо реализовано во всех современных конкурентноспособных пакетах моделирования: Blender, 3Dsmax, Maya, Cinema 4D, LightWave, Modo.

2) Скульптинг или воксельная лепка.

Следуюшая технология - скульптинг основана на принципах скульптурной лепки, позаимствованных из реальной жизни. 3d-художник лепит форму объекта, не задумываясь о топологии сетки. По взмаху виртуальной кисти на модели появляются вмятины, вздутия или текстурный рельеф. Естественно после такого творческого процесса топология получается очень мусорная и нужно производить в обязательном порядке ретопологию. Ретопология это уменьшение количества полигонов (полигонажа) за счёт создания в ручную новой более оптимизированной сетки. Ретопология это буквально обрисовывание высокополигональной модели. Чтобы работать в такой технике требуется мпециализированный софт: ZBrush, 3D-Coat, Mudbox.

3) Сплайновое NURBS -моделирование.

Третий способ моделирования основан на использовании криволинейных поверхностей. Такие поверхности называют NURBS -поверхностями (с англ. Non-uniform rational B-spline). От полигональной техники данный метод отличается тем, что 3 d -художник оперирует не гранями, а кусками ограниченными кривыми линиями. Чтобы изменить характеристики поверхности нужно изменить кривизну линии. NURBS -поверхности имеют бесконечную детализацию, так как форму таких поверхностей описываются математическими формулами, а не расположением вершин как в полигональном моделировании. Перед тем как визуализировать такую поверхность программа предварительно её триангулирует. Триангуляция это процесс разбиения на треугольные грани. У данного метода моделирования есть преимущества перед полигональным. А именно - точность. Данную методику применяют для изготовления точных промышленных изделий, который потом будут изготавливаться литьём штамповкой и т. д. Данная технология реализована в 3 dsmax и Maya и доведена до совершенства в CAD -пакетах: Rinoceroc , Katia , Fusion 360.

4) Процедурное моделирование

Четвёртый подход к моделированию процедурный. Процедурное моделирование востребовано в таких задачах, где требуется создание систем объектов и поверхностей, которыми нужно еще и гибко управлять. К таким системам можно отнести деревья (растения), небоскрёб или целый город (архитектурные объекты), толпу людей, взаимодействующих по определённому сценарию. Процедурное моделирование может быть линейным (стековым) и нелинейным (узловым или нодовым). Линейную процедурность поддерживают все серьёзные пакеты моделирования, она основана на вертикальном стеке модификаторов. Нодовое процедурное моделирование хорошо реализовано в Houdini , Cinema 4 D с модулем MoGraph, R hinoceros с плагином Grasshopper . Процедурное моделирование имеет большое преимущества над всеми остальными за счёт отсутствия деструктивных операций. В любой момент 3 d -художник может вернуться на любой этап моделирования и изменить нужный параметр. Естественно рабочая сцена хранит всю информацию о произведённых действиях пользователя. В определённый момент, если не контролировать процесс моделирования и своевременно не чистить историю, рабочий файл может разростись до гиганских размеров. Компьютер перестанет справляться с возросшим объёмом информации. В параметрическом моделировании легко уживаются сплайны и полигональные объекты.