Agent Based Erosion

This was one of the first implementations of the automata fully interacting with the data from a scalar field.

A heightmap is initially generated from a perlin noise function, and then the ray automata are allowed to travel across it, dragging bits of the landscape downhill with them.

The landscape is always changing, and the automata are always sensing it's present state and reacting accordingly. The origional function need never be run again, and all processes proceed automatically and deterministically.

Although there are better (and more efficient) ways of simulating water erosion, eroding paths for different reasons (between places and along the most energy efficient routes) creates much better enviornments than perlin noise alone.

Live Demo with Sourcecode