210 likes | 215 Views
This article discusses different approaches to 2D curve design, particularly focusing on interpolating splines. It explores the concept of "best" in terms of fairness (smoothness), locality (ripples and wiggles), robustness, and stability. The article also introduces the concept of Minimal Energy Curve (MEC) and its limitations, along with alternative functionals like Scale-Invariant MEC and MVC. It then presents the concept of 2-Parameter Splines, the Euler Spiral Spline, and suggests empirical testing for determining aesthetic curves. Finally, the article explores the applications of these splines in font design and highlights efficient implementation techniques.
E N D
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:
Problems with MEC • Lack of convergence • Lack of roundness
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
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 functionalis best? • We can employ empirical testing. • Log-aesthetic curve family is promising.
Empirical Study: Aesthetic Curves MECminimum popularvotes Exponent of Aesthetic Curve
Exponential falloff 4-Parameter Splines (MVC) • G4-continuity; roundness • Locality is poorer • 2-parameter is sparser(experience from font design)
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.