1.3.5. Булевые и Логические Операторы
Файлы упражнения, которые сопровождают этот раздел: Download
1.3.5.1. БУЛЕВЫЕ ЗНАЧЕНИЯ
Числовые переменные могут хранить целый ряд различных чисел. Булевые переменные могут хранить только два значения, обозначаемые как Да или Нет, Правда или Ложь, 1 или 0. Очевидно, мы никогда не сможем использовать булевые значения для выполнения расчетов из-за их ограниченного диапазона. Мы можем использовать булевые значения для определения условий.
Параметр Boolean
В Grasshopper, Boolean могут использоваться несколькими способами. Параметр Boolean - это контейнер для одного или нескольких булевых значений, в то время как Boolean Toggle позволяет быстро изменить значение правды или лжи как входов.
Boolean Toggle - дважды кликните по переключателю булевых значений для изменения значения правда или ложь
Grasshopper также содержит объекты, которые проверяют условие и результат булевых значений. Например, компонент Includes позволяет проверить числовое значение на то, включено ли оно в диапазон.
Компонент Includes проверяет включено ли число 6.8 в диапазон 0 - 10. Возвращается булевое значение Правда.
1.3.5.2. ЛОГИЧЕСКИЕ ОПЕРАТОРЫ
Логические операторы, в своем большинстве, работают с булевыми значениями и очень логичны. Как вы помните, булевые значения могут иметь только два значения. Булевая математика была разработана Джорджом Буле (1815-1864) и сегодня она является ядром всей цифровой индустрии. Булевая алгебра дает нам инструменты анализа, сравнения и описания наборов данных. Хотя Буле изначально определил шесть операторов булевых значений, мы обсудим только три из них:
- Not (Нет)
- And (И)
- Or (Или)
Оператор Nor немного выделяется среди других операторов, потому что ему не требуются два значения. Вместо этого, он просто преобразует одно значение в правильное. Представьте, у вас есть скрипт, который проверяет существование набора Блок определений в Rhino. Если Блок определение не существует, мы хотим проинформировать пользователя и прервать скрипт.
Оператор Grasshopper Nor
And и Or требуют наличие двух аргументов с обеих сторон. Оператору And требуются два аргумента True, чтобы определить значение как True. Оператору Or достаточно одного значения True.
Как видите, сложность в работе с логическими операторами не в теории, а в том, что происходит, когда вам требуется их большое количество для оценки чего-либо. Использование их вместе быстро приводит к запутанности, не говоря уже о проблемах с приоритетом операторов.
Оператор Grasshopper And
Оператор Grasshopper Or
Хороший способ поработать над вашей булевой логикой - это использовать диаграммы Venn. Диаграмма Venn - это графическое представление наборов булевых значений, где каждый диапазон содержит (под)набор значений, которые обладают общими характеристиками. Самая известная из них - это диаграмма из трех кругов:
Каждый круговой диапазон содержит все значения, которые принадлежат этого набору; верхний круг, например, отмечает набор {A}. Каждое значение внутри этого круга определяет True для {A} и каждое значение вне этого круга оценивает False для {A}. Цветовая кодировка диапазонов помогает нам изобразить булевое определение в программном коде: