Interpolating Splines: Which is the fairest of them all? Raph Levien, Google Carlo Séquin, UC Berkeley Approaches to 2D Curve Design • Bézier curves • Approximating splines – Useful if noisy data Interpolating splines What is the best interpolating spline? • How do you define “best”? – Fairness (smoothness) – Locality (ripples and wiggles) – Robustness (does it always converge?) – Stability (perturbation small change) – NOT: Compute cost ! Minimal Energy Curve • Idealized thin elastic strip that goes through the data points; • The curve that minimizes bending energy: E MEC ds 2 Problems with MEC • Lack of roundness • Lack of convergence Does MEC optimize the wrong functional? • Is there a better functional? • Tweaks to fix roundness: – Scale-Invariant MEC – MVC • Space of all possible functionals is a pretty big zoo; – How to choose one? Properties of MEC worth preserving: These hold for any sane variational spline: • Extensionality – Adding an on-curve point preserves shape. – Direct consequence of variational definition. • G2-continuity – Known splines with higher continuity have worse locality. – G2 is “fair enough” (for drawn curves). 2-Parameter Splines • Each curve segment determined by a 2-dimensional parameter space, – Modulo scaling, rotation, translation – Two parameters are tangent angles MEC is cut piecewise from a fixed curve • Known as the “rectangular elastica” A Major New Result: • All 2-parameter, extensible splines have segments cut from a generator curve! (With scaling, rotation, translation to fit) Generator Extensional Spline • Conversely, start with a curve and use it to generate a spline. • Relationship between ’/2 and ’’/3 must be single-valued. • Preserve G2-continuity across points. Euler Spiral • Curvature is linear in arc-length • Aka: Cornu spiral, Fresnel integrals, Clothoid, Railroad transition curve . . . Euler Spiral Spline • A really good curve: Euler spiral – Fixes roundness problem – Far more robust • Some solution always seems to exist. • Mentioned by Birkhoff & de Boor, 1965 • Implemented by Mehlum, ’70s • Why is it not more popular? Which generating curve looks best? • Much simpler than: Which functional is best? • We can employ empirical testing. • Aesthetic curve family is promising. Empirical Study: Aesthetic Curves MEC minimum popular votes Exponent of Aesthetic Curve 4-Parameter Splines (MVC) • G4-continuity • Locality is poorer • 2-parameter is sparser (experience from font design) Exponential falloff Fairness/Locality Tradeoff Exponential falloff factor Exponent of Aesthetic Curve Applications for Font Design • Euler spiral spline • Sparse control points • Interactive editing • G2 straight-to-curve transitions • Several fonts drawn – Inconsolata Efficient Implementation • Can just use 2-D LUT to compute curvature from tangent angles. • Newton solver to enforce G2 globally. • Drawing is not much more expensive than de Casteljau. • Can convert to concise Bézier curves. Bézier Representation of Font • Euler spiral master • Optimized conversion to Béziers • Error tolerance < 10-3 • Compatible with industry standard font formats Conclusions • Best 2D spline is cut piecewise from some generating curve. • Euler spiral is a very good choice. • Aesthetic curves may be slightly better. • Efficient and practical implementations.
© Copyright 2026 Paperzz