Top.Mail.Ru
 
Типы данных
Все типы данных в Grasshopper находятся в стандартном разделе Params и в подразделах Geometry и Primitive:
В Grasshopper необходимо строго следовать типам данных. Например при построении окружности можно обратить внимание
Обратите внимание, что иконки примитивов это чёрный шестиугольник с иконкой внутри. Каждая иконка подписана. Так же данные иконки можно увидеть при наведении стрелки мыши на входные разъемы нодов:
1. Иконка типа подаваемых данных в разъём Radius нода Circle;
2. Краткое описание того, какое действие совершает нод (в данном случае это параметр Radius of circle, т.е. радиус окружности;
3. Значения установленные по умолчанию в параметре Radius (в данном случае по умолчанию уже установлено значение равное 1;

Следует отметить, что во многих нодах Grasshopper уже установлены значения по умолчанию, что облегчает понимание работы нодов.
На изображении выше можно видеть цифры рядом с точками. Они обозначают индексы, иначе говоря место в списке, или нумерацию точек. Обратите внимание на то, как панель визуализирует структуру данных, хранящихся в списке:
Точка с индексом 0 графически находится в левом нижнем углу, а в панели она находится первой в списке. Это значит, что данная точка является первой в структуре и именно с нее начинается работа нода Point и именно с нее начнётся любое действие Далее действие будет совершаться с точкой с индексом 1 и так далее до конца списка. В качестве примера рассмотрим построение полилинии через данные точки (используем простой нод Polyline, строящий полилинию через точки):
Обратите внимание на геометрию полилинии: она начинает строится с точки с индексом 0, далее с индексом 1, далее с индексом 2. Таким образом полилиния строится исходя из порядка точек списка, начиная с самой верхней точки списка и заканчивая самой нижней. На изображении ниже последовательность дополнительно показана при помощи стрелок на участках полилинии:
Grasshopper это визуальный язык программирования, наследующий в себе основные черты языка программирования. Одно из основополагающих понятий это типы данных. Тип данных на первый взгляд является весьма абстрактным понятием, но на деле одним из ключевых для полноценной самостоятельной работы в Grasshopper. В этом уроке предлагаем вам разобраться в данном понятии.
Если же мы каким-либо образом перемешаем список, например при помощи нода Jitter (случайно перемешивает список), то результат может получится самым неожиданным:
Как можно видеть при нарушении порядка списка (даже при помощи простого перемешивания), нарушается изначальный смысл геометрического построения, поэтому за списками и порядком в списке нужно следить и к построению подходить осмысленно.
Обратите особое внимание на понятие упорядоченности в списках. За порядком следует следить на всех этапах создания алгоритмов.
Типами данных в Grasshopper являются
В подразделе Geometry находятся геометрические типы данных Rhino, а в Primitive не геометрические, такие как целые числа, булевые значения, вещественные числа и так далее. Рассмотрим подробнее типы данных, находящихся в подразделе Primitive:
Задача 1
Уровень задачи: начинающий
Дано: композиция из прямоугольных поверхностей. Найдите при помощи Member Index индекс прямоугольника с площадью равной 1407.
Скачайте файл Grasshopper и решите в нём задачу.
Задача 2
Уровень задачи: средний +
Дано: набор из панелей, размещённых вертикально. Порядок в панелях нарушен, т.е. индексы панелей размещены в случайном порядке. Необходимо при помощи Member Index выбирать любой горизонтальный ряд панелей. На изображении выбран предпоследний ряд (синее выделение):
Скачайте файл Grasshopper и постройте скрипт между начальным нодом Brep и конечным нодом, визуализирующим цвета панелей (Custom Preview).

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