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) и сегодня она является ядром всей цифровой индустрии. Булевая алгебра дает нам инструменты анализа, сравнения и описания наборов данных. Хотя Буле изначально определил шесть операторов булевых значений, мы обсудим только три из них:

  1. Not (Нет)
  2. And (И)
  3. Or (Или)

Оператор Nor немного выделяется среди других операторов, потому что ему не требуются два значения. Вместо этого, он просто преобразует одно значение в правильное. Представьте, у вас есть скрипт, который проверяет существование набора Блок определений в Rhino. Если Блок определение не существует, мы хотим проинформировать пользователя и прервать скрипт.

Оператор Grasshopper Nor

And и Or требуют наличие двух аргументов с обеих сторон. Оператору And требуются два аргумента True, чтобы определить значение как True. Оператору Or достаточно одного значения True.

Как видите, сложность в работе с логическими операторами не в теории, а в том, что происходит, когда вам требуется их большое количество для оценки чего-либо. Использование их вместе быстро приводит к запутанности, не говоря уже о проблемах с приоритетом операторов.

Оператор Grasshopper And

Оператор Grasshopper Or

Хороший способ поработать над вашей булевой логикой - это использовать диаграммы Venn. Диаграмма Venn - это графическое представление наборов булевых значений, где каждый диапазон содержит (под)набор значений, которые обладают общими характеристиками. Самая известная из них - это диаграмма из трех кругов:

Каждый круговой диапазон содержит все значения, которые принадлежат этого набору; верхний круг, например, отмечает набор {A}. Каждое значение внутри этого круга определяет True для {A} и каждое значение вне этого круга оценивает False для {A}. Цветовая кодировка диапазонов помогает нам изобразить булевое определение в программном коде: