Cellular automata with continuous state values (0–255) produce fluid wave-like patterns
Standard cellular automata use discrete states (on/off, 0/1/2). But a CA cell’s state can instead be a continuous value over a range (e.g., 0–255 grayscale). In Pearson’s custom ‘waves (averaging)’ CA, each cell’s next state is computed by adding the neighborhood average to the current state and subtracting the previous state — a discrete version of the wave equation from physics. This creates liquid-like propagation: perturbations ripple outward, reflect, and interfere. Boundary conditions (if average==255, set to 0; if average==0, set to 255) prevent the system from settling. The principle generalizes: any physical simulation that uses continuous variables can be implemented as a CA by discretizing the update rule to individual cell computations.
Examples
Wave rule: nextState = state + average - lastState; where average is the mean of the 8 neighbors’ states. Starting from a gradient initial condition produces expanding ring patterns. Single-pixel-sized cells produce finer, more detailed wave patterns at greater computational cost.
Assessment
Explain how the wave CA update rule nextState = state + average - lastState approximates the physical wave equation, and predict what would happen visually if you removed the boundary conditions (the if average==255/0 clauses).