Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Руководство. Трёхмерное моделирование T-FLEX.pdf
Скачиваний:
556
Добавлен:
23.02.2016
Размер:
31.96 Mб
Скачать

Трёхмерное моделирование

БУЛЕВА ОПЕРАЦИЯ

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

Основные понятия. Возможности операции

Типы булевой операции

Существует три типа булевой операции:

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

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

Пересечение. Результатом выполнения операции является тело, полученное пересечением тел, участвующих в операции и состоящее из общих частей этих тел.

Операнды булевой операции

Тела, участвующие в булевой операции, называются “Операндами” булевой операции. Они делятся на первые и вторые операнды. Тела, над которыми выполняется преобразования, называются “Первыми операндами” булевой операции. Тела, с помощью которых выполняется преобразование, называются “Вторыми операндами”. В зависимости от того, в качестве какого операнда были выбраны тела, получаются различные результаты булевой операции.

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

264

Булева операция

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

Результаты булевых операций

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

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

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

Выбор типа результирующего тела

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

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

Интерпретация листового тела

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

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

265

Трёхмерное моделирование

Операция “Сложение”

Результаты булевой операции “Сложение” при сочетании различных типов операндов:

 

Первый операнд

 

Второй операнд

 

 

Результат

 

 

твёрдое тело

 

твёрдое тело

 

 

твёрдое тело

 

 

листовое тело

 

твёрдое тело

 

 

листовое тело

 

 

(полупространство)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

твёрдое тело

 

листовое тело

 

 

твёрдое тело

 

 

 

(полупространство)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

листовое тело

 

листовое тело

 

 

листовое тело

 

 

(полупространство)

 

(полупространство)

 

 

(создание углов)

 

 

 

 

 

 

 

 

 

 

листовое тело

 

листовое тело

 

 

листовое тело

 

 

 

 

 

(сшивка)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Твёрдое тело + Твёрдое тело

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

Листовое тело + Твёрдое тело

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

Следует отметить, что листовое тело должно полностью пересекать твёрдое тело.

266

Булева операция

Твёрдое тело + Листовое тело

Если в качестве первого операнда было выбрано твёрдое тело, а в качестве второго – листовое, то в результате выполнения операции “Сложение” по умолчанию создается твёрдое тело. Грани листового тела будут формировать дополнительный объем для твердого тела.

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

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

При выборе листового тела следует обратить внимание на направление векторов нормалей. При определённом направлении нормалей может получиться некорректное результирующее тело. В этом случае нужно выбрать другое полупространство в параметре “Интерпретация операнда”.

Листовое тело + Листовое тело

В результате сложения двух листовых тел получается листовое тело. Для успешного создания операции необходимо, чтобы грани листовых тел либо имели общее ребро, либо совпадали на определённом участке. Эта возможность является схожей с операции “Сшивка”. Отличие

267

Трёхмерное моделирование

заключается в том, что булева операция “Сложение” не удаляет зазоры между телами, а “Сшивка” пытается создать новую непрерывную поверхность.

Операция “Вычитание”

Результаты булевой операции “Вычитание” при сочетании различных типов операндов:

 

Первый операнд

 

Второй операнд

 

Результат

 

 

твёрдое тело

 

твёрдое тело

 

твёрдое тело

 

 

 

 

 

 

 

 

 

листовое тело

 

твёрдое тело

 

листовое тело

 

 

твёрдое тело

 

листовое тело

 

твёрдое тело

 

 

 

(полупространство)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

листовое тело

 

листовое тело

 

листовое тело

 

 

(полупространство)

 

(полупространство)

 

(создание углов)

 

 

 

 

 

 

 

 

Твёрдое тело - Твёрдое тело

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

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

268

Булева операция

Листовое тело - Твёрдое тело

При вычитании твёрдого тела из листового, в листовом теле будет создано отверстие по форме второго операнда – твёрдого тела.

Твёрдое тело - Листовое тело (полупространство)

В результате вычитания листового тела из твёрдого остаётся часть твёрдого тела, отсечённая листовым телом. При этом листовое тело должно быть определено как полупространство. В зависимости от выбранного полупространства остается либо верхняя, либо нижняя часть твёрдого тела. Этот тип булевой операции является аналогом операции “Отсечение”.

269

Трёхмерное моделирование

Операция “Пересечение”

Результаты булевой операции “Пересечение” при сочетании различных типов операндов:

 

Первый операнд

 

Второй операнд

 

 

Результат

 

 

твёрдое тело

 

твёрдое тело

 

 

твёрдое тело

 

 

листовое тело

 

твёрдое тело

 

 

листовое тело

 

 

 

 

 

 

 

 

 

 

листовое тело

 

твёрдое тело

 

 

твёрдое тело

 

 

(полупространство)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

твёрдое тело

 

листовое тело

 

 

твёрдое тело

 

 

 

(полупространство)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

листовое тело

 

листовое тело

 

 

листовое тело

 

 

(полупространство)

 

(полупространство)

 

 

(создание углов)

 

 

 

 

 

 

 

 

 

Твёрдое тело ∩ Твёрдое тело

Результатом пересечения твёрдых тел является тело, представляющее собой общую часть всех операндов.

Листовое тело (полупространство) ∩ Листовое тело (полупространство)

Если листовые тела совпадают на определённом участке, то в результате выполнения булевой операции “Пересечение” остается общая их часть.

270

Булева операция

Листовое тело ∩ Твёрдое тело

Если в качестве первого операнда было выбрано листовое тело, а в качестве второго – твёрдое, то в результате выполнения булевой операции “Пересечение” будет сформировано листовое тело, представляющее собой общую часть двух операндов.

Твёрдое тело ∩ Листовое тело (полупространство)

В результате выполнения булевой операции “Пересечение” листового тела, интерпретированного как полупространство, и твёрдого тела останется часть твёрдого тела, отсечённая листовым телом. Результат выполнения этой операции похож на результат выполнения булевой операции “Вычитания” листового тела (полупространства) из твёрдого тела. Отличие в том, что в результате выполнения операции “Пересечение” остаётся другая часть твёрдого тела. При этом порядок выбора операндов не влияет на результат.

Булевы операции между листовыми телами (полупространствами)

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

271