<< This is a guest post written by Parakeet3D developers Esmaeil Mottaghi and Arman Khalilbeigi Khameneh. To download and learn more about this plugin, make sure to visit their Food4Rhino page.
Esmaeil Mottaghi; is an Architect, Researcher, and Computational designer based in Tehran, Iran. He graduated with a master’s degree in computational design from the University of Tehran (UT) and has several experiences as an expert for digital manufacturing and as a tutor in the field of computational design.
Arman Khalilbeigi Khameneh is a Digital Architect and Computational Designer. Since 2016 has been teaching in the field of design computation, data-driven design, and digital fabrication in the most prestigious universities of the region including the University of Tehran. >>
Today, computational tools are an integral part of our design process. Through the algorithmic logic embedded in these tools, the design pipeline is redefined. The tools can enhance many aspects of a project, from the most trivial and laborious process of document generation to the most complex decision-making process. Among the many possibilities, the morphological and form-generating methods make for some very interesting subjects.
Geometrical shapes and patterns are algorithmic in nature due to their discrete mathematics and geometric definitions. Furthermore, since they have procedural generation methods, where each step is based on the previous one, they are tightly compatible with parametric modeling. Parakeet3D is a collection of digital tools that facilitate the generation of geometric and natural patterns.
By integrating with Grasshopper, it expands the morphological repository for Patterns and Networks, allowing designers to go beyond old shapes and push the old boundaries to comply with modern design requirements. Parakeet aims to take a comprehensive look at several aspects of this process.
A notable gap exists in studying [traditional] geometrical patterns. For most geometrical patterns, what's being studied is simply the final outcome of the generation process. We have limited data on the progression of these patterns today. Barring a few exceptions, what has been gathered today are mere morphs and shapes without associated data or algorithms. It is the logic behind these morphological processes that is missing. These all together formed the idea behind Parakeet3D.
This research aims to decode or approximate the generation process behind some of the old and authentic patterns in an algorithmic syntax. This approach enables the designer to generate, apply and analyze patterns not only for ornamental designs but also for modern architectural purposes such as thin shells, free-form surfaces, and performative envelopes.
Designing with Parakeet is simple and straightforward. It's as simple as selecting a tile (grid), then selecting the method you want to use for pattern generation on that grid.
The tiling options for the base are listed under the “tilings” category. They have been designed with similar inputs as Grasshoppers native grids for designers' convenience. This segment covers regular tilings, semi-regular tilings, k-uniform tilings and a number of non-Euclidean tilings like hyperbolic or Poincare disk.
Figure 1: Basic concepts and methods for geometric pattern generation using Parakeet3D. a) Tilings (regular tilings, semi-regular tilings, k-uniform tilings and a number of non-Euclidean tilings like hyperbolic or Poincare disk) b) Modification methods. c) Pattern generation methods (Genotypes)
Also included in this category are parts from the M.C. Escher category, commonly known as "Deformation Parquets" and which may be used as a base grid.
Figure 2: M.C.Escher Patterns
Secondly, and finally, we will select a method by which a final network will be generated on the grid. These methods are listed under the category with the same name. The majority of them are compatible with all possible tilings and even with irregular arbitrarily closed curves.
One of the key features of Parakeet is how the user interacts with each method. In other words, each method has been simplified in terms of the required data so that it can be easily used to produce heterogeneous variations. Simply input a normalized (between 0-1) number for each cell and you will get extraordinary results.
Figure 3: Parquet Deformation generation by a continuous change in Genotypes inputs
Thus far, we have covered the basic principles of working with Parakeet3D. which is to select a tiling and then select a Pattern Generation method of Genotype. For more advanced users, there are extra components that can be used after each step.
These methods, called 'modification methods' multiply the complexity and variety of patterns. These components can be applied both after tilings and/or Genotypes. Number of key methods in this category are "Mirroring Quad Subdivision", "Dual Graph", "Truncation" and "Complex (Hyperbolic) Transformation" and "Kaleidoscope". The results of such modification are depicted below.
Figure 4: Application of a Parakeet3D Genotype on modified tilings, a) Genotype ‘B’ on a tiling with ‘mirroring quad subdivision’ b) Genotype ‘B’ on a tiling’s ‘Dual Graph’ c) Genotype ‘B’ on a tiling with ‘Truncation’ d) Genotype ‘B’ on a tiling with ‘Complex Transformation’
Besides geometrical patterns, Parakeet has several tools to generate natural patterns. Key members in these categories are Venation Algorithms, Growth, Aggregation and flow patterns.
Figure 5: Examples of bio-inspired patterns generated using Parakeet3D. a) Venation algorithm I b) Venation algorithm II c) differential growth algorithm d) floral (arabesque) patterns e) Fracture (crack) pattern f) fractals g) Diffusion-limited aggregation h) Flow-path patterns
Try Parakeet for yourself
The following model has a parameter to upload your own surface into the geometry and export to get the final pattern result.
The model works with3dm,dxf, dwg, step, and iges formats.