Monoceros Grasshopper3d Plugin

Monoceros

Monoceros was developed at studio Subdigital by Ján Toth and Ján Pernecký. Monoceros is an implementation of the Wave Function Collapse (WFC) algorithm developed for game design by Maxim Gumin and extended and promoted by Oskar Stålberg with his game Townscaper.

Table of Contents

[vc_row][vc_column][vc_column_text]

Monoceros is a legendary animal living in the huge mountains in the interior of India. Monoceros has the body of a horse, the head of a stag, the feet of an elephant and the tail of a boar. It is also a plug-in for Grasshopper. Monoceros was developed at studio Subdigital by Ján Toth and Ján Pernecký. Monoceros is an implementation of the Wave Function Collapse (WFC) algorithm developed for game design by Maxim Gumin and extended and promoted by Oskar Stålberg with his game Townscaper.

Monoceros serves to fill the entire envelope with Modules, respecting the given Rules. The plug-in wraps WFC into a layer of abstraction, which makes WFC easily implemented in architectural or industrial design. It honors the principles of WFC and Grasshopper at the same time – offering a full control of the input and output data in a Grasshopper way and their processing with a pure WFC.

The core of Monoceros is a Wave Function Collapse (WFC) solver. WFC is an algorithm, that fills the entire discrete envelope with Modules with no remaining empty Slot. In case of Monoceros, the envelope is a collection of rectangular cuboid Slots, each with 6 neighbors in orthogonal directions, not taking diagonal neighbors into account.

In the original WFC algorithm, the Modules are exactly the size of a single Slot. The WFC then picks which Module should be placed into which Slot, leaving no Slot non-deterministic (with more than one Module allowed to be placed into the Slot) or empty / contradictory (no Module allowed to be placed into the Slot). Usually, there is less Modules (Module types) than Slots, which means each Module can be placed into Slots more times or not at all.

The Monoceros implementation of WFC internally works like this too, on the outside it presents the Modules as a continuous coherent compact collection of such cuboid cages (Module Parts), each fitting into one Slot.

Like Grasshopper itself, also Monoceros revolves around data and serves for its immutable processing. Immutability means, that no existing data is being changed but rather transformed and returned as a new instance of the data. In most cases it is even possible to construct the data with valid values right away with no need to re-define already existing data. There are three main data types: Slots, Modules and Rules.

Slot and Rule both reference to Module, its Part or its Connector. This reference is done only through user defined strings (for Modules and their Parts) or integer indices (for Module Connectors). This is an intention, so that the data sets (Modules, Rules or Slots) can be replaced or shared across more Monoceros setups.

Most of the Monoceros plug-in components serve for constructing, analyzing and processing data. The components try not to bring redundancy, therefore it does not do anything, that could be easily done with vanilla Grasshopper components.

The three new Monoceros data types are seamlessly integrated into Grasshopper and cast from and to all relevant existing data types. All Monoceros components are compatible with the existing Grasshopper data types and ready to be used with existing Grasshopper components.

[/vc_column_text][vc_btn title=”More info” style=”3d” shape=”square” color=”warning” align=”center” i_icon_fontawesome=”fa fa-plus-circle” button_block=”true” add_icon=”true” link=”url:https%3A%2F%2Fwww.food4rhino.com%2Fapp%2Fmonoceros||target:%20_blank|”][/vc_column][/vc_row]

Leave a Reply

Related Post

The Airshell Prototype

This paper by Alessandro Liuti, Sofia Colabella, and Alberto Pugnale, presents the construction of Airshell, a small timber gridshell prototype erected by employing a pneumatic formwork.

Read More »

Strained Grid Shells

In this paper by Gregory Charles Quinn, Chris J K Williams, and Christoph Gengnagel, a detailed comparison is carried out between established as well as novel erection methods for strained grid shells by means of FE simulations and a 3D-scanned scaled physical model in order to evaluate key performance criteria such as bending stresses during erection and the distance between shell nodes and their spatial target geometry.

Read More »

Gridshell Structure

In this paper by Frederic Tayeb, Olivier Baverel, Jean-François Caron, Lionel du Peloux, ductility aspects of a light-weight composite gridshell are developed.

Read More »