Cellular Automata - Catalytic Reactions
Creating real-time animation effects using two-dimensional cellular automata
This sample shows demonstrates a cellular automata which was initially designed to mimic catalytic reactions and in particular the Belousov-Zhabotinsky or "Clock" reaction. It produces a great variety of continuously varying, wave-like patterns.
The basic setup for this algorithm is the same as the main Cellular Automata sample, in that it uses a wrap-around cellular space and the state of cells in the next generation are determined from the state of the cells in the current generation. The difference is the algorithm used to determine the new state.
Each cell in the space has n possible states. A cell in state 0 is said to be "healthy" and one in state n -1 is said to be "ill". Cells in states inbetween these two extremes are described as "infected". There are three rules which are applied to generate the next state for a cell, depending on whether it is healthy, infected or ill:
A wide variety of different effects can be obtained by modifying which neighbours are considered, the number of states and the rate of infection. A good effect to try when the animation is running is to modify the neighbours: the entire cell "kaliedoscopes" between the existing and the new pattern. Here are some examples of the patterns obtained: