Cellular automata, conceptually, are simple creatures that follow a series of rules. A grid generator using cellular automata adjusts each node based on the following rules:
- orthogonality with it's neighbors,
- distance to it's neighbors,
- and nearness or contact with a boundary.
The boundaries, islands, and other internal features are input as landscape for the cellular automata to walk upon. Each node is allowed to randomly 'walkabout' and the fitness of the new location is evaluated against the old location. If the new location has a higher score (is the grass greener?) then the node moves to the new location.
Common grid generation algorithms require the location of all boundary nodes to solve for the locations nodes interior to the domain. A cellular automata approach only requires the upstream and downstream node locations to be fixed on the appropriate boundaries.
GGGG's Great Grid Generator (4G) is the beginning of a complete, cellular automata, grid generation system. It is platform independent software, written in Python with the Numerical Python extension. 4G is released under the GNU General Public License and is available at http://sourceforge.net/projects/gggg.
Tim Cera's web site is http://home.earthlink.net/~timcera
Check out the numerical rocket simulation, or the
compound angle calculator.