I wrote a free app that draws tiled pictures with cellular automaton. They are a bit like the autogenerated avatar pictures on github. The picture above is actually created by it. However, you can make them much more personalized, more beautiful and certainly more complex - once you understand the many parameters (knobs and buttons in the app). To help you with it I wrote this text. And the best is to explain: what are cellular automata.
Each tile is one cell. And that tile has a color, representing its state which is little more than just an one digit number. The cells are lined up in a row and you can define their starting state by hand, since every start configuration can produce a very different pattern.
The actual picture will be computed step by step by a rule - which you can also choose, since every rule draws the picture with a different pattern. The rule operates like a gigantic if statement. It just checks: what is the state of a cell and what is the state of its neighbors. For every combination of states there is a fixed result, which will be the new state (color) of the cell. This way you get a new row of colored tiles. Repeated often enough we will get our square shaped picture.
This was a very simplified, since I expanded the original concept greatly. The colors tab alone has predefined color sets a huge color store, color functions to compute gradiants and complementary colors. Furthermore can each color changed on the RGB or HSL axis with their own randomizer buttons. And this was just one of 5 tabs of setting. If you want to know every detail, please read the manual.
There are also activity rules that can hinder cell state changes for more broken patterns and also buttons that get you related rules. But the maybe most interesting and fruitful features are the following three:
Paint Direction: Default is top down as described. But you can also let it draw from outside in (on all four sides) or inside out (also), which makes your image automatically mirror symmetric, twice.
Rule Mapping: If the cell neighborhood has the size of 5 (2 neighbors on each side) and you selected 7 states they can build 7**5 (seven to the power of 5) = 16_807 different patterns. You will not manually choose the result of 16_807 sub-rules. But on other side having more states (colors) will make you drawings more interesting. So b cautious at first and select the strongest rule mapping called summing. Now you have only 35 distinct sub-rules (2 pages full). Then hit the random button to get a starting point and change only those sub-rules that are bottlenecks.
Result Application: If you're new, you might lack the logical intuition where the bottle necks are. Then you got drawing where nothing happens - even if you change some sub-rules. In that case you could choose not just insert the result of a sub-rule as the new cell state. You could also add or multiply them. If you stuck should take an operation that contains a rot or rotation in the names. Then there will be always added an additional value of one. This will make sure that the cell state changes from computation round to next and you will get interesting pictures fast.
If you want to know more , please look here and there and if you liked the program and have improvement suggestions please let me know. Thanks
Top comments (0)