interpolating splines: which is the fairest of them all? raph levien, google carlo séquin, uc...

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

Post on 21-Dec-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

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∫

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 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 functional is best?

• We can employ empirical testing.

• Log-aesthetic curve family is promising.

Empirical Study: Aesthetic Curves

MECminimum

popularvotes

Exponent of Aesthetic Curve

4-Parameter Splines (MVC)

• G4-continuity; roundness

• Locality is poorer

• 2-parameter is sparser (experience from font design)

Exponentialfalloff

Fairness/Locality Tradeoff

Exponent of Aesthetic Curve

Exponential falloff factor

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.