Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мат. мод. методичка занятие 3 готовая.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
686.08 Кб
Скачать

Моделирование с помощью кусков Безье

Куски Безье — это нечто среднее между многоугольниками в каркасном моделировании и объектами типа NURBS. По сути, куски— это многоугольники, "натянутые" на замкнутый сплайн. Изменение такого сплайна приводит к изменению поверхности куска.

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

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

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

Создание сетки кусков

В зависимости от количества вершин, выделяют следующие типы кусков Безье: Tri Patch (Кусок из треугольных участков) и Quad Patch (Кусок из четырехугольных участков). Как показано на рис 2., кусок типа Quad Patch состоит из 36 прямоугольных граней, в то время как кусок типа Tri Patch разбит на 72 треугольные грани.

Рис. 2. Куски типов Quad Patch и Tri Patch

Чтобы создать кусок Безье, выберите вкладку Create (Создать) и щелкните на кнопке Geometry (Геометрия). Из раскрывающегося списка субкатегорий объектов выберите элемент Patch Grids (Сетки кусков Безье). При этом в разворачивающейся панели Object Type (Тип объекта) появятся две кнопки: Quad Patch и Tri Patch. Щелкните на одной из них, а затем щелкните в окне проекции и перетащите указатель мыши, чтобы задать размеры сетки.

Для того чтобы построить кусок Безье с точно заданными параметрами, обратитесь к разворачивающейся панели Keyboard Entry (Ввод с клавиатуры). Координаты X, Y и Z определяют положение центра куска, а поля Length (Длина) и Width (Ширина) — размеры куска. Как обычно, после ввода всех параметров щелкните на кнопке Create (Создать).

Разворачивающаяся панель Parameters (Параметры) для кусков Безье типа Quad Patch содержит параметры Length Segs (Сегментов в длину) и Width Segs (Сегментов в ширину), которые определяют, на сколько частей разбивается кусок в длину и ширину. Минимальное значение каждого из этих параметров равно 1 и соответствует разделению на шесть частей. Таким образом, наименьшее количество сегментов куска типа Quad Patch равно 36. Для кусков типа Tri Patch параметры Length Segs и Width Segs недоступны. Параметр Generate Mapping Coords, как и раньше, предназначен для задания координат текстуры на поверхности визуализируемого объекта.

Редактирование кусков

Создавать куски Безье и работать с ними достаточно просто. Но функциональные возможности кусков Безье ограничены из-за того, что они плоские. Поэтому куски Безье становятся действительно полезными после их преобразования в редактируемые. Любой геометрический объект можно преобразовать в редактируемый кусок (Editable Patch). Прежде чем редактировать на уровне субобъектов даже сетки кусков, созданные с помощью кнопок Quad Patch и Tri Patch, их нужно преобразовать в объект типа Editable Patch.

Существует несколько способов преобразования объекта в редактируемый кусок. Во-первых, достаточно щелкнуть правой кнопкой мыши на выделенном объекте и из появившегося квадменю выбрать команду Convert To>Convert to Editable Patch (Преобразовать в> Преобразовать в редактируемый кусок). Во-вторых, можно применить модификатор Edit Patch (Редактирование куска). Для этого необходимо выбрать элемент Edit Patch в раскрывающемся списке Modifier List стека модификаторов; кроме того, можно выбрать команду Modifiers>Patch/Spline Editing>Edit Patch (Модификаторы>Редактирование сплайнов/кусков>Редактирование кусков). Обратите внимание на то, что редактируемые куски, полученные первым и вторым способом, несколько отличаются друг от друга.

Редактируемые куски и модификатор Edit Patch

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

Другое существенное отличие состоит в том, что все преобразования редактируемого куска можно анимировать, в то время как применение модификатора Edit Patch такой возможности не дает.

Выделение субобъектов редактируемого куска

Чтобы получить доступ к субобъектам куска, его необходимо преобразовать в редактируемый или применить к нему модификатор Edit Patch. Субобъекты куска включают в себя вершины (<1>), ребра (<2>), куски (<3>) и элементы (<4>). Перед редактированием субобъектов их, разумеется, необходимо выделить. Чтобы выделить субобъект, щелкните на небольшом знаке "+" слева от объекта Editable Patch в стеке модификаторов. Кроме того, для выбора типа субобъекта можно воспользоваться кнопками с маленькими красными рисунками, расположенными под заголовком разворачивающейся панели Selection. После выделения кнопка субобъекга и соответствующий элемент иерархии в стеке модификаторов окрашиваются в ярко-желтый цвет.

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

Для выделения сразу нескольких субобъектов достаточно перетащить указатель мыши до появления рамки вокруг них. Как и прежде, для выделения объектов независимо один от другого и для снятия выделения можно воспользоваться клавишей <Ctrl>, а для удаления вершин из набора выделенных субобъектов — клавишей <Alt>.

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

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

При установленном флажке Ignore Backfacing (He учитывать противоположные грани) выделяются только те субобъекты, нормали которых направлены к текущему окну проекции. Это может пригодиться в том случае, если в окне проекции субобъекты расположены друг над другом. Предположим, что сфера преобразована в объект Editable Patch. Тогда после активизации параметра Ignore Backfacing можно легко выделить только те субобъекты, которые расположены на фронтальной части сферы, и не беспокоиться о том, что в этом случае будут выделены субобъекты тыльной стороны сферы.

Кнопка Select Open Edges (Выделить открытые ребра) доступна только в режиме редактирования ребер (Edge). С ее помощью можно выделить все ребра куска, связанные с определенной гранью. Таким образом, кнопка Select Open Edges предоставляет простейший способ обнаружения "дыр" текущей модели.

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

Разворачивающаяся панель Geometry

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

Разворачивающаяся панель Surface Properties

В режиме редактирования вершин с помощью разворачивающейся панели Surface Properties можно выбрать цвет (Color) и освещение (Illumination) выделенных вершин. Параметр Alpha контролирует прозрачность вершин. Цвет вершин можно также выбрать в режимах редактирования кусков (Patch) и элементов (Element).

Редактирование элементов и кусков как субобъектов

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

Разворачивающаяся панель Surface Properties на уровне кусков и субобъектов

В режиме редактирования на уровне кусков и элементов в панели Command появляется разворачивающаяся панель Surface Properties (Свойства поверхности). Она предназначена для работы с векторами нормалей (группа Normals), идентификаторами материалов (группа Materials) и группами сглаживания (группа Smoothing Groups).

Кнопки Flip (Изменить направление) и Unify (Общее направление) позволяют управлять направлением нормалей. Кнопка Flip изменяет направление нормалей выделенных граней на противоположное. Кнопка Unify изменяет направление таким образом, чтобы все нормали выделенных граней были направлены в одну сторону — наружу или внутрь (в зависимости от того, куда направлено большинство нормалей). Кроме того, для работы с нормалями отдельных граней можно активизировать режим Flip Normal Mode (Режим управления нормалями), щелкнув на соответствующей кнопке. Теперь, просто щелкнув на грани, вы измените направление ее нормали на противоположное. Для выхода из данного режима еще раз воспользуйтесь кнопкой Flip Normal Mode или же щелкните правой кнопкой мыши в окне проекции.

Параметр ID (Идентификатор материала) используется при работе с материалом типа Multi/Sub-Object (Многокомпонентный), который позволяет назначать разным кускам одного и того же объекта различные материалы.

Параметры группы Smoothing Groups (Группы сглаживания) позволяют отнести выделенный кусок к той или иной группе сглаживания. Для этого выделите кусок и щелкните на кнопке с номером группы.

Сглаживание куска

Если, выделив редактируемый кусок (Editable Patch), не активизировать режим редактирования субобъектов, в разворачивающейся панели Surface Properties появится параметр Relax (Смягчить). При установке флажка Relax незначительно раздвигаются вершины, находящиеся слишком близко друг от друга. В результате получается более плавный кусок, без резких переходов.

При установленном флажке Relax становятся доступными еще несколько параметров группы Relax Mesh. Флажок Relax Viewports (Смягчить в окне проекции) выведет результаты операции в окно проекции. Значение в поле Relax Value (Величина смещения) определит, насколько далеко должны быть сдвинуты вершины. В поле Iterations (Повтор) вводят количество применений функции смягчения. Установив флажки Keep Boundary Pts Fixed (Фиксировать границы) и Save Outer Corners (Сохранять внешние углы), вы сможете сохранить внешний профиль куска и предотвратить смягчение углов и ребер.