Top.Mail.Ru
5.3. Prune tree
Prune tree удаляет все ветки дерева данных, которые содержат в себе определённое количество элементов.
1) В Tree — подаётся дерево данных;
2) В Minimum (integer) — минимальное число элементов в ветках дерева, которые необходимо оставить (с меньшим числом элементов ветки удаляются);
3) В Maximum (integer) — максимальное количество элементов в ветках, которые нужно оставить (с большим числом элементов ветки удаляются).
Пример 1
Рассмотрим абстрактный пример. На изображении ниже приведено дерево данных (нод Tree example). При помощи панели можно наблюдать, что в каждой ветке хранится разное количество элементов. Например в ветке с путём {0;0} хранятся целые числа 1,2. А в ветке с путем {0;2} 1,2,3 т.е. три числа. В последней ветке находятся четыре элемента: 1,2,3,4.
Обратите внимание, что в Minimum нода Prune Tree подаётся число 2. И в Maximum так же подаётся число 2. На выходе в панели можно видеть, что все ветки с количеством элементов больше, чем 2 удалены.

Если же изменить параметр Maximum в ноде Prune tree, то в панели можно наблюдать как удаленные ветки на выходе сохраняются.
Если визуализировать дерево данных, то его структура выглядит следующим образом:
При выставлении значений в Minimum значение 2 и в значение Maximum так же 2, то удалятся все ветки, у которых меньше и в тоже самое время больше двух элементов:
Пример 2
Представьте себе ситуацию, в которой вам необходимо удалить из некоторого паттерна определённые группы элементов. Например в паттерне изображенном ниже три группы элементов: синяя группа, оранжевая и белая. В синей в каждой группе по 2 элемента, в оранжевой по 3, в белой по 1:
Обратите внимание на структуру хранения элементов паттерна на изображении ниже. Каждая группа элементов представлена разным количеством элеметов в дереве данных. В панели окна Grasshopper это отчётливо видно.
Если необходимо удалить все оранжевые элементы паттерна, или например белые, то можно обратиться к ноду Prune tree и удалить все ветки с тремя, двумя или одним элементом. Таким образом решение сводится к простому и эффективному решению.

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