Что такое список ?
Список это некоторый абстрактный тип данных, который содержит в себе упорядоченный набор элементов. Элементы списка могут встречаться более одного раза, в отличии от множеств.

Почему список? Дело в том, что данные должны как-то храниться в памяти ПК, структурироваться и визуализироваться для конечного пользователя. Любые данные, будь то числа, булевые значения, геометрические объекты, такие как точки, поверхности и объемные тела структурируются и хранятся в Grasshopper в виде списка или групп списков, которые называют деревьями данных (о них поговорим чуть позже). И это единственный эффективный способ. В виде списка хранятся не только несколько элементов, но так же и один элемент уже является списком. Понятно, что список с одним элементом не совсем вяжется с обычной житейской логикой (как же может существовать список, например продуктов с одним видом продукта?), но в Grasshopper мы имеем дело с визуальным программированием и логика здесь точно такая же как и в программировании, поэтому и со списками тоже самое.
В Grasshopper список обычно визуализируется при помощи панели (Panel). Панель находится в стандартном разделе Params и в подразделе Input (инструменты ввода данных):
Рассмотрим элементы панели:
1. Панель (Panel), визуализирующая список (или дерево данных);
2. Индекс элемента списка (нумерация элементов списка, начинающаяся не с единицы 1, а с нуля 0) ;
3. Непосредственно элемент списка (в данном случае это координаты точки);
4. Нод Point;
5. Связь нода Point и панели.
На изображении выше в панели визуализируется содержимое нода Point. Обратите внимание на то, что каждый элемент индексируется (индексация это все равно что маркировка некоторых объектов). Индексация задаёт порядок списка.
На данном скриншоте можно наблюдать графическое отображение точек. Однако на изображении не понятен порядок точек. Чтобы понять порядок, необходимо дополнительно визуализировать индексы данных точек:
На изображении выше можно видеть цифры рядом с точками. Они обозначают индексы, иначе говоря место в списке, или нумерацию точек. Обратите внимание на то, как панель визуализирует структуру данных, хранящихся в списке:
Точка с индексом 0 графически находится в левом нижнем углу, а в панели она находится первой в списке. Это значит, что данная точка является первой в структуре и именно с нее начинается работа нода Point и именно с нее начнётся любое действие. Далее действие будет совершаться с точкой с индексом 1 и так далее до конца списка. В качестве примера рассмотрим построение полилинии через данные точки (используем простой нод Polyline, строящий полилинию через точки):
Обратите внимание на геометрию полилинии: она начинает строится с точки с индексом 0, далее с индексом 1, далее с индексом 2. Таким образом полилиния строится исходя из порядка точек списка, начиная с самой верхней точки списка и заканчивая самой нижней. На изображении ниже последовательность дополнительно показана при помощи стрелок на участках полилинии:
В процессе моделирования в Grasshopper вы часто будете пользоваться инструментом Panel для того, чтобы увидеть структуру и порядок данных, содержащихся в том или ином ноде (иногда и при помощи Param viewer, но реже). При помощи панели можно визуализировать список или группы списков. Все типы данных в Grasshopper хранятся в виде списка (или группы списков). Разбираемся в том, что такое список и каковы его главные свойства в данном уроке.
Если же мы каким-либо образом перемешаем список, например при помощи нода Jitter (случайно перемешивает список), то результат может получится самым неожиданным:
Как можно видеть при нарушении порядка списка (даже при помощи простого перемешивания), нарушается изначальный смысл геометрического построения, поэтому за списками и порядком в списке нужно следить и к построению подходить осмысленно.
Обратите особое внимание на понятие упорядоченности в списках. За порядком следует следить на всех этапах создания алгоритмов.
В списках очень важен порядок расположения элементов - от него зависят процессы и корректное построение геометрии.

Например, полилиния или прямоугольник не могут быть построены корректно, если в списке нарушен порядок точек (кстати с подобным вы будете сталкиваться постоянно: как выстроить порядок, как его вернуть, когда он утрачен).

И так, на изображении выше в панели визуализированы точки, которые хранятся в виде списка в ноде Point. Графически они выглядят следующим образом:
Порядок в списках
Оцените этот урок и помогите тем самым сделать его лучше.
Контакты
Время работы
  • Понедельник - пятница
  • с 10 до 19 часов
Подпишитесь на еженедельную рассылку
© 2022 SKY ARCH SCHOOL
ИП Аюпов АМ. Все права защищены