A little toy which demonstrates how complex and chaotic behaviour can arise from very simple rules and local interactions.
This is a type of Continuous Cellular Automata. Each cell has a scalar value which changes, based on the values of its neighbours. Then by taking the difference between the values of neighbouring cells, this scalar field is converted into a vector field.
Source Code provided (just follow the links)