Set difference — нахождение разности двух множеств (набор объектов находящихся в множестве A, но не представленных в множестве B)
1) Set A - Список или дерево данных с объектами различных типов данных;
2) Set B - Другой список или дерево данных с объектами различных типов данных;;
3) Union - Результат операции нахождения разницы между множеством A и множеством B.
Set Difference — специфическая операция, позволяющая найти разницу между двумя множествами.
Обратите внимание на изображении выше, что в списке, поданного во входной разъём 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 невозможно увидеть где точки дублируются, а где нет:
Местонахождение Set Difference
При визуализации списка точек при помощи панели можно увидеть, что действительно, в списке есть дублирующиеся точки. Длина списка = 40 точкам, хотя на экране Rhino всего 14 точек.
Для избавления от дубликатов достаточно провести список точек через Create Set: