Pattern Deformation


A big shout out and thanks to the folks at DesignCoding, “a digital diary of research on the relationship between basics of geometry and design computing”.  They’ve always got nice stuff going on with that site.  I was looking at their post on Parquet deformations and had the familiar “oh yeah! Lemme try THAT!” response

As with many things that look complex and awesome, the underlying logic is pretty simple.  Here we start with a regular square grid of a divided surface.


Onto it I place a 5 point adaptive component that is structured like the image below:


With a model line between points 2 and 4, and another line between 5 and the midpoint of 2,4.  A reporting parameter between 1 and 2 drives the point p1 hosted on the line between 5 and midpoint 2,4.

Four placement points are hosted on the nodes (2, 3, 4, and5), and another goes on a point off to the side, hosted on a free point.  This point (1) serves to tell the family how far it is from a starting point


Using a reactor type of behavior, as the point 1 gets further and further away, it drives p1 in the family.


This basic idea can then be amplified with a slightly different AC, placed in a sub pattern:


This family is placed four times, in a radial arrangement, with point 2 at the middle.



Repeating this block of 4 components results in 4 separate Repeaters, which resolve into this pattern:


Pattern Deformation

Download the files from here


  1. Shades of Escher...
    You forgot to make the download link.

    Thanks, awesome post.

  2. The links to the samples does not seem to be active

  3. Hi Zach, this is one of your best posts ever!

  4. Sorry, files are posted now. Thanks for your patience. -Z

  5. great post, Zach.
    Also inspiring:


  6. Hi Zach, quick question. How would you repeat a 5pt component on a 1/2 step surface?
    I was unable to use the existing curtain panel template because i needed an extra point to do something similar to your reactor blog-post.
    (4 pts on 1/2 step and 5th pt on a reactor pt)
    No matter how i try, the repeat button doesn't understand i want it in a 1/2step pattern. It repeats in the generic rectangle pattern format.

  7. Hi Zach,
    Interesting post - good to see how simple it is to achieve such results. I posted a video on youtube recently that shows a pattern being distorted over a surface, but achieved by a different method: