Interpolating Splines: Which is the fairest of them all?

Slides:



Advertisements
Similar presentations
Adobe Systems, Strategic Visit, 11/1/06 Artistic Geometry Carlo H. Séquin University of California, Berkeley.
Advertisements

Computer Graphics (Spring 2008) COMS 4160, Lecture 6: Curves 1
Developable Surface Fitting to Point Clouds Martin Peternell Computer Aided Geometric Design 21(2004) Reporter: Xingwang Zhang June 19, 2005.
#8: Curves and Curved Surfaces CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006.
March 1, 2009Dr. Muhammed Al-Mulhem1 ICS 415 Computer Graphics Hermite Splines Dr. Muhammed Al-Mulhem March 1, 2009 Dr. Muhammed Al-Mulhem March 1, 2009.
Jehee Lee Seoul National University
MATH 685/ CSI 700/ OR 682 Lecture Notes
B-Spline Blending Functions
1 Introduction Curve Modelling Jack van Wijk TU Eindhoven.
Splines II – Interpolating Curves
Computer graphics & visualization Key frame Interpolation.
1 SIGGRAPH 2004, Los Angeles Carlo H. Séquin and Ling Xiao EECS Computer Science Division University of California, Berkeley Fair LVC Curves on Subdivision.
Image Segmentation and Active Contour
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
1Notes  Assignment 0 is due today!  To get better feel for splines, play with formulas in MATLAB!
CS CS 175 – Week 9 B-Splines Definition, Algorithms.
CS 284 Minimum Variation Surfaces Carlo H. Séquin EECS Computer Science Division University of California, Berkeley.
Carlo H. Séquin u (Descriptive) Geometry – my love since high school.
Offset of curves. Alina Shaikhet (CS, Technion)
Graduate Student Visit Day, 03/12/07 Aesthetic Engineering Artistic Geometry Carlo H. Séquin University of California, Berkeley.
Spline Interpretation ABC Introduction and outline Based mostly on Wikipedia.
09/04/02 Dinesh Manocha, COMP258 Bezier Curves Interpolating curve Polynomial or rational parametrization using Bernstein basis functions Use of control.
SIGGRAPH 2003, San Diego Fair and Robust Circle Splines Carlo Séquin, EECS, UCB Kiha Lee, ME, UCB.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Spline Interpretation ABC Introduction and outline Based mostly on Wikipedia.
Curves Locus of a point moving with one degree of freedom
11/08/00 Dinesh Manocha, COMP258 Subdivision Curves & Surfaces Work of G. de Rham on Corner Cutting in 40’s and 50’s Work of Catmull/Clark and Doo/Sabin.
Modelling: Curves Week 11, Wed Mar 23
Rotation and Orientation: Affine Combination Jehee Lee Seoul National University.
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
CS Subdivision I: The Univariate Setting Peter Schröder.
Splines III – Bézier Curves
Intrinsic Parameterization for Surface Meshes Mathieu Desbrun, Mark Meyer, Pierre Alliez CS598MJG Presented by Wei-Wen Feng 2004/10/5.
Engineering Research Center for Computer Integrated Surgical Systems and Technology Fall 2000; Updated: 12 September 2015 Copyright © R. H. Taylor.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
A Survey on FFD Reporter: Gang Xu Mar 15, Overview Volumn-based FFD Surface-based FFD Curve-based FFD Point-based FFD Accurate FFD Future Work Outline.
Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 9: Introduction to Spline Curves.
Algebraic geometric nd geometric modeling 2006 Approximating Clothoids by Bezier curves Algebraic geometric and geometric modeling, September 2006, Barcelona.
(Spline, Bezier, B-Spline)
Introduction to virtual engineering Óbuda University John von Neumann Faculty of Informatics Institute of Intelligent Engineering Systems Lecture 3. Description.
CS 445 / 645 Introduction to Computer Graphics Lecture 23 Bézier Curves Lecture 23 Bézier Curves.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric surfaces.
Curves. First of all… You may ask yourselves “What did those papers have to do with computer graphics?” –Valid question Answer: I thought they were cool,
Chapter VI Parametric Curves and Surfaces
CS 445/645 Fall 2001 Splines/Film/Animation. Final Exam Thursday, December 13 th from 7 – 10 p.m. –Room Olsson 011 You may use one sheet of notes (8.5.
SKETCH-BASED MODELING ZHINAN XU AND MENGYI ZHU. MOTIVATION By providing the conversion between 2D sketch and 3D model, the designer will be able to quickly.
Basic Theory (for curve 02). 1.3 Parametric Curves  The main aim of computer graphics is to display an arbitrary surface so that it looks real.  The.
Curves: ch 4 of McConnell General problem with constructing curves: how to create curves that are “smooth” CAD problem Curves could be composed of segments.
Computer Graphics (Fall 2003) COMS 4160, Lecture 10: Curves 1 Ravi Ramamoorthi
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
CS559 – Curves Lecture These are course notes (not used as slides) Written by Mike Gleicher, Oct Updates Oct 2006, 2007 Updates Oct 2008 © 2005 Michael.
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 12: Curves 1
Rendering Bezier Curves (1) Evaluate the curve at a fixed set of parameter values and join the points with straight lines Advantage: Very simple Disadvantages:
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
Introduction to Parametric Curve and Surface Modeling.
ECE3340 Numerical Fitting, Interpolation and Approximation
Constructing Objects in Computer Graphics
Chapter 10-2: Curves.

CSE 167 [Win 17], Lecture 9: Curves 1 Ravi Ramamoorthi
Spiral splines in typeface design
© University of Wisconsin, CS559 Spring 2004
R.U. Gobithaasan 1, a , Diya’ J. Albayari1,b ,Kenjiro T. Miura 2,c
Outline H. Murase, and S. K. Nayar, “Visual learning and recognition of 3-D objects from appearance,” International Journal of Computer Vision, vol. 14,
Introduction to Parametric Curve and Surface Modeling
Rotation and Orientation: Affine Combination
Overview June 9- B-Spline Curves June 16- NURBS Curves
Presentation 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 ! 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.

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.

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.

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

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. Log-aesthetic curve family is promising.

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

4-Parameter Splines (MVC) G4-continuity; roundness 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.