The channel is a chain of points sampled down the valley. At every interior point a signed curvature κ is measured from the turn angle between the incoming and outgoing segments. Each point then migrates along the local outward normal at a rate proportional to |κ|: the sharper the bend, the faster the outer bank retreats — this is the standard curvature-driven bank-erosion rule used in real meander models.
The bank on the outside of a bend (higher velocity, more shear) is drawn as the eroding cut bank; the inside bank (slack water) accumulates a growing point bar of deposited sediment, shown as a sandy fringe that widens as local curvature builds up over time.
Every few steps the centerline is resmoothed with a Catmull-Rom respacing pass so points stay evenly spaced as bends stretch — without it the outer-bank points would spread apart and the inner ones would bunch up until the curve becomes numerically unstable.
When a bend loops far enough that two non-adjacent parts of the channel pass within a threshold distance of each other, the loop necks off: the simulation splices in a short direct connection across the neck and detaches the old loop as a stranded oxbow lake, exactly how rivers like the Mississippi abandon meander loops during a flood.
- Raise the erosion rate to speed up bend growth and see cutoffs happen sooner.
- Bend smoothing controls how aggressively the resampling pass relaxes sharp kinks between migrations.