Здесь показаны различия между двумя версиями данной страницы.
логические_операции_с_полигонами [10/05/2015 13:11] 109.94.188.121 |
логические_операции_с_полигонами [09/04/2021 11:59] (текущий) 176.59.16.190 pac |
||
---|---|---|---|
Строка 3: | Строка 3: | ||
====== Логические операции с полигонами ====== | ====== Логические операции с полигонами ====== | ||
- | Под логическими операциями понимаются операции, подобные операциям над битами (байтами) в булевой алгебре. Это операции **И (AND)**, **ИЛИ (OR)**, **НЕ (NOT)**, **ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR)**. Результаты логических операций с полигонами показывают следующие рисунки. | + | Под логическими операциями понимаются операции, подобные операциям над битами (байтами) в булевой алгебре. Это операции **И (AND** или **Intersection)**, **ИЛИ (OR** или **Union)**, **НЕ (NOT** или **Difference)**, **ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR)**. Результаты логических операций с полигонами показывают следующие рисунки. |
Имеются два полигона: звезда и круг. Здесь **subject** - полигон, относительно которого проводится логическая операция, **clip** - второй полигон, участвующий в логической операции. | Имеются два полигона: звезда и круг. Здесь **subject** - полигон, относительно которого проводится логическая операция, **clip** - второй полигон, участвующий в логической операции. | ||
Строка 25: | Строка 25: | ||
{{:xor.png?200|}} | {{:xor.png?200|}} | ||
- | Кроме описанных логических операций в программе имеется ещё одна операция **Group**. Она идентична операции **ИЛИ**, но с одним отличием: если полигоны пересекаются, результатом операции **ИЛИ** является один новый полигон, а результатом операции **Group** являются по-прежнему два полигона. Если полигоны не пересекаются, результаты обеих операций одинаковы. | + | Кроме описанных логических операций в программе имеется ещё одна операция **Group**. Визуально она идентична операции **ИЛИ**, но есть значительные отличия. |
- | В логических операциях может участвовать любое количество полигонов. | + | Если полигоны пересекаются, результатом операции **ИЛИ** будет **один** новый полигон, а результатом операции **Group** будут по-прежнему **несколько** полигонов, условно объединённых в мультиполигон. Мультиполигон может содержать любое количество полигонов. Свойства всех полигонов, входящих в мультиполигон, одинаковы. Все они одновременно выводятся на экран, используются в качестве выделенной области и т. д. |
- | Результаты логических операций могут быть использованы для Операций с выделенной областью, то есть для загрузки, копирования, удаления, экспорта и пр. Кроме того, результаты могут быть сохранены в базе меток для последующего использования. | + | Если полигоны не пересекаются, результаты операций **ИЛИ** и **Group** будут одинаковы. |
- | Для проведения логических операций с полигонами следует прежде всего отобразить нужные полигоны на экране. Это делается в окне Управления метками. | + | Также следует учитывать, что при всех логических операциях, кроме **Group**, происходит некоторое "округление" координат вершин полигонов, из-за чего полученные новые полигоны будут иметь вершины, не совсем совпадающие с вершинами исходных полигонов. Более того, в некоторых случаях (в основном при самопересечениях полигона) возможно образование так называемых "дырок". Дырка - это замкнутый полигон, находящийся внутри другого замкнутого полигона. //На сегодняшний день дырки программой не обрабатываются, то есть игнорируются, однако их количество считается и указывается в сообщении о завершении логической операции.// |
- | Затем, зажав клавишу **Ctrl**, щёлкнуть по первому полигону. С левой стороны экрана откроется окно логических операций с полигонами. Окно можно **растягивать** по горизонтали. | + | В случае операции **Group** координаты вершин никаких изменений не претерпевают, поэтому операция **Group** выполняется быстрее, чем **ИЛИ**. В результате операции **Group** дырки не образуются. |
- | {{:окно_лоп.png?400|}} | + | Результаты логических операций могут быть использованы для //**Операций с выделенной областью**//, то есть для загрузки, копирования, удаления, экспорта и пр. Кроме того, результаты могут быть сохранены в базе меток для последующего использования. |
- | Первому выбранному полигону автоматически присваивается статус **subject**. В круглых скобках указывается, одиночный это полигон (Single), или мультиполигон (вероятно, Multi). | + | В логических операциях может участвовать любое количество полигонов. Нужно лишь учитывать, что логическая операция с каждым последующим полигоном из списка проводится не над результатом предыдущей операции, а над первым в списке полигоном (**subject**). |
- | Затем, также с зажатой клавишей **Ctrl**, щёлкнуть по второму полигону. Он автоматически добавится в список, но уже со статусом **clip**. Аналогично в список добавляются все последующие полигоны. | + | Для проведения логических операций с полигонами следует прежде всего добавить в список участвующие полигоны. Это можно сделать четырьмя способами: |
- | {{:окно_лоп1.png?400|}} | + | - Щёлкнуть на нужном полигоне левой кнопкой мыши, зажав клавишу **Ctrl**. |
+ | - Щёлкнуть на нужном полигоне правой кнопкой мыши и в контекстном меню выбрать **Добавить к Слиянию полигонов**. | ||
+ | - В Менеджере меток выделить один или (используя **Ctrl** или **Shift**) несколько полигонов, щёлкнуть правой кнопкой мыши, в контекстном меню выбрать **Добавить к Слиянию полигонов**. | ||
+ | - В Менеджере меток выделить Категорию меток, щёлкнуть правой кнопкой мыши, в контекстном меню выбрать **Добавить к Слиянию полигонов**. В данном случае добавлены будут только видимые полигоны. | ||
- | Окно Логических операций с полигонами имеет несколько кнопок плюс выпадающий список. Рассмотрим назначение этих органов управления. Начнём слева направо. | + | Если несколько полигонов накладываются друг на друга в точке щелчка мышью, то все они будут добавлены в список. "Лишние" полигоны можно либо удалить из списка средствами рассматриваемой панели, либо предварительно отключить в окне //**Управление метками**//. |
- | * Изменить порядок следования полигонов в списке, а, значит, и их статусы, можно кнопками с **красной стрелкой вверх** и **зелёной стрелкой вниз**. Первый по списку полигон всегда получает статус **subject**. | + | С левой стороны экрана откроется панель //**Слияние полигонов**// (если она ещё не открыта). Панель можно **растягивать** по горизонтали, а также делать постоянно видимой или убирать с экрана через меню //**Вид**->**Панели**//. |
+ | |||
+ | {{:лоп.png?nolink|}} | ||
+ | |||
+ | Первому в списке полигону автоматически присваивается статус **subject**. | ||
+ | |||
+ | Остальным полигонам в списке присваивается статус **clip**. | ||
+ | |||
+ | В круглых скобках указывается, одиночный это полигон (**Single**), или мультиполигон (**Multi**). | ||
+ | |||
+ | {{:лоп1.png?nolink|}} | ||
+ | |||
+ | Панель **Слияние полигонов** имеет несколько кнопок плюс выпадающий список. Рассмотрим назначение этих органов управления. Начнём слева направо. | ||
+ | |||
+ | * Изменить порядок следования полигонов в списке, а, значит, и их статусы, можно кнопками **стрелка вверх** и **стрелка вниз**. Первый по списку полигон всегда получает статус **subject**. | ||
| | ||
- | * Кнопка с **маленьким** красным крестиком позволяет удалить выделенный полигон из списка. | + | * Кнопка с **красным знаком минус** позволяет удалить выделенный полигон из списка. |
- | * Кнопка с **большим** красным крестиком полностью очищает список полигонов. | + | * Кнопка с **большим красным крестом** полностью очищает список полигонов. |
| | ||
- | * Выпадающий список содержит все доступные логические операции с полигонами. | + | * Выпадающий **список** содержит все доступные логические операции с полигонами. |
+ | |||
+ | * Кнопка с **зелёной "галкой"** служит для подтверждения выбранных параметров и применения логической операции. После этого на экране появится результат выбранной логической операции. | ||
+ | |||
+ | * Следующая кнопка служит для вызова окна //**Операции с выделенной областью**//. | ||
+ | |||
+ | * Кнопка с изображением **дискеты** сохраняет результат в базе меток. | ||
- | * Кнопка с **зелёной "галкой"** служит для подтвержения выбранных параметров и применения логической операции. После этого на экране появится результат выбранной логической операции. | + | {{:лоп2.png?nolink|}} |
- | * Следующая кнопка служит для вызова окна Операций с выделенной областью. | + | В окне сообщения о результате логической операции указывается общее количество созданных полигонов и "дырок". Если в результате логической операции получилось более одного полигона, то в базе меток они будут сохранены как мультиполигон. |
- | * Кнопка с изображением дискеты сохраняет результат в базе меток. | ||
- | {{:окно_лоп2.png?1000|}} | + | Допустить |
+ | мы, что из нас | ||
+ | интересуют снимки, | ||
+ | покрывающие части лицевой формы | ||
- | В окне сообщения о результате логической операции указывается общее количество созданных полигонов и "дырок". | + | а полигон, описывающий нужный снимок - как **clip**, и применить логическую операцию **НЕ**. |