Friday, March 13, 2026

Fluvial landscapes

A topic I return to from time to time is fluvial landscapes. These are common in nature but don't seem to fit naturally into any of the standard classes of 3D recursive shape. This post is about extremely simplified descriptions of them. 

About the simplest is this subdivision scheme:

It takes a plan-view right angles triangle and subdivides it in two, lowering by an amount proportional to the side length. Each iteration it flips between lowering or raising the newly added vertex. This has the basics of a fluvial landscape: fractal roughness, angled valleys and ridges. However the valleys follow a blancmange curve in their profile, so water wouldn't run down it like a real fluvial landscape.

Probably the next simplest is to replace the 'midpoint offset' with a smooth profile. Rather than setting the mid height to (z_0 + z_1)/2 we set it to (z_0 + kz_1)/(1+k) where k=e^{al/2} and a describes how concave the slope is and l is the horizontal edge length. 

Here for a=4:

It is less rough though. An improvement is to change a inversely to the edge length, but only on new edges. This stops tributaries from entering at steep angles near the river source, reflecting the idea that they would need to slow down to change direction as they enter the main stream (which is faster and so more sloping):




No comments:

Post a Comment