This 2D companion drops the 3D relief and looks straight down at the (u,v) domain: the surface is still the graph of a height function y = f(u,v), but instead of rendering the bump you see a flat curvature map — a heatmap of Gaussian curvature K computed analytically from the first and second fundamental forms:
L = f_uu/√(1+f_u²+f_v²) M = f_uv/√(1+f_u²+f_v²) N = f_vv/√(1+f_u²+f_v²)
K = (LN − M²) / (EG − F²)
Red regions are elliptic (K>0, dome-like — geodesics converge, like great circles on a sphere); blue regions are hyperbolic (K<0, saddle-like — geodesics fan apart); the surface reads white where K≈0.
The yellow geodesic trace is "locally straight" on the (curved) surface itself, not in this flat top-down view: it is integrated with the same geodesic equation using Christoffel symbols Γ built from E,F,G and their u,v-derivatives:
u'' + Γ¹₁₁u'² + 2Γ¹₁₂u'v' + Γ¹₂₂v'² = 0
v'' + Γ²₁₁u'² + 2Γ²₁₂u'v' + Γ²₂₂v'² = 0
- Curvature strength — scales the height function, so it directly scales K everywhere.
- Wave frequency — only affects the Wave surface, whose curvature alternates sign across the grid (an "egg-carton" landscape).
- Start position / Launch angle — the geodesic's initial point and direction in the (u,v) domain; the equations above are integrated forward in real time with 4th-order Runge–Kutta, and the path-length readout uses the true embedded arc length (including height), not the flat projected distance.
Watch the trace visibly bend as it crosses red (converging) or blue (diverging) territory purely from the surface's own curvature — no force is applied, exactly as Gauss's Theorema Egregium says curvature is intrinsic to the surface, and the top-down view makes the correlation between color and bend direction easy to read at a glance.