Трёхмерная графика. Геометрическое моделирование объектов объёмной графики Создание специальных эффектов

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

Трехмерная графика (3D графика) - раздел компьютерной графики, совокупность программных и аппаратных приемов и инструментов, предназначенных для пространственного изображения объектов в трехмерной системе координат.

Модель - объект, который отражает существенные особенности изучаемого объекта, явления или процесса.

Трехмерное моделирование - исследование объекта, явления или процесса путем построения и изучения его модели.

Редакторы трехмерной графики - программы и программные пакеты, предназначенные для трехмерного моделирования.

Полигональная сетка - совокупность вершин, ребер, граней, определяющих форму многогранного объекта в трехмерной графике.

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

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

Графический движок ("визуализатор"; иногда "рендер") - подпрограммное обеспечение, основной задачей которого является визуализация (рендеринг) двухмерной или трехмерной компьютерной графики.

Методы создания 3D объектов

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

· моделирование на основе примитивов;

· сплайновое моделирование;

· использование модификаторов;

· моделирование при помощи редактируемых поверхностей: Editable Mesh (Редактируемая поверхность), Editable Poly (Редактируемая полигональная поверхность), Editable Patch

· создание объектов при помощи булевых операций;

· создание трехмерных сцен с использованием частиц;

· NURBS -моделирование (моделирование на основе неоднородных нерациональных B-сплайнов).

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

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

Моделирование на основе примитивов

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

Рис. 1.

Процесс создания объектов на основе примитивов можно разбить на этапы:

· мысленное разбиение исходного объекта на примитивы;

· создание примитивов;

· расположение примитивов относительно друг друга по форме создаваемого объекта;

· корректировка размеров примитивов;

· текстурирование, то есть наложение материала.

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

Сплайновое моделирование

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

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

Рис. 2.

· Line (Линия);

· Circle (Окружность);

· Arc (Дуга);

· Ngon (Многоугольник);

· Text (Текс);

· Section (Сечение);

· Rectangle (Прямоугольник);

· Ellipse (Эллипс);

· Donut (Кольцо);

· Star (Многоугольник в виде звезды);

· Helix (Спираль)

· Egg (Яйцо).

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

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

Использование модификаторов

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

Рис. 3.

В профессиональных полнофункциональных продуктах для 3D моделирования, например "Autodesk 3ds Max" есть возможность быстро перейти к настройкам объекта и примененным к нему модификаторам, отключить или включить действия модификаторов, а так же поменять очередность их воздействия на объект.

Моделирование при помощи редактируемых поверхностей

Распространенный способ создания 3D моделей. Большинство современных редакторов трехмерной графики позволяют работать со следующими типами редактируемых поверхностей:

· Editable Mesh (Редактируемая поверхность);

· Editable Poly (Редактируемая полигональная поверхность);

· Editable Patch (Редактируемая патч-поверхность);

Все перечисленные методы построения поверхностей схожи между собой, а различия заключаются в настройках моделирования на уровне подобъектов. В объектах типа Editable Poly модель состоит из многоугольников, в Editable Mesh - из треугольных граней, а в Editable Patch - из лоскутков треугольной или четырехугольной формы, которые создаются сплайнами Безье.

Рис. 4.

В качестве примера программного пакета, имеющего возможности моделирования при помощи редактируемых поверхностей может выступать "Autodesk 3ds Max". При работе с объектами типа Editable Poly , пользователю доступна возможность редактировать вершины (Vertex ), ребра (Edge ), границы (Border ), полигоны (Polygon ) и элементы (Element ) редактируемого объекта. Возможности редактирования Editable Mesh объектов отличаются возможностью изменять грани (Face ) и отсутствием режима редактирования границ. Для работы с Editable Patch можно использовать режимы редактирования вершин, ребер, патчей (Patch ), элементов и векторов (Handle ).

Рис. 5. Возможности редактирования поверхности Editable Poly на примере "Autodesk 3ds Max"

Стоит отметить, что "Editable Poly" - самый распространенный метод моделирования, используется для создания, как сложных моделей, так и низкополигональных моделей для интерактивных систем.

Создание объектов при помощи булевых операций

Одним из наиболее удобных и быстрых способов моделирования является создание 3D объектов при помощи булевых операций. Суть данного метода заключается в том, что при пересечении двух объектов, можно получить третий, который будет являться результатом сложения (Union ), вычитания (Subtraction ) или пересечения (Intersection ) исходных объектов.

Рис. 6. Применение булевской операции Substraction

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

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

Создание трехмерных сцен с использованием частиц

Система частиц - способ представления 3D объектов, не имеющих четких геометрических границ. Используется для создания природных явлений, таких как облака, туман, дождь, снег. Доступные в мощных программных продуктах средства анимации свойств систем частиц позволяют существенно упростить создание разнообразных атмосферных явлений, спецэффектов, добиться которых непроцедурными методами было бы непрактично и неэффективно. Система частиц состоит из фиксированного или произвольного количества частиц. Каждая частица представляется как материальная точка с атрибутами, такими как, скорость, цвет, ориентация в пространстве, угловая скорость, и другими. В ходе работы программы моделирующей частицы, каждая частица изменяет своё состояние по определенному, общему для всех частиц системы, закону. Стоит отметить, что частица может подвергаться воздействию гравитации, менять размер, цвет, скорость. После проведения необходимых расчётов, частица визуализируется. Частица может быть визуализирована точкой, треугольником, спрайтом, или даже полноценной трехмерной моделью. Часто у частиц задана максимальная продолжительность жизни, по истечении которого частица исчезает.

Рис. 7.

Моделирование систем частиц требует высокую производительность компьютера. В 3D приложениях, обычно считается, что частицы не отбрасывают тени друг на друга и на окружающую геометрию, и что они не поглощают, а излучают свет, иначе системы частиц будут требовать больше ресурсов из-за большого количества дополнительных вычислений: в случае с поглощением света потребуется сортировать частицы по удалённости от камеры, а в случае с тенями каждую частицу придётся рисовать несколько раз.

NURBS-моделирование

NURBS (Non-uniform ration B-spline) - математическая форма, применяемая в компьютерной графике для генерации и представления кривых и поверхностей. NURBS -кривые всегда имеют гладкую форму. Чаще всего данный способ используется для моделирования органических объектов, анимации лица персонажей. Является самым сложным методом в освоении, но в тоже время самым настраиваемым. Присутствует в профессиональных пакетах 3D моделирования, чаще всего это реализуется включением в эти приложения NURB -графического движка, разработанного специализированной компанией.

Рис. 8. NURB -кривая

Трёхмерная графика – это оптическое зрительное воссоздание графических 3D объектов, в виде визуально-математических форм, воспроизводимых на мониторе компьютера с целью обеспечения реалистического отображения обрабатываемых компонентов и дальнейших манипуляций с ними.

Построение трёхмерных геометрических предметов, базируется на основе прямоугольной системы координат, которая называется «Декартова система координат » в честь французского ученого Рене Декарта (1596 – 1650).

Аббревиатура 3D это условное обозначение графики в трёхмерном исполнении, состоящее из цифры и буквы, что в расширенном виде означает «three-dimensional » – имеющей три измерения.

Трёхмерные модели подразделяются на три типа по функциональному назначению:

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

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

Твердотельное моделирование, это самое полное и самое достоверное построение реального объекта. Результатом построения геометрического тела таким методом является монолитный образец нового изделия, который включает в свой состав такие компоненты как линии, грани, а самое главное, создаётся участок поверхности в пределах геометрической формы объекта с такими важными параметрами как масса тела и объём.

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

Одним из таких инструментов является AutoCAD . Изначально версии этого программного продукта поддерживали двухмерное геометрическое построение, но с течением времени специалисты американской компании Autodesk интегрировали возможность формирования трёхмерных объектов в среде AutoCAD , помимо основного направления программы.

Программы параметрического моделирования, такие как SolidWorks , Autodesk Inventor , Pro/Engeneer , CATIA изначально были созданы для проектирования на основе трёхмерной модели с последующим оформлением, нормативной документации.

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

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

Экспорт/импорт 3D -моделей, можно осуществлять с помощью файлов имеющих следующие расширения:

  • ACIS *.sat
  • STEP AP203/214 *.step,*.stp
  • IGES *.igs,*.iges

Алехина Г.В., Козлов М.В., Спивакова Н.Я.

Алехина Г.В., 2011

Козлов М.В., 2011

Спивакова Н.Я., 2011
Московский финансово-промышленный университет «Синергия», 2011

Часть 2. Основы моделирования трехмерных сцен в 3D Studio MAX

ИЗУЧИВ ТЕМУ, ВЫ БУДЕТЕ

Знать:

· интерфейс программы 3D Studio MAX;

· этапы создания полного 3D-проекта;

· назначение кнопок управления окнами;

· способы геометрического моделирования трехмерных изображений;

· этапы создания изображения в трехмерной графике;

· понятие и назначение модификаторов;

· назначение базовых материалов.

Уметь:

· управлять проекциями;

· управлять окнами программы 3D Studio MAX;

· моделировать трехмерные изображения;

· редактировать целые формы;

· выполнять булевы операции с графическими объектами;

· работать с редактором материалов.

Обладать навыками:

· построения статических и анимационных сцен средствами программы 3D Studio MAX;

· клонирования, выравнивания и создания массивов;

· редактирования отдельных сплайнов;

· рисования деформаций;

· работы с группами объектов;

· создания специальных эффектов;

· визуализации сцен.

ОСНОВНЫЕ ТЕРМИНЫ И ПОНЯТИЯ

· моделирование

· создание материалов

· NURBS-моделирование

· мастер-объект

· модификация

· объект параметрический

· объект составной

· объект сцены

· объекты каркасные

· объекты лоскутные

· подобъект

· примитив

· проекция аксонометрическая

· проекция центральная

· рендеринг

· визуализация

· система координат глобальная

· система координат локальная

· сплайн

· сплайновые формы

· стек модификаторов

· трансформация

· шейдинг

ТЕОРИЯ

2.1. Этапы создания полного 3D-проекта

Одним из наиболее популярных редакторов трехмерной графики, как у любителей, так и у профессионалов в дизайне и создании игр, является 3D Studio Max. Существует достаточно много программных продуктов, которые могут составить ему конкуренцию, а иногда и превосходящих его в чем-то, однако интуитивная простота освоения делает 3D Studio Max незаменимым инструментом. 3D Max идеально подходит для первых шагов в работе с трехмерной графикой, и для многих становится основным инструментом.

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

Рассмотрим основные этапы подробнее:

1. Моделирование – на данном этапе в окнах проекций создаются объекты. Их также можно импортировать из другого графического пакета. Управляя параметрами объекта, трансформируя и модифицируя его, в конечном счете вы должны получить необходимую 3D-модель. Существует несколько техник моделирования, начиная от простого создания объектов из полигонов (треугольные грани, на которые делится поверхность объекта) и заканчивая современным NURBS-моделированием (создание точных поверхностей, которые описываются трехмерными кривыми).

2. Создание материалов (шейдинг) – этап, в ходе которого задается внешний вид объектов, настройка свойств их поверхности. Редактирование материала включает в себя определение его текстуры, а также изменение его свойств – таких, как глянцевость, шероховатость, отражение и т.д. Затем нужный материал наносится на объект находящийся в сцене. На данном этапе также могут быть добавлены специальные эффекты, такие как «Горение» (Сombustion), «Атмосфера» (Аtmosphere), «Туман» (Foq).

3. Освещение. В сцену можно добавить объекты света, чтобы создать тени и освещение, а также произвести настройку их свойств: цвета, интенсивности, теней.

4.Анимация. Когда сцена подготовлена и объекты расположены на своих местах, ее можно воспроизвести и в конечном счете сделать анимационный фильм. Для этого, применив инструмент Анимация (Animate), следует выбрать объект в сцене, после чего его можно перемещать, вращать или задавать более сложные пути, указывая в различных кадрах его месторасположение. Также можно спустя некоторое время изменять параметры объекта, что подействует как эффект оживления. Большинство анимационных эффектов можно увидеть в окнах проекций. Существует несколько приемов анимации объектов. Простейшим из них является «анимация по ключам» – создаются ключевые кадры, а перемещение объектов между ними рассчитывается автоматически, регулировать кадровые ключи анимации можно как автоматически, так и устанавливать их вручную. Для более сложной анимации в 3D Max возможно использование математических выражений или связи с другими объектами. Могут быть добавлены контроллеры движения и ограничения, что способствует воспроизведению более реальной анимации.

5.Визуализация (рендеринг). Как только анимация готова, вы можете все это визуализировать, т.е. сделать рендеринг. Это обычно завершающий, часто самый длительный этап создания трехмерной картинки или трехмерного ролика. Во время рендеринга происходит расчет картинки с использованием всех заданных свойств материалов объектов и источников света, расчет теней, отражений, преломлений и т.д. Длительность рендеринга зависит от множества параметров, таких как разрешение, наличие и количество теней, размытия в движении, просчета вторичных отражений. Файл записывается в видеоформате или сохраняет последовательно изображения в виде отдельных визуализированных картинок. 3D Max поддерживает большинство файловых форматов.

6.Постобработка. После того как визуализация сцены проведена, кадры рендера могут нуждаться в доработке – добавлении таких эффектов, как блики, смазывание, сияние, глубина резкости или в изменении цветовой гаммы.

2.2 Геометрическое моделирование в 3D Studio MAX

3D МАХ – объектно-ориентированная программа, поэтому термин «объект» является для нее основополагающим. Собственно говоря, все, что создается, является объектом. Это и геометрические фигуры, и источники света, кривые и плоскости, а также модификаторы, контроллеры и т.д. Такое разнообразие объектов зачастую ведет к некоторой путанице, поэтому для объектов, созданных при помощи панели Create, часто используется уточнение – «объект сцены».

При создании объекты содержат в себе информацию о том, какие функции для них могут выполняться и каким может быть поведение каждого объекта. Такие операции остаются активными, все остальные операции становятся неактивными или просто скрываются.

Большинство объектов являются параметрическими. Параметрическим называется объект, который определяется совокупностью установок или параметров. Такой объект можно изменять в любое время, просто изменяя эти параметры. Однако следует помнить, что некоторые операции преобразуют параметрические объекты в непараметрические (явные).

Примерами таких операций являются:

1.Объединение объектов одним из модификаторов Edit.

2.Разрушение стека модификаторов.

3.Экспортирование объектов в другой файловый формат, при этом свои параметрические свойства теряют только объекты в экспортированном файле.

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

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

В 3D МАХ манипулировать можно не только целыми объектами, но и частями объектов, которые обозначаются термином «подобъект». Самыми легкими для восприятия являются подобъекты геометрических фигур, такие как вершины или грани, однако это понятие распространяется и на объекты вне сцены.

Примерами подобъектов являются:

1.вершины, сегменты и сплайны объектов форм;

2.вершины, ребра и грани каркасных объектов;

3.вершины, ребра и элементы поверхностей лоскутных объектов;

4.гизмо и центры модификаторов;

5.ключи траекторий движения;

6.операнды булевых объектов;

7.формы и пути loft-объектов;

8.цели morf-объектов;

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

Как было сказано выше, первым шагом в создании полноценного 3D-проекта является создание объектов сцены, которые впоследствии и будут визуализированы. При построении объекта сцены создается процесс, который определяет способ присвоения свойств объекту, модификацию и трансформацию его параметров, искажение объекта в пространстве, отображение готового объекта в сцене. Это процесс называется потоковой схемой .

Потоковую схему можно рассматривать как набор инструкций для сборки объекта. Основными шагами потоковой схемы объекта являются:

1.создание мастер-объекта;

2.модификация (вычисляются модификаторы в том порядке, в котором применялись);

3.трансформация;

4.искажение пространства;

5.определение свойств;

6.включение объекта в сцену.

Термин «мастер-объект» включает в себя параметры первоначального объекта, который создается с помощью панели Create, и является абстрактным определением несуществующего объекта. Мастер-объект содержит такую информацию об объекте, как:

1.тип объекта;

2.параметры объекта;

3.начало координат;

4.ориентация локальной системы координат объекта;

Все объекты имеют уникальные свойства такие, как: имя, цвет, присвоенный материал. Эти свойства следует рассматривать как самостоятельные, так как они не являются ни базовыми параметрами объекта, ни результатом воздействия модификаторов или трансформаций.

2 . 3 . Преобразование объектов

Преобразование объектов сцены можно производить при помощи двух групп инструментов: «Трансформации» и «Модификации». Часто аналогичные преобразования объектов могут быть достигнуты как при применении модификаторов, так и при трансформации объекта. Выбор необходимого метода для преобразования объекта зависит от того, как объект построен и что планируется делать с ним позже. Рассмотрим обе возможности преобразования объектов подробнее.

При помощи трансформаций объекты размещаются в сцене, т.е. изменяется их положение, ориентация и размер. Трансформации включают в себя три вида преобразования объекта:

1.Позиционирование – определяет расстояние начала локальных координат объекта от начала координат мирового пространства.

2.Вращение – определяет угол между локальными осями координат объекта и мировыми координатными осями.

3.Масштаб – определяет размер цены деления осей локальных координат объекта относительно цены деления мировых координатных осей.

Комбинация этих трех видов преобразования объекта составляет матрицу трансформации, а их характеристики можно обобщить в виде трех тезисов:

1.определяют расположение и ориентацию объектов на сцене;

2.влияют на весь объект;

3.вычисляются после всех модификаторов.

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

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

- «Переместить» (Move) – позиционирование (Рис. 4.1).

1.Коробка (Box) – кубическая или прямоугольная.

2.Сфера (Sphere) – является полигональным объектом, т.е. строится на базе четырехугольников.

3.Цилиндр (Cylinder).

4.Тор (Torus).

5.Чайник (Teapot) – является классическим элементом трехмерной графики.

6.Конус (Cone).

7.Геосфера (GeoSphere) – в отличие от сферы, строится на базе треугольников.

8.Труба (Tube) – полый цилиндр.

9.Пирамида (Pyramid).

10.Плоскость (Plane).

Все примитивы имеют редактируемые параметры для управления их определяющими характеристиками. Это позволяет создавать примитивы как в интерактивной форме, так и в явном виде, задавая точные значения параметров.

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

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

1. На панели команд выбираем Create – > Geometry – > Box (Рис. 4.27).

Рис. 4.28. Создание ручки для чашки при помощи редактирования каркасных объектов (шаг 2)

3. Переходим к закладке Modify и применяем модификатор Edit Mesh (Рис. 4.29).

Рис. 4.30. Создание ручки для чашки при помощи редактирования каркасных объектов (шаг 4)

5. После этого все вершины будут выделены синим цветом (Рис. 4.31).

Рис. 4.32 Создание ручки для чашки при помощи редактирования каркасных объектов (шаг 6)

7. На главной панели инструментов выбираем «Перемещение» (Рис. 4.33).

Рис. 4.33. Создание ручки для чашки при помощи редактирования каркасных объектов (шаг 7)

4. Перемещаем выбранные вершины, как показано ниже (Рис. 4.34, Рис. 4.35).

Рис. 4.35. Создание ручки для чашки при помощи редактирования каркасных объектов (шаг 9)

9. Затем сгладим поверхность модификаторомMesh Smooth.Как видно из рисунка, модификатор, применявшийся последним, находится наверху стека (Рис. 4.36).

Рис. 4.38. Соединение чашки и ручки

Рис. 4.39. Просмотр результата

2.12. Настройка и проведение визуализации в 3D Studio MAX

В программе 3DS МАХ диалоговое окно Render Scene (Визуализировать сцену) предоставляет в распоряжение пользователя инструменты, необходимые для визуализации неподвижных изображений и создания анимационных видеофайлов. Выпадающий свиток Render Type (Типы визуализации) на главной панели инструментов позволяет выбрать один из восьми способов визуализации сцены (Рис. 4.120).

«Окно проекции» (View) – визуализируется все окно проекции.

«Выделение» (Selected) – визуализируются только выделенные объекты. Если в окне визуализируемого кадра (rendered frame window) есть изображение, выделенные объекты визуализируются поверх него. Команда «Стереть» (Clear) сбрасывает окно визуализируемого кадра.

«Область» (Region) – визуализируется выбранная пользователем прямоугольная область.

«Обрезка» (Crop) – визуализируется прямоугольная область, а все остальные данные помещаются в окно визуализируемого кадра.

«Увеличение» (Blowup) – прямоугольная область сначала визуализируется, а затем увеличивается до размеров текущего изображения.

«Габаритный контейнер» (Box Selected) – визуализируются только объекты, находящиеся в объеме габаритного параллелепипеда текущего выделения. При этом варианте визуализации задается разрешение получаемого изображения.

«Область с выделенными объектами» (Region Selected) – визуализируется область, заданная ограничивающим параллелепипедом выделения. Разрезание при этом берется из общих установок визуализации.

«Обрезка выделенных объектов» (Crop Selected) – визуализируется область, заданная ограничивающим параллелепипедом текущего выделения, а все остальное обрезается.


Рис. 4.68. Выбор способа визуализации сцены

В процессе визуализации трехмерной сцены в окне «Визуализация» (Rendering) отображаются покадровый и временной индикаторы процесса и время визуализации последнего кадра. Диалоговое окно Rendering отображает настройки построчной визуализации (scanline tenderer) высокого разрешения при создании окончательных изображений (Рис. 4.69).

Рис. 4.69. Диалоговое окно Rendering

Установить параметры процесса можно в диалоговом окне «Визуализация сцены» (Render Scene) (Рис. 4.69). Чтобы открыть данное окно, щелкните мышью по кнопке Render Scene в главной панели инструментов или выберите команду «Визуализация» (Rendering) – «Визуализировать» (Render) (еще можно воспользоваться нажатием клавиши F10 на клавиатуре).

Окно состоит из нескольких вкладок, во вкладке «Общие» (Common) находятся параметры и опции, которыми пользуются все визуализаторы. В разделе Options устанавливаются различные опции визуализации:

· «Контроль цветности» (Video Color Check) – проверяет, находятся ли значения интенсивности пикселей в рамках ограничений видеостандартов PAL или NTSC;

· «Изображать обе стороны» (Force 2-Sided) – визуализирует поверхности на обеих сторонах объектов независимо от установок материала;

· «Атмосферные эффекты» (Atmospherics) – визуализирует атмосферные эффекты;

· «Эффекты» (Effects) – включает эффекты визуализации, настраиваемые во вкладке Effects;

· «Сверхчернение» (Super Black) – ограничивает черноту пикселей в режиме видеоизображения;

· «Смещение» (Displacement) – включает визуализацию карт смещения;

· «Визуализировать скрытую геометрию» (Render Hidden Geometry) – визуализирует скрытые объекты;

· «Визуализация полей» (Render to Fields) – независимо от использования кадров визуализирует два поля чередующихся линий для видео. Используется для сглаживания движения.

Рис. 4.70. Диалоговое окно «Визуализация сцены» (Render Scene),
вкладка «Общие» (Common)

В разделе «Улучшенное освещение» (Advanced Lightning) расположены опции, отвечающие за непрямое освещение.

Во вкладке «Выход визуализации» (Render Output) расположены установки, отвечающие за файлы и диалоговые окна, в которые будет вестись визуализация.

Во вкладке «Визуализация элементов» (Render Elements) находятся инструменты, позволяющие вести визуализацию различных элементов по отдельности (Рис. 4.71).

«Элементы включены» (Elements Active) – включает визуализацию выбранных элементов в различные файлы. Элементы выбираются кнопками Add и Merge и показываются в поле ниже.

«Показ элементов» (Display Elements) – включает показ выбранных элементов в различных окнах визуализированного кадра.

Рис. 4.71. Диалоговое окно Render Scene, вкладка «Визуализация элементов» (Render Elements)

Во вкладке «Визуализатор» (Renderer) расположены элементы управления активным визуализатором (Рис. 4.71). Переключение визуализаторов производится в разделе «Назначить визуализатор» (Assign Renderer) во вкладке Common. По умолчанию включен «Построчный визуализатор» (Scanline Renderer), о чем написано в заголовке окна. Доступны следующие настройки построчного визуализатора.

Свиток Default Scanline Renderer предназначен для настройки параметров, присущих только построчному визуализатору.

Для других визуализаторов этот раздел имеет иной вид:

· «Наложение карт» (Mapping) – включает визуализацию карт;

· «Тени» (Shadows) – включает визуализацию теней;

· «Автоотражение/преломление и зеркала» (Auto-Reflect/Refract and Mirrors) – включает визуализацию карт «Отражение/преломление» (Reflect / Refract);

· «Изображать каркас» (Force Wireframes) – изображаются только каркасы объектов независимо от установок материала;

· «Толщина каркаса» (Wire Thickness) – устанавливает толщину каркаса, если включена опция Force Wireframes.

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

«Сглаживание неровностей контуров» (AntiAliasing) – сглаживает растровые неровности контуров.

«Фильтрация карт» (Filter Maps) – включает пирамидальную фильтрацию изображений и фильтрацию по суммарной площади.

В разделах «Размытие при движении объекта» (Object Motion Blur) и «Размытие при движении изображения» (Image Motion Blur) опциями Apply включается визуализация соответствующих размытий.

«Сохранение памяти» (Conserve Memory) – при включении этой опции, расположенной в разделе Memory Management, потребление памяти сокращается на 15–25 % за счет увеличения времени визуализации примерно на 4 %.

Рис. 4.72. Диалоговое окно Render Scene,
вкладка «Визуализатор» (Renderer)

Для начала визуализации щелкните по кнопке Render Scene. В группе Render Output щелкните по кнопке «...» рядом надписью «Сохранить файл» (Save File). Появится диалоговое окно «Файл вывода визуализации» (Render Output File).

Выберите формат файла из выпадающего списка «Сохранить как файл типа» (Save as Type) и укажите имя изображения (Рис. 4.73).


Рис. 4.73. Диалоговое окно Render Output File, выпадающий список «Сохранить как файл типа» (Save as Type)

Чтобы результаты следующей визуализации были сохранены в файле, установите флажок Save File («Сохранить файл») в окне Render Scene (Рис. 4.74).

Рис. 4.74. Сохранение результатов визуализации в файле

В диалоговом окне Render Scene раздел «Размер изображения на выходе» (Output Size) определяет разрешение визуализируемого изображения по ширине и высоте в пикселях. По умолчанию установлено разрешение 640x440. Щелчком по кнопке примените команду Render Scene (Рис. 6.74).

В разделе «Размер на выходе» (Output Size) во вкладке Common выберите размер изображения на выходе, щелкнув по соответствующей кнопке или задавая значения в полях «Ширина» (Width) и «Высота» (Height).

Теперь размер изображения установлен, и визуализация будет производиться в изображении заданного разрешения.

Рис. 4.75. Определение разрешения визуализируемого изображения

Для тренировки будет достаточно невысокого разрешения, например 320x240. Щелкнув мышью по значку блокировки рядом с опцией «Отношение сторон изображения» (Image Aspect), можно запретить изменение пропорций рисунка.

Щелчком правой кнопкой мыши по одной из кнопок стандартного разрешения раскрывается диалоговое окно «Выбор стандарта» (Configure Preset). Выпадающий список в этой группе содержит используемые в различных приложениях стандарты разрешений и пропорций. Из списка Output Size пользователь может выбрать параметры различных фото-, кино- и видеостандартов (Рис. 4.76).


Рис. 4.76. Настройка параметров

Итак, попробуем провести визуализацию нашей картинки с вазой. Откройте в 3DS МАХ файл с этой сценой и нажмите кнопку Render Scene. В диалоговом окне «Визуализация сцены» (Render Scene) установите параметры процесса визуализации. Нажмите кнопку Render , начнется визуализация, время визуализации напрямую зависит от сложности сцены, размера итогового изображения и обратно пропорционально вычислительной мощности компьютера (Рис. 4.77).


Рис. 4.77. Визуализация изображения с вазой (шаг 1)

Изображение откроется в отдельном окне. В нашем случае мы видим только вазу и черное пространство, поскольку никаких других объектов на сцене нет и быть не может (мы их не создали). Для того, что бы сохранить полученное изображение в файле, требуется нажать на кнопку «Сохранить» (Рис. 4.78).


Рис. 4.78. Визуализация изображения с вазой (шаг 2)

В открывшемся диалоговом окне введите имя файла (точечного изображения) и его формат (например. jpg ). Нажав на кнопку «Сохранить», вы сохраните результат рендеринга в нужной директории.

Кстати, более реалистичной передачи информации цвете и интенсивности освещения можно добиться, сохранив результат в формате HDR. HDRI (High Dynamic Range Image) обладает более широким динамическим диапазоном по сравнению с другими графическими форматами. В трехмерной графике HDRI часто используются в качестве карты окружения для создания реалистичных отражений. Для добавления карты окружения в 3DS Max нужно выполнить команду Rendering > Environment, в свитке Common Parameters нажать кнопку параметра Environment Map, в открывшемся окне Material/Map Browser выбрать карту Bitmap и указать путь к файлу в формате HDR (Рис. 4.79).


Рис. 4.79. Визуализация изображения с вазой (шаг 3)

2.13. Создание специальных эффектов

Постобработка визуализированного изображения применяется при создании различных эффектов, выходящих за рамки трехмерной графики. Эффекты в 3DS МАХ позволяют управлять цветопередачей, искажать изображение, добавлять зернистость, добавлять блики и т.д.

Для добавления эффектов в трехмерную сцену требуется выполнить команду «Визуализация» (Rendering ) – « Эффекты»(Effects ), а затем перейти на вкладку «Эффекты»(Effects ). В окне «Окружение и эффекты»(Environment and Effects ) нажмите кнопку «Добавить»(Add ) и выберите нужный эффект. После добавления эффекта ниже в окне «Окружение и эффекты» появятся настройки эффекта.

Для удаления эффекта нажмите кнопку «Удалить»(Delete ). Используя настройки области «Предварительный просмотр»(Preview ) под списком «Эффекты»(Effects ), можно управлять визуализацией эффектов.

При установленном флажке «Интерактивный»(Interactive ) сцена будет визуализироваться при каждом изменении параметров эффектов. Эту функцию удобно использовать, когда необходимо задать определенный вид эффекта (Рис. 4.80).

Рис. 4.80. Окно настройки отображения эффектов

Рассмотрим некоторые из эффектов постобработки подробнее. Очень часто для добавления реалистичности требуется имитация световых бликов, которые возникают при съемке реальных объектов и обусловлены формой линз.

В 3DS МАХ есть особая группа эффектов, позволяющих имитировать такие блики, это группа эффектов «Эффекты линзы»(Lens Effects ).

Существует несколько основных форм бликов.

· «Свечение»(Glow ) – блик, создающий свечение вокруг ярких участков изображения.

· «Круг»(Ring ) – блик в виде круга, расположенного вокруг центра свечения.

· «Луч»(Ray ) – эффект в виде прямых лучей, исходящих из центра свечения.

· «Вторичный блик с автоматической настройкой»(Auto Secondary ) – создает дополнительный блик в форме круга, положение которого зависит от положения камеры.

· «Вторичный блик с ручной настройкой»(Manual Secondary ) – применяется как дополнение к эффекту «Вторичный блик с автоматической настройкой»(Auto Secondary ) и дает возможность добавить блики других размера и формы. При использовании этого эффекта на изображение добавляется только один блик. Эффект «Вторичный блик с ручной настройкой»(Manual Secondary ) может использоваться отдельно.

· «Звезда» (Star) – добавляет блик в виде звезды. Этот эффект напоминает «Луч» (Ray), однако при его создании применяется меньшее количество лучей (от 0 до 30).

· «Вспышка света» (Streak) – блик в виде двустороннего прямого луча, исходящего из центра свечения и уменьшающегося в размерах по мере удаления.

При добавлении Lens Effects следует выбрать эффект в свитке «Параметры эффектов линзы»(Lens Effects Parameters ), в правом списке обозначены эффекты, которые используются в сцене (Рис. 4.81). При выделении их в этом списке появляются параметры каждого из них.

Используя параметры свитка «Общие параметры эффектов линзы»(Lens Effects Globals ), можно выбирать источник света, к которому будут применяться эффекты. Источник можно указать, нажав кнопку «Указать источник света» (Pick Light ) и выделив его в сцене.

Наборы эффектов линзы с заданными параметрами можно сохранять в виде файлов с расширением LZV для использования в разных проектах.


Рис. 4.81. Отображение бликов

КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Из чего состоит сцена 3DS МАХ?

2. Как трехмерная сцена отображается на экране?

3. Что такое сетчатая оболочка тела и из каких стандартных элементов она состоит?

4. Как можно просто анимировать сцену?

5. Какой общий порядок разработки сцены?

6. Сколько списков команд входит в основное меню 3DS МАХ и в чем назначение каждого из этих списков?

7. Какие бывают разновидности контекстных меню и как они раскрываются?

8. Что такое четвертное меню?

9. Для чего нужны окна проекций и где находятся кнопки управления ими?

10. В чем состоит назначение командных панелей, сколько их и где они располагаются?

11. Какое количество панелей инструментов используется в программе, в чем состоит принципиальное отличие основной панели от дополнительных?

12. Где располагаются общедоступные средства работы с анимацией и из каких трех групп элементов они состоят?

13. Чем отличаются модальные диалоговые окна от немодальных?

14. Что представляют собой геометрические тела и какие бывают их разновидности?

15. Что такое контурные объекты, какие бывают их разновидности и чем они между собой различаются?

16. Какие типы проекций используются в 3DS МАХ?

17. Что такое вид сцены?

18. Какие операции могут выполняться при конфигурировании окон проекций?

19. Какие два режима отображения сцены используются чаще всего, как они называются и что собой представляют?

20. Как задается качество отображения прозрачности в окнах проекций?

21. Как регулируются параметры вида сцены в окнах проекций?

22. С помощью каких команд можно восстановить прежние параметры вида сцены или предыдущий вид?

23. В каких случаях вам может понадобиться режим отображения внутренней поверхности тел?

24. С помощью какого средства программы можно настроить параметры освещения сцены в окнах проекций встроенными осветителями?

25. Сколько систем координат используется в программе и где они выбираются?

26. В чем состоит назначение текущих и системных единиц измерения?

27. Какие три типа сеток используются в программе?

28. В чем состоит технология обработки с использованием модификаторов?

29. Какие существуют два альтернативных способа подключения модификаторов к обрабатываемому объекту?

30. Что представляет собой стек модификаторов и где он находится?

31. Какие операции допускается выполнять с помощью мыши в окне стека модификаторов?

32. Что понимается под операцией сворачивания модификаторов?

33. В каких случаях следует задавать высокое разрешение сетчатой оболочки обрабатываемого объекта?

34. Когда выводится на экран информационная панель Warning?

35. Что представляет собой система частиц и из каких основных частей она состоит?

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

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

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

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

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

Каркасное представление объекта часто используется не при моделировании, а при отображении моделей как метод визуализации.

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

Рис. 7.1. Одна и та же каркасная модель (а) может описывать и куб (б), и открытую сверху коробку (в).

Развитием каркасной модели является кусочно-аналитическая граневая модель , которая задается перечислением всех отдельных граней. Объект задается множеством ограничивающих его граней и нормалью, направленной из объекта; каждая грань задается циклом ограничивающих ее ребер; каждое ребро – двойкой ограничивающих его точек (вершин); каждая точка – тройкой координат в трехмерном пространстве. Т.е. граневая модель представляет трехмерный объект в виде замкнутой поверхности.

Совокупность граней, представленных плоскими многоугольниками и ограниченных прямолинейными ребрами, образует полигональную сетку . Грани могут иметь любую форму, но в подавляющем большинстве случаев используются выпуклые многоугольники с минимальным количеством вершин (треугольники и четырехугольники), т.к. их обсчет выполняется проще.

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

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

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

В отличие от граневой модели, объемно -параметрическая модель рассматривает объект как сплошное тело. Объект описывается как совокупность некоторых базовых объемных элементов формы (объемных примитивов). Каждый примитив в модели задается двумя группами параметров:

    размерные параметры – определяют геометрические размеры примитива;

    параметры положения – устанавливают положение и ориентацию примитива относительно мировой системы координат.

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

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

Кроме этих параметров задаются операции над примитивами, в качестве которых используются три основные операции теории множеств – объединение, пересечение и вычитание. Объединением двух примитивов является объект, включающий все точки исходных примитивов. Пересечением двух примитивов является объект, все точки которого принадлежат одновременно и первому, и второму примитиву. Результатом вычитания двух примитивов является объект, состоящий из тех точек первого примитива, которые не принадлежат второму примитиву .

Недостатком объемно-параметрической модели является отсутствие явных границ отсеков граней в случае взаимопроникновения примитивов.

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

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

Для моделирования элементов сложной формы можно использовать изменение размеров контура или его положения относительно траектории во время движения.

Достоинством модели является практическое отсутствие ограничений на сложность формируемого объекта. К недостаткам относится сложность задания элементов.

К геометрическим объектам КГ относятся:

  • а) точка, отрезок, прямая, плоскость;
  • б) кривые линии (плоские и пространственные);
  • в) многогранники;
  • г) поверхности: линейчатые и криволинейные;
  • д) элементарные геометрические тела (объёмные примитивы): параллелепипед, конус, цилиндр и т.д.;
  • е) составные геометрические объекты, полученные из объёмных примитивов с использованием операций геометрического синтеза: соединение, пересечение, разность, дополнение;
  • ж) объёмные фигуры произвольной формы.

Для отражения разнообразных свойств геометрических объектов КГ применяют различные геометрические модели: аналитические, рецепторные, структурные, кинематические, составные.

Аналитические модели геометрических объектов трёхмерной КГ

В КГ принято, что ось Z направлена перпендикулярно плоскости экрана, а оси x и y лежат в плоскости экрана.

При описании геометрических объектов возможны два подхода:

точное аналитическое описание объектов;

описание объектов приближенными методами: интерполяции и аппроксимации.

Формы задания прямой в пространстве. В аналитической геометрии прямая, проходящая через точку в заданном направлении, определяется уравнением (рис. 11,а).

где r1 - радиус - вектор заданной точки на прямой; a - единичный вектор, задающий направление; t - параметр.

Пример 4. Прямая, проходящая через точку (1, 2, 3) и в направлении (1/, -1/, 1/), определяется соотношением

Координаты точек этой прямой определяются

x = 1+, y = 2 - , z = 3+,

Если прямая проходит через две точки Р1 Р2, то для произвольной точки пространства Р (рис.11,б) запишем уравнение

Отсюда r = r1+t(r2 - r1),

и в конечном итоге r = (1- t)r1+tr2. (20)

Рис. 11. Различные способы задания прямой

X = (1- t) + 5t =1 + 4t;

Y = 2(1- t) + 6t =2 + 4t;

Z = 3(1- t) + 7t =3 + 4t

Формы задания плоскости. Уравнение вида

Ax + By + Cz + 0 = 0,

где A, B, C не равны нулю одновременно, определяет плоскость.

Плоскость, проходящая через точки A, B, C, заданные радиусами-векторами a, b, c, (рис.12) определяется уравнением

r = a+ u(b-a) + х(c-a),

где u, х - параметры.


Рис. 12.

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

Параметрическое задание пространственной кривой имеет вид

где функции x(u), y(u), z(u) - непрерывные на отрезке .

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

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

Первый вариант - проволочное описание, при котором многогранник задается списком рёбер: каждое ребро - прямая, заданная двумя точками в локальной координатной системе (рис.13, а). Недостатком проволочной модели является то, что она не содержит достаточной информации для построения изображения с удалением линий невидимого контура.

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

Рис. 13. Представление многогранника

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

Одним из решений представления кусочных поверхностей является построение отсека поверхности, ограниченного плоскими кривыми. Другой способ предусматривает для задания формы поверхности точек-ориентиров таким образом, как это делалось на плоскости для кривых Безье.

Простейшим средством интерполирования в трехмерном случае является треугольник, заданный тремя точками: Р1, Р2, Р3. Поверхность треугольника, вершины которого находятся в указанных точках, определяется уравнением

Из уравнения (21) следует, что T(1,0) = P1; T(0,1)=P2; T(0,0) = P3.

Кроме того, T(u,0) - прямая, соединяющая точки: P1и P2, T(0,) - прямая, соединяющая точки P2 и P3; T(u,1-u) - прямая, соединяющая точки P1 и P2 (рис.14). Следовательно, уравнение (19) определяет плоскость, проходящую через точки P1, P2 ,P3.

Рис. 14.

Такой способ интерполяции поверхности треугольниками получил название триангуляции.

Пример 6. Рассмотрим точки P1(1,0,0), P2(0,1,0) и P3(0,0,1). Координаты x, y, z каждой точки плоскости определяются следующими выражениями:

z (u,) = 1-u- или

Более сложным является случай интерполяции, когда отсек поверхности задаётся четырьмя точками: P1, P2 ,P3, P4 (рис.15).

Рис.15.

Поверхность Т(u,) определяется уравнением

T(u,) = P1(1-u)(1-)+ P2(1-u) +P3u(1-) + P4u. (22)

Если четыре точки компланарны, то Т(u,) представляет плоский четырёх угольник, в противном случае - поверхность второго порядка.

Пример 7. Рассмотрим точки P1(0,0,0), P2(0,1,0), P3(1,0,0), P4(1,1,1). Координаты каждой точки интерполяционной поверхности определяются уравнениями, получаемыми подстановкой координат в (22)

x (u,) = u, y (u,) = , z (u,) = u, или

Если в уравнении прямой (20) заменить векторы r1 и r2 на P(0,) и P(1,) - уравнения пространственных кривых, то получим уравнение линейчатой поверхности. Такая поверхность образуется прямой, скользящей по двум кривым, называемым направляющими. Уравнение линейчатой поверхности (рис.16) определяется

T(u,) = (1-u)P(0,)+ uP(1,). (23)

Рис. 16.

Как обобщение интерполяции поверхности по четырем точкам можно рассматривать интерполяцию поверхности по методу С. Инаба, в котором заданы четыре точки и значения частных производных и в этих точках (рис.17).

Рис. 17.

Уравнение (24) имеет 16 коэффициентов. Для их определения даны координаты четырёх точек и значения частных производных и в каждой точке. Каждый угол, таким образом, даёт по три параметра. Недостающие четыре параметра даёт задание координат четырёх точек, лежащих внутри поверхности.

В 1960 году Кунсом был разработан метод интерполяции поверхности по четырем граничным кривым (рис.18).

Рис. 18.

Рассматривая кривые P(0,) и P(1,) как направляющие, можем записать в соответствии с (23) уравнение линейчатой поверхности:

T1(u,) = (1-u)P(0,)+uP(1,). (25)

Линейная интерполяция в -направлении даёт линейчатую поверхность

T2(u,) = (1-)P(u,0)+ P(u,1). (26)

Их сумма Т1+Т2 задаёт порцию поверхности, каждая из границ которой является суммой граничной кривой и отрезка, соединяющего концевые точки этой кривой. Это легко проверить: если подставить =0, то граница определяется не P(u,0), а выражением

T(u,0) + [(1-u)P(0,)+ uP(1,0)].

Следовательно, для получения поверхности интерполяции необходимо из суммы поверхностей Т1 и Т2 вычесть уравнение четырёх прямых, соединяющих концевые точки, аналогичных (22):

T(u,) = (1-u)P(0,)+uP(1,) +(1-)P(u,0)+ P(u,1) -

P(0,0)(1-u)(1-) -P(0,1)(1-u) - P(1,0)u (1-) - P(1,1)u. (27)

Последовательные подстановки u=0, u=1, =0, =1 подтверждают, что порция поверхности (27) имеет четыре заданные кривые своими границами.

Вспомогательные функции u; (1-u); ; (-1) называют функциями смещения, т.к. они соединяют воедино четыре отдельные граничные кривые. Можно обобщить формулу (27), если использовать вместо u(1-u), v(1-v) функции слияния (рис. 19).

Рис. 19.

Часто в КГ в качестве исходных данных для конструирования поверхности выступают не граничные кривые, а точки-ориентиры. Обобщая формы записи кривой Фергюсона (13) и кривой Безье (15) для n=3 получим соответственно уравнения поверхностей, допуская зависимость a0, a1, a2, a3 от второго параметра:

где - вершины характеристического многоугольника (рис.20).

Рис. 20.

Форма многогранника даёт хорошее представление о форме поверхности, и изменение одной или более точек ориентиров модифицирует её предсказуемым образом. Заметим, что поверхность Безье проходит только через точки

Кроме поверхностей, полученных способами интерполяции и с помощью характеристических многогранников, в КГ широко используются объекты, представляющие собой поверхности вращения. Поверхность вращения получается вращением плоской кривой, которую называют образующей, вокруг некоторой прямой, называемой осью вращения. Каждая точка образующей при своём вращении вокруг оси описывает окружность. Коническая поверхность получается вращение прямой l вокруг оси i. При этом образующая и ось имеют точку пересечения (рис.21, а). Цилиндрическая поверхность получается в случае, если образующая l параллельна оси i (рис.21, б).


Рис. 21. Примеры поверхностей вращения

Если за ось вращения принять ось у, образующую обозначить f(u), то уравнение поверхности может быть записано (рис.22)

r(u,) = f(u)(cose1 + sine2) + ua0, (30)

где e1, e2 - единичные векторы, идущие вдоль осей z и х; a0 - единичный вектор в направлении оси вращения.

Если образующая задана уравнением

то из уравнения (30) при a0=1 получаем уравнение конической поверхности вращения (см. рис.21, а) в параметрическом виде:

r(u,) = u.

Рис. 22.

Представление объёмных примитивов. В КГ под объёмными примитивами (элементарными геометрическими телами) понимают тела: конус, цилиндр, сфера, параллелепипед, тор, пирамида, призма. Для того чтобы записать уравнение объёмного примитива, необходимо в уравнении поверхности вместо равенства перейти к неравенству. Например, уравнение

x2 + y2 +z2 = R2

есть уравнение сферы, а неравенство

задаёт объёмный примитив, также именуемый сферой.

Синтез составных геометрических объектов (СГО) из объёмных примитивов выполняется с использованием геометрических операций, аналогичных операциям над множествами. Цель геометрического синтеза -получение описания сложного объекта. К операциям геометрического синтеза относятся: объединение, пересечение, разность, дополнение. На рис.23 показаны примеры операций геометрического синтеза.

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

Метод контактного соединения используется для синтеза объектов из элементарных ГО, соединение которых осуществляется по плоским контурам. Примером контактного соединения будет объединение объектов, изображенное на рис.23, б.

Метод соединения с проникновением предполагает следующую последовательность шагов:

  • а) определение объёмных примитивов V1 и V2;
  • б) определение пар потенциально пересекающихся поверхностей;
  • в) аналитическое определение кривой пересечения для любой пары пересекающихся поверхностей и удаление тех сегментов кривой, которые не лежат внутри пересекающихся поверхностей;
  • г) сегментация поверхностей в соответствии с полученной линией пересечения;
  • д) удаление сегментов поверхностей.

Рис. 23.

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

Задание толщиной: S = F1(C, P, D, L). Опорный контур С перемещается в плоскости Р (по умолчанию это плоскость z = 0); второй контур определяется переносом контура С по направлению вектора D на расстояние L.

Задание вращением: S = F2(C, A). С помощью контура С (разомкнутого или замкнутого) образуется сплошное тело вращением вокруг оси А.

Задание списком контуров: S = F3(LC, LP, LR, LS), где LP(i) - плоскость, в которой лежит LC(i) - контур, LR(i) - первый из соединяемых объектов, LS(i) - направление обхода контура.

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