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 ribbons in the 3D chart are the 3rd, 15th, 50th, 85th and 97th percentile curves, stacked along the depth axis for readability. The white line is this child's own recorded trajectory; each recorded visit becomes a sphere colored by how far it sits from the median (green ≈ typical, red/blue ≈ 2+ SD away). 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 (instanced marker + connecting line) 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.