Expand description
Arc-length evaluation of intrinsic (natural-equation) curves and of the planar-plus-elevation composition.
§Why quadrature, and why that is not an approximation of the VALUE
An intrinsic curve stores curvature as a function of arc length. Its
heading is the integral of that law and is exact in closed form, but its
POSITION is the integral of (cos th, sin th) and has no elementary
antiderivative – for the clothoid it is the Fresnel integral. The stored
value stays exact; only reading a point out of it needs numerical work.
That is the same bargain as evaluating sin: the curve is not approximated,
its evaluation is computed to tolerance.
Gauss-Legendre is used because the integrand is smooth. An 8-point rule integrates a degree-15 polynomial exactly, and against the Fresnel closed form it reproduces a 120 m clothoid to R=300 with zero error at machine precision on a single panel, versus roughly 1e-3 relative for a comparable trapezoid budget. Panels are subdivided by total turning so a tight spiral gets more of them.
A panel must never straddle a seam of a piecewise law: Gauss-Legendre
assumes a smooth integrand, and a joined curve was wrong by 3.0e-3 until
panels were split at seams. Any new integrator splits at
CurvatureLaw::seams_within too. Pin a change to this quadrature against
an independent closed form (Fresnel for the clothoid, the elementary arc
for constant curvature), never against another run of the quadrature
(ADR 0060).
Functions§
- elevated_
point - Position on an elevated curve at plan distance
d. - elevated_
tangent - Unit tangent of an elevated curve at plan distance
d. - intrinsic_
point - Position on an intrinsic curve at arc length
sfrom its start. - intrinsic_
tangent - Unit tangent of an intrinsic curve at arc length
s.