Presentation is loading. Please wait.

Presentation is loading. Please wait.

Interpolating Splines: Which is the fairest of them all?

Similar presentations


Presentation on theme: "Interpolating Splines: Which is the fairest of them all?"— Presentation transcript:

1 Interpolating Splines: Which is the fairest of them all?
Raph Levien, Google Carlo Séquin, UC Berkeley

2 Approaches to 2D Curve Design
Bézier curves Approximating splines Useful if noisy data  Interpolating splines

3 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 ! Compute cost: One of the assumptions of this work is that computers are getting faster, it would make sense to throw a huge amount of computing power at computing a “best” spline. But, having gone deeper into the numerical methods, I discovered efficient techniques for all the spline variants described here - they could have been computed in the ’70s.

4 Minimal Energy Curve Idealized thin elastic strip that goes through the data points; The curve that minimizes bending energy: This is an mathematical idealization of the classic mechanical spline, long used in shipbuilding and aircraft design.

5 Problems with MEC Lack of roundness Lack of convergence
The thick line on the left is the MEC spline going through the three control points. It’s not quite a circle - it’s a little longer. The right figure shows the MEC failing to converge when the angle is greater than 180 degrees. The cost metric decreases inversely proportional to length, so as the curve gets longer, the metric goes to zero.

6 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?

7 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). Separate slide for 2 params

8 2-Parameter Splines Each curve segment determined by a 2-dimensional parameter space, Modulo scaling, rotation, translation Two parameters are tangent angles

9 MEC is cut piecewise from a fixed curve
Known as the “rectangular elastica”

10 A Major New Result: All 2-parameter, extensible splines have segments cut from a generator curve! (With scaling, rotation, translation to fit)

11 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.

12 Euler Spiral Curvature is linear in arc-length
Aka: Cornu spiral, Fresnel integrals, Clothoid, Railroad transition curve . . .

13 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?

14 Which generating curve looks best?
Much simpler than: Which functional is best? We can employ empirical testing. Log-aesthetic curve family is promising.

15 Empirical Study: Aesthetic Curves
MEC minimum popular votes Type designers expressed a strong preference for curves with an exponent near 1.5 or two, but the those curves have a MEC energy significantly higher than the minimum. Exponent of Aesthetic Curve

16 4-Parameter Splines (MVC)
G4-continuity; roundness Locality is poorer 2-parameter is sparser (experience from font design) Exponential falloff

17 Fairness/Locality Tradeoff
Exponential falloff factor Exponent of Aesthetic Curve

18 Applications for Font Design
Euler spiral spline Sparse control points Interactive editing G2 straight-to-curve transitions Several fonts drawn Inconsolata

19 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.

20 Bézier Representation of Font
Euler spiral master Optimized conversion to Béziers Error tolerance < 10-3 Compatible with industry standard font formats

21 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.


Download ppt "Interpolating Splines: Which is the fairest of them all?"

Similar presentations


Ads by Google