The median growth trajectory L(t) for age t (months) follows the Jenss–Bayley infant growth curve, the classic closed-form model fitted to longitudinal weight/height data:
L(t) = a + b·t − exp(c − d·t)
Each percentile band is generated by treating the spread around the median as approximately proportional to it (a fixed coefficient of variation, the way WHO/CDC standard-deviation tables actually behave for weight and BMI at these ages):
value(t, z) = L(t) + z · SD(t), SD(t) = k · L(t)
z-score = (measured − L(t)) / SD(t)
percentile = Φ(z) × 100 (standard normal CDF)
The five curves on the chart are the 3rd, 15th, 50th, 85th and 97th percentile lines, with the 3rd-97th and 15th-85th bands shaded for quick visual reference. Each recorded visit becomes a dot colored by how far it sits from the median (white ≈ typical, red/blue ≈ 2+ SD away), joined by the child's own trajectory line. Growth velocity is the slope between the two most recent visits.
- Metric / Sex — swap the underlying growth-curve parameters (boys and girls track slightly different median curves).
- Age / Measured value sliders — set the next data point; the moving marker and live z-score/percentile update in real time before you commit it.
- Record measurement — commits the point to the child's trajectory and recomputes growth velocity.
Curve coefficients here are illustrative approximations of the shape of real WHO/CDC growth standards, not a copy of the official LMS reference tables — the mechanism (percentile bands from a mean+SD growth model, z-score, normal-CDF percentile) is the real clinical method pediatricians use. This 2D companion plots the same growth model, percentile bands and z-score/percentile math as the 3D chart on a flat clinical-style axis pair instead of a rotatable 3D scene.