The first fundamental form¶
Status: outline
This chapter is scaffolded, not written. Section 1 and the failure modes below are real; sections 2 to 5 are placeholders. PRD 15.3 fixes the seven-part shape used here and states the standard: a dedicated chapter that takes a reader from novice to able to implement — not a literature dump and not a proof, but a constructive path. Do not delete a section heading to avoid filling it in.
1. The problem in one paragraph¶
Unrolling a tube means finding a map from its surface to flat paper that keeps
lengths right. Every length measured on a parametric surface P(u, v) is determined by three
numbers at each point — E = P_u . P_u, F = P_u . P_v, G = P_v . P_v — and by nothing
else. That is the whole reason this codebase has one abstraction rather than five unrelated
algorithms: each unrolling tier is a different answer to integrate this metric, they share
one input and one output, and so they can be tested against each other (PRD 6.0, ADR-004).
2. The minimum background¶
To be written. Develop the notation from scratch, defining every symbol at first use.
3. The derivation¶
To be written. In steps small enough that a reader can check each one individually.
4. The algorithm¶
To be written. Pseudocode using the real function names in this codebase, so a reader can move from the page to the source without a translation step.
5. A worked numerical example¶
To be written. With actual numbers a reader can reproduce, and the expected output printed in full. This section is what separates a chapter that can be implemented from one that can only be admired.
6. Failure modes¶
Assuming
F = 0. It is zero for the three analytic surface types measured inside Fusion, and that is what keeps the closed forms clean, but it is not a general truth and must not be assumed for a NURBS face.Confusing the metric’s units.
Eis millimeters squared per unit ofusquared, anduis not always a length: for a cylinder it isz / r, dimensionless.Treating a degenerate metric as a small one.
EG - F^2 = 0means the parameterization has collapsed — at a cone apex, or a pole — and no amount of tolerance makes the local frame meaningful there.Metric.is_degenerateexists for this.
7. References¶
do Carmo, M. P. (1976), Differential Geometry of Curves and Surfaces, chapter 2-5. The standard treatment. Cited by chapter so any edition, or an equivalent open text, can be used. Read it for the definition and for why the form is intrinsic.