Monoceros плагин для дискретной сборки

Monoceros

4 июня 2021


Monoceros — инструмент для дискретной сборки для архитекторов и дизайнеров

Monoceros (Единорог) также, как и мифическое животное, совмещающее в себе разных существ, представляет собой набор инструментов для оптимального использования конверта с дискретными модулями, где пространственные отношения между этими модулями могут быть ограничены набором определяемых пользователем правил.

Используя алгоритм коллапса волновой функции, он обеспечивает инновационное и быстрое решение возникающей архитектурной проблемы дискретного агрегирования. Алгоритм коллапса волновой функции учит компьютер импровизировать. На входе он получает архетипичные данные и создаёт процедурно генерируемые данные, похожие на исходные.

Данный плагин для Rhino/Grasshopper создан в студии Subdigital командой архитекторов, дизайнеров и программистов, и доступный для бесплатной загрузки.

Архитектура Monoceros

grasshopper panel

Ядром Monoceros является решатель коллапса волновой функции (WFC). Данный алгоритм заполняет весь дискретный конверт модулями без оставшихся пустых слотов. Данный конверт представляет собой набор прямоугольных кубовидных слотов, каждый из которых имеет 6 соседей в ортогональных направлениях, без учета диагональных соседей.
В исходном алгоритме WFC модули имеют размер одного слота. Затем WFC выбирает, какой модуль должен быть помещен в какой слот, не оставляя ни один слот недетерминированным (с более чем одним модулем, который может быть помещен в слот) или пустым / противоречивым (ни один модуль не может быть помещен в слот). Обычно модулей (типов модулей) меньше, чем слотов. Это означает, что каждый модуль может быть помещен в слоты больше раз или не помещается вообще.
Реализация WFC в Monoceros внутренне работает так же, снаружи она представляет модули как непрерывную связную компактную коллекцию таких кубовидных клеток (частей модуля), каждая из которых помещается в один слот.

grasshopper

Как и сам Grasshopper, Monoceros вращается вокруг данных и служит для их неизменной обработки. Неизменяемость означает, что существующие данные не изменяются, а преобразуются и возвращаются как новый экземпляр данных. В большинстве случаев можно даже сразу построить данные с действительными значениями без необходимости повторно определять уже существующие данные. Существует три основных типа данных: слоты, модули и правила.

Слот и Правило относятся к модулю, его части или соединителю. Эта связь выполняется только через определенные пользователем строки (для модулей и их частей) или целочисленные индексы (для соединителей модулей). Это сделано для того, чтобы наборы данных (модули, правила или слоты) можно было заменить или использовать в других настройках Monoceros.

lalalamp

Большинство компонентов подключаемого модуля Monoceros служат для построения, анализа и обработки данных. Компоненты стараются не создавать избыточности, поэтому они не дублируют компоненты Grasshopper. Три новых типа данных Monoceros легко интегрируются в Grasshopper и преобразуются во все соответствующие существующие типы данных. Все компоненты Monoceros совместимы с существующими типами данных и готовы к использованию с существующими компонентами Grasshopper.

Полная документация и примеры проектов Monoceros доступны по ссылке.