The formula
The curve itself:
r(t) = ( x(t), y(t), z(t) ), t in [a, b]
Reading: one input, three outputs. Feed in a parameter value and the function hands back a position. The curve is the trail of positions as t sweeps the interval.
Velocity and speed:
v(t) = r′(t) = ( x′(t), y′(t), z′(t) ), speed = |r′(t)| = √( x′² + y′² + z′² )
Reading: differentiate each coordinate and you get the tangent vector; its length is how fast the point moves along the path per unit of parameter. If t is seconds, that is physical speed.
Arc length — the odometer:
s(t) = ∫ₐᵗ |r′(τ)| dτ
Reading: distance traveled is accumulated speed. This integral is the exchange rate between the parameter and actual millimeters of path.
Curvature — how hard the path turns:
κ = |r′ × r″| / |r′|³ (3-D)
κ = (x′·y″ − y′·x″) / (x′² + y′²)^(3/2) (planar, signed)
Reading: curvature is 1 over the radius of the circle that best hugs the curve at that point. The formula is built so the answer depends only on the path's shape, not on how fast you happen to traverse it.
The one that sets machine limits:
a_n = v²·κ = v²/ρ
Reading: normal (centripetal) acceleration is speed squared times curvature. Tight corner plus high path speed equals a lateral acceleration the servos, the fixture, or the airframe has to survive.
Where you meet it
- At the CNC machine. Every G-code program is a parametric curve in disguise, and every CAM spline (NURBS included) is one explicitly. The controller's job is to run the tool along
r(u)at a commanded feedrate — which means continuously converting parameter speed to path speed, because the CAD parameteruis not distance. When the post-processor linearizes an arc into chords, the deviation is the sagitta, roughlyL²/(8ρ): 1 mm chords on a 10 mm radius leave 0.0125 mm of error. Whether that number is fine or a scrapped part depends on the drawing. - In flight test telemetry. A trajectory is position versus time — a parametric curve by construction, not by choice. Range reconstruction, TSPI smoothing, and the miss-distance calculation all run on
r(t)and its derivatives. The zero-drag textbook casex = v₀·cosθ·t,y = v₀·sinθ·t − g·t²/2is the first parametric curve most engineers ever compute with. - On the cam grinder. A cam profile is a curve parameterized by shaft angle, and the follower's lift, velocity, and acceleration are the first three derivatives with respect to that angle. Discontinuities in the second derivative are why old-style parabolic cam profiles hammer valvetrains and modern designs use curves with continuous jerk.
- At the motion-control design review. Robot arms and gantries separate path (the geometry, parameterized by arc length) from trajectory (the schedule, arc length versus time). The reviewer question "what's your TCP speed through the corner?" is a question about
v²·κ— at 500 mm/s through a 5 mm corner radius the end effector pulls 50 m/s², about 5.1 g, and something in the loop will object.
How it works
The reason parametric form exists: y = f(x) can only describe curves that pass a vertical-line test. A circle fails it. A loop fails it. Anything in 3-D fails it outright. Writing each coordinate as its own function of one parameter removes the restriction — circles, helices, figure-eights, and self-crossing tool retract moves all become ordinary, differentiable functions.
The central idea to internalize is that the parameterization and the geometry are separate things. The unit circle is (cos t, sin t) for t in [0, 2π], and also (cos 2t, sin 2t) for t in [0, π], and infinitely many others. Same set of points, different speed schedules. Speed, velocity, and acceleration belong to the parameterization; curvature, arc length, and tangent direction belong to the curve. The curvature formula divides by |r′|³ precisely to cancel the parameterization out. Check it on a circle of radius 3 traversed at wildly non-uniform speed: the formula still returns κ = 1/3 everywhere.
Arc length is the "honest" parameter — one unit of s is one unit of distance, and with it |r′(s)| = 1 identically. The catch is that the arc-length integral almost never has a closed form. For an ellipse with semi-axes 5 and 3, the quarter-perimeter is 5·E(m) with m = 1 − (3/5)² = 0.64 — an elliptic integral, value 6.3817, and the entire theory of elliptic functions grew out of that dead end. In practice nobody inverts s(t) analytically; motion controllers and CAM kernels tabulate it numerically and interpolate. That numerical reparameterization is happening inside every machine that holds constant feedrate along a spline.
Worked example worth keeping: the helix r(t) = (a·cos t, a·sin t, b·t) — a thread-milling path or a coil spring centerline — with radius a = 10 mm and pitch 25 mm per turn (b = 25/2π ≈ 3.979). Speed per radian is √(a² + b²) = 10.76 mm, so one turn covers 67.6 mm of path, not 2π·10 = 62.8. Curvature is a/(a² + b²) = 0.0863 /mm, a radius of curvature of 11.58 mm — larger than the 10 mm cylinder it wraps. Pitch flattens the turn. Anyone comping a thread-mill radius or sizing coil-spring wire stress off the cylinder radius instead of the curve's actual radius is carrying a built-in error.
The gotchas, in the order they bite:
- The parameter is not arc length. Sampling a CAD spline at uniform steps of
ugives points that bunch and spread along the path, because|r′(u)|varies. Uniform-utoolpath points produce uneven surface finish; uniform-usimulation output makes velocity plots lie. Convert throughs(t)first. - Smooth functions can make sharp curves. A cusp lives wherever
r′(t) = 0. The cycloid(R(t − sin t), R(1 − cos t))is built from infinitely differentiable pieces, yet its speed2R·|sin(t/2)|hits zero once per revolution and the curve kinks to a dead point. On hardware, a parameterization that stalls means dwell — a burn mark from a laser, a witness mark from a cutter. The math term is regular curve:r′ ≠ 0everywhere. Check it before trusting any tangent or curvature formula, since both divide by|r′|. - Direction is part of the definition. Running
tbackwards flips the tangent and swaps climb milling for conventional. Two curves can occupy identical points and still be different toolpaths. - Derivatives of noisy trajectories amplify noise. Differentiating telemetry twice to get acceleration multiplies high-frequency noise; smooth first (or fit a spline and differentiate the fit), or the "acceleration" plot is mostly quantization.
The mistake people actually make is number 1 wearing different hats: assuming the knob is proportional to distance. It is true for a line and a circle traversed at constant rate and false for nearly everything else.
History
The subject starts with a question that sounds trivial and wasn't: how long is a curve? In 1657 William Neile, nineteen years old, produced the first exact arc length of an algebraic curve — the semicubical parabola y² = x³ — a result published by Wallis and regarded as a major step toward the calculus [3][4]. In 1731 Alexis Clairaut, who had done the work at sixteen, published Recherches sur les courbes à double courbure, the first systematic study of what he called curves of double curvature — space curves — and it got him elected to the Paris Academy below the legal age [5][6].
The modern machinery of tangent, normal, and binormal arrived twice, independently. Jean Frédéric Frenet derived six of the frame equations in his 1847 doctoral thesis at Toulouse; Joseph Serret published the full set of nine in 1851, unaware of Frenet's work, and Frenet responded by publishing his own version in 1852 [1][2]. The Frenet–Serret formulas are still how every guidance and robotics text builds a moving frame along a path.
The notation engineers actually use — a single boldface r(t) instead of three scalar equations — comes from Josiah Willard Gibbs, whose privately printed Elements of Vector Analysis (1881–84) circulated from his Yale lectures, and from Edwin Bidwell Wilson's 1901 textbook Vector Analysis, which standardized the vocabulary of vector calculus as it is still taught [7][8].
Related tools
- /tools/projectile-range — the classic time-parameterized trajectory, solved for range
- /tools/orbital-velocity-period — circular orbits are parametric curves with constant speed and constant curvature
- /tools/hohmann-transfer — trajectory design between two of those curves
- /tools/tsiolkovsky-delta-v — budgets the speed changes that reshape a trajectory
- /tools/convert-angle — cam and helix parameters live in radians; feeds and speeds don't
Sources
- https://en.wikipedia.org/wiki/Frenet%E2%80%93Serret_formulas
- https://mathshistory.st-andrews.ac.uk/Biographies/Frenet/
- https://en.wikipedia.org/wiki/Semicubical_parabola
- https://mathshistory.st-andrews.ac.uk/Curves/Neiles/
- https://en.wikipedia.org/wiki/Alexis_Clairaut
- https://mathshistory.st-andrews.ac.uk/Biographies/Clairaut/
- https://en.wikipedia.org/wiki/Vector_Analysis
- https://archive.org/details/vectoranalysiste00gibbiala