3D Tessellation – Abstract


Figure 01: 3D Tessellation – Cubes – Diferent Sizes


In this research I am trying to explore the area of shape tessellations, shape tessellations are mathematical operations tries to scatter and fill space/environment with specific pattern/s without leaving gaps. These shapes can be just a simple singular shape or a combination of organised ones. The shape itself can be adjusted to the grid system, it could be squared, hexagonal, triangular, or even a box in 3d spaces tessellations. Patterns shapes can be tessellated with its original juxtaposition with big chances for little gapping, or it can be permutated (the link to my previous research) by generating all possible orientations to benefit from the maximum gaps closing chances. This can be done using simple operations of movement, reflection, flipping and rotation, or all of them together. Such collection of permutated patterns can create more coherent and connected clusters. One of the best examples is the famous pentomino tessellations.

cghcbcbc ttfhtfhtfh

 Figure 02: 3D Tessellation – L – Shapes 3D


This research is an extension for my investigations into combinatorics (Combinations – Permutations – Variations). It’s totally independent in terms of its originality, materials, techniques and design goals from the combinatorics research, but it was very interesting to link both types of research because of their dependency. The goal of this research is to develop a system for developing 3D structures and compositions for architecture and design. These systems can help develop architectural compositions in early design stages with endless design variations. These systems can also be useful to develop impressive and unpredicted patterns and textures for architectural panelling, facade making or landscapes subdivisions. Finally, which was my most demanding and inspiring purpose, is the ability to develop new 3d structuring system. where it’s possible to build forms with not just the typical cubic blocking and bricking system, but also with other shapes such like the L-shapes, the T, the Z, or even other 3Dimensional shapes.

teghtgregtrg tgtrgtgr

Figure 03: 3D Tessellation – Tripod Shapes 3D


In this early stage experiments, I started developing a system using Rhino Modelling software, together with the Grasshopper Generative design tool with its useful plugins. The Anemone Plugin was a very important tool because of its ability to feedback processed data recursively, which is the core of this operation.

I started the process with working on 2-Dimensional Tessellations,  after that, I jumped into the 3- Dimensional space. The process consists of 5 main operations, in addition to few secondary operations. First, you have the pattern creation, the variations, the grid system, the scattering (spreading) pattern. and finally the recognition.

What happen is, that you start to add initial pattern within the grid points, but every time a shape is added, it invades a space and it consequently the number of points decreases( a destructive process). Each shape added is tested against its inclusion within the environment, and its exclusion from the zones of previously created shapes.

With every iteration, a  selected shape from the permutation pool is randomly oriented to take an empty location in the grid, sometimes a new location is perfect, or even the only available location left, but the shape selection or orientation is wrong, that was a problem I faced, then I just developed a solution for this problem, by adding another loop to test all possible shape permutations for this specific location, sometimes they all fit, and in some other cases especially on late iterations, only one got the chance to fit in.

one of the most important operations is to keep the algorithm working even when the outcomes don’t make sense for it. I cal it the Null-non-coherent test, where I test the validity of each outcome of each stage or each test against the expected result, so if I expect a curve and I got nothing, then I need to feed the system with an alternative curve, otherwise I just need to clean the output and ask it to start over again. but at the same time, other operations still operate in step by step development, so all the system need to be tested against its parallel-ability, otherwise, we got the unparallel results. for example, you can’t add a shape which takes 3 spaces and then removes 2 points only.

To simplify the process, The shapes are divided and fed to the definition as bits. these bits are synched to their corresponding grids locations, however, the final result needed to be polished to get the desired shapes. so I developed another algorithm which takes each shape and not only joins it together but also joins corresponding (with same orientations)faces o take a coherent shape indicate and separate it from other interlocking shapes.


Figure 04: 2D Tessellation – Squares – Diferent Sizes

















Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s