jblog
toc

Haferman Carpet

2016-02-27, post № 106

mathematics, programming, Pygame, Python, #animated gif, #automation, #black, #black and white, #carpet, #cell, #cell simulation, #cellular, #cellular automation, #cellular simulation, #fractal, #generating, #generation, #gif, #iterations, #weave, #white, #woven

The Haferman Carpet is a fractal, which kind of looks like a woven carpet. To generate it, you start with a single black pixel and apply in each cycle a set of rules.
In each generation every pixel in the carpet will be replaced by nine pixels according to the rules. A black pixel is represented by a 𝟢, a white one by a 𝟣.

The Rules

0\rightarrow\left(\begin{array}{ccc}1&0&1\\0&1&0\\1&0&1\end{array}\right)\text{and }1\rightarrow\left(\begin{array}{ccc}0&0&0\\0&0&0\\0&0&0\end{array}\right)
haferman-carpet_6-iterations.gif
Source code: haferman-carpet.py