Использование функции "массив". Применение булевых операций
Цель работы: Изучение основных приемов размножения объектов с помощью функции «массив»; изучение технологии создания объектов с помощью булевых операций.Булевы операции
Булевы операции (часто их называют логическими) пришли в 3D графику из математики, точнее, из булевой алгебры (названной в честь ее создателя - Джорджа Буля) и основаны на понятиях объединения, пересечения и исключения. В 3D Studio Max существует три основных булевых операции, результаты применения которых показаны на рисунке 1:- Объединение (соединение объектов в один).
- Пересечение (в булевый объект входят только общие части исходных объектов).
- Исключение (вырезание).
Объединение. Результирующий объект, полученный объединением двух объектов, содержит все точки двух исходных объектов-операндов, за исключением дубликатов общих точек.
Пересечение. Объект, полученный в результате операции пересечения, содержит только те точки, которые являются общими для двух исходных объектов.
Вычитание. Объект, который получается в результате выполнения этой логической операции, содержит только точки первого объекта за исключением тех точек, которые являются общими для двух объектов. Операция логического вычитания одного объекта из другого является некоммутативной. Другими словами, разность А - В – это не то же самое, что разность В - А.
Использование булевых операций
Булевы операции в 3D Studio Max можно выполнять только над двумя объектами. Эти объекты должны пересекаться, т.е. содержать общие точки. Булевы операции позволяют создавать составные объекты, выполняя операции объединения, вычитания и пересечения частей двух объектов. К булевым операциям можно получить доступ следующим образом (рис. 2).
Рисунок 1. Получение доступа к булевым операциям. Вначале требуется выделить объект, который будет участвовать в операции первым, т.е. будет объектом А в одном из окон проекций. Затем необходимо щелкнуть на вкладке Create (Создать) панели команд и на кнопке Geometry (Геометрия). В раскрывающемся списке под этой кнопкой выберите режим Compound Objects (Составные объекты). В ветви Object Type (Тип объекта) щелкните на кнопке Boolean (Булевы операции). В панели команд появится свиток с операциями, которые можно выполнять применительно к объектам. Булевы операции упоминают в сочетании с еще одним термином – операндом. Операнд – это переменная, присвоенная выбранным объектам во время выполнения операции. Операнд во многом подобен переменным, используемым в алгебре при составлении уравнений. Например, переменные А и В можно использовать для представления двух объектов, к которым будет применена булева операция.
- Union (Объединение). Эта функция объединяет два объекта в один и удаляет перекрывающиеся или накладывающиеся области.
- Intersection (Пересечение). Эта функция создает объект, который содержит только перекрывающиеся области обоих объектов.
- Substraction [A-B] (Вычитание [А-В]) и Substraction [B-A] (Вычитание [В-А]). Эта операция позволяет удалить один из объектов и любые перекрывающиеся области объектов. При операции данного типа выбор А-В приводит к вычитанию объекта В из объекта А, а В-А – к вычитанию объекта А из В.
- (Добавлена в старших версиях программы) Cut (Разрез). Эта функция рассекает операнд А операндом В. Она работает аналогично модификатору Slice (Сечение), который позволяет рассечь каркас. Обратите внимание на наличие четырех вариантов вырезания: Refine (Уточнение), Split (Расщепление), Remove Inside (Удаление внутри), Remove Outside (Удаление снаружи).
- Операция Refine добавит в операнд А новые вершины и ребра в местах его пересечения с операндом В. Операция Split рассечет объект на два куска. Операции Remove Inside и Remove Outside удалят из операнда А все грани, которые находятся, соответственно, внутри и снаружи операнда В.
Объекты типа Boolean (Булевы) создаются за счет применения к оболочкам двух трехмерных тел операций булевой алгебры. Оболочки исходных тел, участвующих в булевой операции – операнды (operands), обязательно должны пересекаться. Из двух объектов, участвующих в булевой операции, один должен быть выделен до ее начала (операнд А), а другой (операнд В) указывается в ходе операции. После выделения одного из объектов, необходимо выбрать переключатель той операции, которую нужно выполнить. После того, как эти элементы выбраны, следует выбрать переключатель одного из типов копирования:
- Move (Переместить) – в этом случае в логической операции участвует сам объект. Он пропадет после выполнения операции.
- Сору (Копия) – в операции участвует копия второго объекта. Сам объект остается при этом без изменения.
- Reference (Ссылка) – в операции принимает участие ссылка на второй объект.
- Instance (Экземпляр) – в операции принимает участие экземпляр второго объекта.