Spline solving and rendering are expressed in a local frame for each segment.
Each segment is normalized into a chord-aligned coordinate system:
(0, 0)(1, 0)This makes the curve family reusable across arbitrary world-space geometry.
TwoParamCurveTwoParamCurve is the abstraction for families defined by two endpoint tangent
angles:
Render(th0, th1) returns local control geometryComputeCurvature(th0, th1) estimates endpoint curvatureEndpointTangent(th) provides the default boundary tangent modelMyCurveMyCurve is the concrete family used by the package and sample. It provides:
Render4(...) output for smoother jointsTwoCubics and CurveGridThe tuner workflow stores samples of a curve family using TwoCubics. Those
masters are arranged in CurveGrid, which: