Modular Pattern System – Example 2.2

02_15 Divisions skewOne of the key concepts of complex systems and complex patterns is that they really aren’t that complex. Relatively simple rules, when multiplied across a system, start to create complex patterns at larger scales. So for this example, I will demonstrate a fairly regular system.

This pattern, like many that I show, does not get original credit from me. Like many of the examples, they are adapted from things I have found elsewhere. In this case, I was learning the computer program Processing and I wanted to adapt some of the programs I learned there to Grasshopper. This comes from the excellent book Generative Design (Generative Gestaltung) in German) by a team of German programmers and writers (page 215).

The rules are fairly simple. I drew a diagram to explain.


Like the example from Sol Lewitt, there is a base rectangle with a point that can be moved around in the rectangle. This point is connected to points drawn on the edge of the square, which can be adjusted up or down. This basic square is then repeated iteratively to fill out a larger field. Even this simple module when multiplied can start to create some dynamic patterns, especially when the central point is skewed.


Here is a screenshot of the script. It is fairly simple except you need to make sure you get the flattens and grafts right. I won’t explain it in too much detail since there are really no new components here. The most important thing is to understand the logic of the pattern system.


Bonus: If this is too easy, you can change the point movement to move the points randomly (or in a series). This didn’t turn out as well as I wanted it too, but it should be easy to figure out…