Булевы операции
Булевы операции
Булевы операции применяются к трехмерным объектам для управления их формой. С помощью булевых операций легко можно вырезать в объекте отверстие, получить деталь сложной формы и многое другое. Кроме того, булевы операции применяют, чтобы упростить геометрию объекта посредством удаления невидимых поверхностей.
Булевы операции всегда применяются к двум объектам. Первый объект (который выделен) называется операндом А. Второй объект (который следует указать) – операнд Б. Тип булевой операции и взаимное расположение объектов определяют конечный результат. Объекты, к которым планируется применить булевы операции, должны иметь общую область, то есть соприкасаться друг с другом.
Существует четыре основных типа булевых операций:
• Union (Сложение) – операция предназначена для объединения двух исходных объектов, при этом общая область двух объектов удаляется (рис. 4.16, а);
• Intersection (Пересечение) – булев объект состоит только из общей области исходных объектов (рис. 4.16, б);
Рис. 4.16. Булевы операции Union (Сложение) и Intersection (Пересечение) с участием двух объектов – бутылки и сферы
• Subtraction (А – В) (Вычитание (А –Б)) и Subtraction (В – А) (Вычитание (Б –А)) – один исходный объект вырезает отверстие из другого исходного объекта (рис. 4.17);
Рис. 4.17. Булева операция Subtraction (А – В) и Subtraction (В – А) (Вычитание) с участием двух объектов – бутылки и сферы
• Cut (Разрезание) – операция предназначена для разрезания одного объекта другим (рис. 4.18).
Рис. 4.18. Булева операция Cut (Разрезание) с участием двух объектов – бутылки и плоскости
Для применения булевых операций нужно сделать следующее.
1. Создать два исходных объекта и убедиться, что они пересекаются.
2. Выделить один из объектов (выделенный объект автоматически получает имя – объект А).
3. Создать составной объект Boolean (Булев) одним из следующих способов:
• выбрать команду меню Create ? Compound ? Boolean (Создать ? Составные ? Булев);
• на вкладке Create (Создание) командной панели активизировать категорию создания трехмерных объектов Geometry (Геометрия), раскрыть список подкатегорий (там, где написано Standard Primitives (Стандартные примитивы)), выбрать строку Compound Objects (Составные объекты) и в свитке Object Type (Тип объекта) нажать кнопку с названием операции – Boolean (Булев). В свитке Parameters (Параметры) в области Operands (Операнды) появится имя операнда А.
4. Установить переключатель Operation (Операция) в положение, соответствующее нужной операции.
5. В свитке Pick Boolean (Выбрать булев объект) нажать кнопку Pick Operand B (Выбрать операнд Б), после чего в любом окне проекции щелкнуть на втором исходном объекте.
Если после применения операции понадобится изменить параметры операндов (например, изменить радиус сферы), следует на командной панели переключиться на вкладку Modify (Редактирование), в стеке модификаторов щелкнуть на плюсике слева от названия объекта Boolean (Булев). В появившемся списке перейти на единственный уровень редактирования – Operands (Операнды), затем в свитке Parameters (Параметры) в списке Operands (Операнды) щелкнуть на соответствующей строке. В стеке модификаторов под строкой Boolean (Булевы) появится строка-идентификатор соответствующего операнда. Щелчок на этой строке отобразит параметры операнда (рис. 4.19).
Рис. 4.19. Управление параметрами операндов осуществляется в стеке модификаторов
По умолчанию при выполнении булевой операции исходный объект Б удаляется. Однако если вы хотите, чтобы он оставался в сцене в том виде, в котором он присутствовал до булевой операции, необходимо до ее выполнения изменить положение переключателя в свитке Pick Boolean (Выбрать булев объект). Этот переключатель имеет четыре положения:
• Move (Перемещение) – после выполнения булевой операции объект Б удаляется. По умолчанию используется именно это положение;
• Copy (Независимая копия объекта) – булева операция выполняется с копией объекта Б, а сам объект остается в сцене;
• Instance (Привязка) – булева операция производится с зависимой копией объекта Б. При этом исходный объект остается в сцене, а изменение параметров одного из объектов (исходного или булевого) влечет за собой изменение параметров другого;
• Reference (Подчинение) – создается копия объекта Б, которая частично зависит от исходного объекта.
Внимание!
Иногда булевы операции выполняются некорректно, поэтому, перед тем как их производить, будет нелишним создать временную копию сцены, используя команду Edit ? Hold (Правка ? Записать). В случае сбоя операции можно восстановить сцену из файла фиксации, используя команду Edit ? Fetch (Правка ? Восстановить).
Начиная с девятой версии программы в 3ds Max есть два набора инструментов для работы с булевыми операциями – составной объект Boolean (Булев) и модуль ProBoolean (Пробулевы объекты).
При работе с последним операции объединения, пересечения и вычитания добавляют сетку и позволяют создавать сложные комплексные объекты. Использование объекта ProBoolean (Пробулевы объекты) позволяет исправлять топологию модели и удалять неправильные треугольники. Тем самым создаются качественные полигональные модели с минимальным количеством коротких ребер и мелких треугольников.
Важное отличие от традиционной операции Boolean (Булевы) заключается в возможности выполнять логическую операцию за одно действие, последовательно указывая несколько объектов, участвующих в операции.
При работе с модулем ProBoolean (Пробулевы объекты) нельзя указать порядок выполнения операции. В любом случае при вычитании из выделенного объекта будет выполнено вычитание невыделенного объекта.
Одним из преимуществ модуля ProBoolean (Пробулевы объекты) является то, что сетка поверхности, полученной с его помощью, может включать в себя четырехугольные грани. Это дает возможность сгладить резкие углы на стыке булевых объектов. Для использования этой возможности нужно до выполнения операции установить флажок Make Quadrilaterals (Создание четырехугольников) в свитке настроек Advanced Options (Дополнительные настройки) параметров составного объекта ProBoolean (Пробулевы объекты). Модуль ProBoolean (Пробулевы объекты) позволяет создавать топологию таким образом, чтобы после применения к результирующей поверхности сглаживающих модификаторов MeshSmooth (Сглаживание сетки) или TurboSmooth (Турбосглаживание) на месте соединения формировались скругленные участки.
В большинстве случаев имеет смысл использовать именно модуль ProBoolean (Пробулевы объекты), поскольку результаты его работы более корректны. Однако принцип моделирования остается неизменным, какой бы из способов работы с булевыми объектами ни был выбран.
Для практического закрепления теоретического материала выполните упражнение «Упражнение 4. Оконные и дверные проемы» из раздела «Практика» данной главы.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
16.1. Операции tty
16.1. Операции tty Устройства tty предоставляют огромное количество опций обработки данных; они относятся к наиболее сложным устройствам ядра. Настраивать можно опции обработки входных и выходных данных, а также потока данных. Также можно контролировать ограниченное
Код операции MI
Код операции MI В таблице 4.14 показано назначение битов кода операции MI. Бит 3 задает вычислительный или невычислительный формат команды. Во втором случае функция, которая должна быть выполнена, закодирована в битах 5-15 кода операции. Функция, выполняемая вычислительной
Операции
Операции Операция представляет собой любой шаг или функцию, чье мысленное или физическое выполнение имеет поставленную цель. Операции включают в себя всю работу руководителей и технического персонала по выполнению задач проекта и
Булевы выражения
Булевы выражения Введение В пятой части этой серии мы рассмотрели управляющие конструкции и разработали подпрограммы синтаксического анализа для трансляции их в объектный код. Мы закончили с хорошим, относительно богатым набором конструкций.Однако, когда мы оставили
R.5.6 Мультипликативные операции
R.5.6 Мультипликативные операции Мультипликативные операции *, /, и % выполняются слева направо.Мультипликативное-выражение: выражение-pm мультипликативное-выражение * выражение-pm мультипликативное-выражение / выражение-pm мультипликативное-выражение %
Булевы операторы
Булевы операторы Булевы операторы возвращают значения типа Boolean:• not — отрицание;• and — логическое "И";• or — логическое "ИЛИ";• xor — логическое исключающее
Операции += и -=
Операции += и -= Если вы изучаете C#, уже имея опыт использования C++, то можете обратить внимание на отсутствие возможности перегрузки операторных сокращений, включающих операцию присваивания (+=, -= и т.д.). Не волнуйтесь, в C# операторные сокращения с присваиванием
Операции
Операции В языке Си предусматриваются поразрядные логические операции и операции сдвига. Далее мы будем записывать значения в двоичном коде, чтобы вы могли видеть, как выполняются операции. В реальных программах используются целые переменные или константы, записанные в
Операции
Операции Теперь рассмотрим, что можно и нельзя делать с величинами типа enum. Вы можете присвоить константу типа enum переменной того же типа enum feline pet;pet = tiger;Нельзя использовать другие операции присваивания: pet += cat; /* недопустимо */Можно провести сравнение с целью выявления
Операции
Операции Операции в языке Си имеют либо один операнд (унарные операции), либо два операнда (бинарные операции), либо три (тернарная операция). Операция присваивания может быть как унарной, так и бинарной (см. раздел 4.4).Существенным свойством любой операции является ее
4.3. Операции сравнения и логические операции
4.3. Операции сравнения и логические операции Символ операции Значение Использование ! Логическое НЕ !expr меньше exprexpr = Меньше либо равно expr=expr больше exprexpr = больше либо равно expr=expr == равно expr==expr != не равно expr!=expr логическое
Булевы типы данных
Булевы типы данных Firebird 1.5 и выше не поддерживает булевы (логические) типы данных. Обычной практикой является объявление односимвольного или SMALLINT домена для общего использования, где требуются булевы типы данных.Советы по определению булевых доменов см. в главе
Операции is и as
Операции is и as Операция is предназначена для проверки того, имеет ли классовая переменная указанный динамический тип. Операция as позволяет безопасно преобразовать переменную одного классового типа к другому классовому типу (в отличие от явного приведения классового
Нестрогие булевы операторы
Нестрогие булевы операторы Операторы and then и or else (названия заимствованы из языка Ada), а также implies не коммутативны и называются нестрогими (non-strict) булевыми операторами. Их семантика следующая:Нестрогие булевы операторы[x]. a and then b ложно, если a ложно, иначе имеет значение b.[x].