Top.Mail.Ru
3.3.1 Create Set
Create Set — создаёт множество с уникальными значениями списка.
1) List - Cписок для создания множества;
2) Set - Список уникальных значений;
3) Map - Карта индексов элементов изначального списка.

В некоторых случаях (особенно при работе с большими списками, или деревьями данных) необходимо узнать уникальные значения. Что значит уникальные значения? Например у вас есть список, в котором есть повторяющиеся элементы. Create Set объединяет повторяющиеся элементы и выдает список, в котором остается только по одному представителю повторяющегося списка. Данный принцип очень удобен, особенно, как было сказано если производится работа с большим количеством элементов. Речь идет, конечно же о сотнях элементах, а не о списке из 3-х или 10-и элементах.
Примеры
Обратите внимание на изображении выше, что в списке, поданного во входной разъём List есть повторяющиеся элементы, а конкретно цифры 1 и 4. В Set мы получаем список уникальных значений без повторяющихся цифр. В Map выводится карта индексов элементов List. Map может быть полезен в дальнейшем для обращения к изначальному списку.

В следующем примере в качестве элементов List подаётся текстовый список:
Обратите внимание на повторяющиеся значения элементов List. На первый взгляд невозможно понять какие элементы содержатся в списке. Фрагмент списка содержит текстовые значения Apple, Orange и Kiwi, однако нельзя быть уверенным, есть ли иные элементы. Список может быть очень большим, например длинной в 1000 элементов и более. Так каким же образом понять какие элементы содержатся в нём? В таком случае Create Set позволяет вычислить уникальные значения.
В конечном итоге в списке уникальных значений всего 3.

Так же интересной задачей может быть исключение дублирующихся точек. Обычно для этих целей используется нод Cull Duplicates или нод из плагина Kangaroo 2 Remove duplicate pts. Однако данную задачу можно решить при помощи Create Set. В некоторых случаях, возможно, это будет отличным решением.

Например, есть n-ое количество дублирующихся точек. В окне Rhino невозможно увидеть где точки дублируются, а где нет:
Местонахождение Create Set
При визуализации списка точек при помощи панели можно увидеть, что действительно, в списке есть дублирующиеся точки. Длина списка = 40 точкам, хотя на экране Rhino всего 14 точек.
Для избавления от дубликатов достаточно провести список точек через Create Set:
Задача 1
Уровень задачи: средний
Дано: дублирующиеся линии. На изображении кажется, что всего 4 линии, но их на самом деле намного больше, так как линии наслаиваются друг на друга. В окне Rhino на глаз это нельзя определить.
Необходимо: при помощи Create Set избавиться от дубликатов, чтобы в итоге осталось только 4 линии.
Скачайте файл Grasshopper и решите в нём задачу.
При затруднении смотрите видео ответ:
Задача 2
Уровень задачи: средний +
Автор задачи : Латентный Сантехник
Дано: множество дублирующихся полилиний по аналогии с задачей 1 необходимо избавиться от дублирующихся полилиний используя 3 нода.

Подсказка: одним из нодов должен быть key/value search из подраздела Set.
Скачайте файл Grasshopper и постройте скрипт. Видео-ответ к данной задаче появится в ближайшее время. А пока что поломайте голову над её решением. При затруднении пишите в наш общий телеграм чат.
Комментарии для сайта Cackle
Контакты
Время работы
  • Понедельник - пятница
  • с 10 до 19 часов
Подпишитесь на еженедельную рассылку
© 2022 SKY ARCH SCHOOL
ИП Аюпов АМ. Все права защищены