Different types of carpets were woven in parallel by nomadic tribes, village and town workshops, as well as the royal courts. As such, they represent miscellaneous, simultaneous lines of tradition, and reflect the history of Iran and its peoples.
The variety of the patterns and the intricacy of the designs have made it an artistic medium that we have tried, here is the result.
↳ Cellular automaton
Our first challenge was to find a way to create a procedural pattern consistent with the traditional rug structure.
The easiest way to achieve this was to reproduce a cellular automaton model such as John Conway's "Game of Life". It's a little machine, of sorts, with groups of cells that evolves from iteration to iteration, its overall appearance changes depending on an initial input and a set of rules followed by its cells.
We use the B234/S rule (see born/survive notation) because of the fabric-like beauty of the patterns it produces.
To contrast this rigorous pattern, we then turned to Alan Turing, another English mathematician known for his research on morphogenesis, in which he uses a reaction-diffusion model to describe how patterns such as stripes and blotches can emerge in nature.
Using our previous output as input to this algorithm and varying its parameters we came up with a more organic, creative and faithful interpretation of the persian rug.
Scroll down to see the program we use to design it.
↳ Procedural rug design (three.js)