Interpolating Splines: Which is the fairest of them all? Raph Levien, Google Carlo Séquin, UC Berkeley
Dec 21, 2015
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 !
• Idealized thin elastic strip that goes through the data points;
• The curve that minimizes bending energy:
Minimal Energy Curve
€
EMEC = κ 2ds∫
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 a2-dimensional parameter space,
– Modulo scaling, rotation, translation
– Two parameters are tangent angles
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.
• Log-aesthetic curve family is promising.
4-Parameter Splines (MVC)
• G4-continuity; roundness
• Locality is poorer
• 2-parameter is sparser (experience from font design)
Exponentialfalloff
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