Top-down raked-sand simulation: ripple height at every point is the sum of a decaying travelling wave from each stone. Click the sand to place a new stone.
Stones
—
Elapsed
—
Peak height
—
Mean height
—
Ripple speed—
Rake frequency—
Ripple depth—
Light angle—
Formula: h(x,y) = Σᵢ sin(dᵢ·f − t·v)·e^(−0.09·dᵢ)·A, summed over every stone i at distance dᵢ. Shading comes from the local height gradient lit from the angle above.
Zen Garden Ripples — 2D top-down raked-sand field
This 2D companion renders the same physics as the 3D scene from directly overhead: at every point of the sand bed, the height is the sum of a travelling sine wave radiating from each placed stone, its amplitude decaying exponentially with distance — h(x,y) = Σ sin(d·frequency − t·speed) · e^(−0.09·d) · amplitude. Shading is derived from the local slope of that height field lit from an adjustable angle, which is what turns the raw number field into a recognisable raked-sand pattern. Click anywhere on the sand to drop a new stone and watch its ripple set merge with the existing ones.