Clothoid

Explore a clothoid's signed curvature, tangent and osculating circle at a chosen arc parameter.

About this tool

A clothoid has curvature that varies linearly with the signed arc parameter. Set the scale a and endpoint L, then press Calculate. The full curve from s=0 to s=L stays visible while the probe moves. There is no automatic animation. The x and y axes use meters and the same scale.

Convention. This tool uses x(s)=∫₀ˢ cos(t²/(2a²))dt and y(s)=∫₀ˢ sin(t²/(2a²))dt. Consequently θ(s)=s²/(2a²), κ(s)=s/a² and r′(s)=(cosθ,sinθ). The tangent is a unit vector in the direction of increasing s; the on-screen arrow has a fixed visual length. θ is reported in radians without wrapping to a single revolution.

Negative parameters. L is an endpoint coordinate, not a negative geometric length. The whole curve has arc length |L|. Negative s gives x(−s)=−x(s), y(−s)=−y(s), θ(−s)=θ(s) and κ(−s)=−κ(s). The selected probe follows the signed interval from 0 to L; its coordinates are calculated at that s, not rounded to a curve sample.

Osculating circle. For s≠0 the positive radius is R=1/|κ| and the center is (x−sinθ/κ, y+cosθ/κ). The sign of κ determines which side of the tangent contains the center. The circle is tangent to the curve at the same probe used for all displayed numbers. At s=0, the tangent is (1,0) and κ=0; there is no finite radius or center. L=0 therefore gives a single point and the straight limiting case.

Large circles are clipped to the plot without enlarging the curve's view. Their visible arcs are evaluated relative to the probe to avoid cancellation from very large center coordinates. Circle chords have at most 0.15 CSS pixels of geometric approximation error. The static curve may be simplified within 0.2 CSS pixels; fine turns below screen resolution cannot be distinguished individually. Neither simplification changes the calculated probe.

Numerics and range. Coordinates use cumulative eight-point Gauss–Legendre quadrature in u=s/a, with each interval limited to Δu≤0.1 and a tangent-phase change of at most 0.05 rad. A fresh partial quadrature evaluates probes between stored samples. The offered inputs are a=0.2–5 m and L=0 or 0.001≤|L|≤12 m, covering |s/a|≤60. The millimeter limit applies to the offered nonzero endpoint, not to the mathematical curve or intermediate probes.

Controls and storage. Changing a, L or the example clears the result. Reset keeps the inputs and circle preference. New examples initially select the endpoint; the labeled slider provides 1000 intervals. Reset and recalculation retain the chosen slider position. Within-page navigation retains the curve and probe. Reload retains valid parameters, the slider position and the circle preference, and waits for Calculate. Scrolling over the plot scrolls the page.

In the normalized Fresnel convention, x(s)=a√π C(s/(a√π)) and y(s)=a√π S(s/(a√π)). Sources: NIST DLMF 7.2.7–7.2.8, Fresnel integral definitions and NIST DLMF 7.6, power series.