1Notes  Assignment 0 is due today!  To get better feel for splines, play with formulas in MATLAB!

Slides:



Advertisements
Similar presentations
Cubic Curves CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2006.
Advertisements

Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions Presented by Sean Jellish Charles Rose Michael F. Cohen Bobby Bodenheimer.
Chapter 3. Interpolation and Extrapolation Hui Pan, Yunfei Duan.
CS 445/645 Fall 2001 Hermite and Bézier Splines. Specifying Curves Control Points –A set of points that influence the curve’s shape Knots –Control points.
© University of Wisconsin, CS559 Spring 2004
Selected from presentations by Jim Ramsay, McGill University, Hongliang Fei, and Brian Quanz Basis Basics.
B-Spline Blending Functions
1 Chapter 4 Interpolation and Approximation Lagrange Interpolation The basic interpolation problem can be posed in one of two ways: The basic interpolation.
Dr. S.M. Malaek Assistant: M. Younesi
Computational Methods in Physics PHYS 3437
EARS1160 – Numerical Methods notes by G. Houseman
Slide 127 October 1999CS Computer Graphics (Top Changwatchai) Review of Spline Concepts Sections 10-6 to in Hearn & Baker Splines can be 2D.
Lecture 29 of 42 Bezier Curves and Splines Wednesday, 02 April 2008
Splines II – Interpolating Curves
1Notes  Assignment 0 is being marked  Textbook reference for arc-length parameterization:  Section 3.2.
Curve-Fitting Interpolation
1cs426-winter-2008 Notes  Ian Mitchell is running a MATLAB tutorial, Tuesday January 15, 5pm-7pm, DMP 110 We won’t be directly using MATLAB in this course,
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 12: Spline Curves (review) Ravi Ramamoorthi Most material.
1 Lecture 13 Modeling Curved Lines and Surfaces. 2 Types of Surfaces Ruled Surfaces B-Splines and Bezier Curves Surfaces of Revolution.
1cs426-winter-2008 Notes  Assignment 0 is due today  MATLAB tutorial tomorrow 5-7 if you’re interested (see web-page for link)
Human Growth: From data to functions. Challenges to measuring growth We need repeated and regular access to subjects for up to 20 years. We need repeated.
Bezier and Spline Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Modelling: Curves Week 11, Wed Mar 23
Lecture 9 Interpolation and Splines. Lingo Interpolation – filling in gaps in data Find a function f(x) that 1) goes through all your data points 2) does.
1 Dr. Scott Schaefer Subdivision Curves. 2/96 What is subdivision? Set of rules S that take a curve as input and produce a more highly refined curve as.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Curves Week 13, Mon 24 Nov 2003.
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
1Notes  Make sure you are working on assignment 0  Textbook reference for splines:  Section 3.1 and Appendix B4.
CS Subdivision I: The Univariate Setting Peter Schröder.
Curve Surfaces June 4, Examples of Curve Surfaces Spheres The body of a car Almost everything in nature.
Human Growth: From data to functions. Challenges to measuring growth We need repeated and regular access to subjects for up to 20 years. We need repeated.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
CS 376 Introduction to Computer Graphics 04 / 23 / 2007 Instructor: Michael Eckmann.
V. Space Curves Types of curves Explicit Implicit Parametric.
CS 445 / 645 Introduction to Computer Graphics Lecture 23 Bézier Curves Lecture 23 Bézier Curves.
Review of Interpolation. A method of constructing a function that crosses through a discrete set of known data points.
1 Dr. Scott Schaefer Coons Patches and Gregory Patches.
June D Object Representation Shmuel Wimer Bar Ilan Univ., School of Engineering.
CO Games Development 1 Week 12 Interpolation, Path Smoothing & Splines
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric Curves.
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.
Splines IV – B-spline Curves based on: Michael Gleicher: Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
Computer Graphics Representing Curves and Surfaces.
Cubic Spline Interpolation. Cubic Splines attempt to solve the problem of the smoothness of a graph as well as reduce error. Polynomial interpolation.
Spline Interpolation A Primer on the Basics by Don Allen.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Parametric Curves & Surfaces Greg Humphreys University of Virginia CS 445, Spring.
11/26/02(C) University of Wisconsin Last Time BSplines.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
(c) 2002 University of Wisconsin
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
Computing & Information Sciences Kansas State University Lecture 30 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 30 of 42 Wednesday, 09.
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:
1 Chapter 4 Interpolation and Approximation Lagrange Interpolation The basic interpolation problem can be posed in one of two ways: The basic interpolation.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
Introduction to Parametric Curve and Surface Modeling.
Interpolation - Introduction
CSCI480/582 Lecture 9 Chap.2.2 Cubic Splines – Hermit and Bezier Feb, 11, 2009.
Computational Methods CMSC/AMSC/MAPL 460 Polynomial Interpolation Ramani Duraiswami, Dept. of Computer Science.
© University of Wisconsin, CS559 Spring 2004
CS 445 / 645 Introduction to Computer Graphics
Chapter 15 Curve Fitting : Splines
Parametric Curves.
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Spring 2004
Coons Patches and Gregory Patches
Introduction to Parametric Curve and Surface Modeling
Presentation transcript:

1Notes  Assignment 0 is due today!  To get better feel for splines, play with formulas in MATLAB!

2Review  Spline: piecewise polynomial curve  Knots: endpoints of the intervals on which each polynomial is defined  Control Points: knots together with information on the value of the spline (maybe derivatives too: Hermite splines)  Interpolating: goes through control points  Approximating: goes near control points  Smoothness: C n means the n th derivative is continuous across the control points

3 Choices in Animation  Piecewise linear usually not smooth enough  For motion curves, cubic splines basically always used  Three main choices:  Hermite splines: interpolating, up to C 1  Catmull-Rom: interpolating C 1  B-splines: approximating C 2

4 Cubic Hermite Splines  Our generic cubic in an interval [t i,t i+1 ] is  q i (t) = a i (t-t i ) 3 +b i (t-t i ) 2 +c i (t-t i )+d i  Make it interpolate endpoints:  q i (t i )=y i and q i (t i+1 )=y i+1  And make it match given slopes:  q i ’(t i )=s i and q i ’(t i+1 )=s i+1  Work it out to get

5 Hermite Basis  Rearrange the solution to get  That is, we’re taking a linear combination of four basis functions  Note the functions and their slopes are either 0 or 1 at the start and end of the interval

6 Breaking Hermite Splines  Usually specify one slope at each knot  But a useful capability: use a different slope on each side of a knot  We break C 1 smoothness, but gain control  Can create motions that abruptly change, like collisions  Aside: artists like to break things! Animation systems should have as much flexibility as possible

7 Catmull-Rom Splines  This is really just a C 1 Hermite spline with an automatic choice of slopes  Use a 2nd order finite difference formula to estimate slope from values  For equally spaced knots, simplifies to

8 Catmull-Rom Boundaries  Need to use slightly different formulas for the boundaries  For example, 2nd order accurate finite difference at the start of the interval:  Symmetric formula for end of interval  Which simplifies for equal spaced knots:

9 Aside: Evaluation  There are two main ways to evaluate splines  Subdivision  Horner’s rule  I won’t discuss subdivision (CPSC 424)  Horner’s rule: instead of directly computing a i (t-t i ) 3 +b i (t-t i ) 2 +c i (t-t i )+d i use the more efficient expression x=t-t i ((a i x+b i )x+c i )x+d i

10B-Splines  We’ll drop the interpolating condition, and instead design a basis that is C 2 smooth  So control points say how much of each basis function to use, not exactly where the curve goes  This time a basis function overlaps more than one interval  Want to be able to interpolate constants  We won’t cover full derivation

11 B-Spline Basis  Define recursively, from zero-degree polynomials up to cubic (and beyond)  Note: not well defined near start and end of knot sequence - you need more knots

12 Looking at B-splines  B i,3 (t) peaks at (or near) knot t i, but is nonzero on the interval [t i-2, t i+2 ]  Always ≥ 0, Always < 1, Basis functions add up to 1 everywhere  Any point on the spline curve is a weighted average of nearby control points

13Control  Local control: adjusting a control point only changes curve locally  Far away, curve stays exactly the same  Global control: adjusting one control point changes entire curve  Not as desirable - working on one part of the curve can perturb the parts you already worked out to perfection  But, for decent splines, effect is small--- decays quickly away from adjustment

14 Controlling Cubics  All three of the cubic splines we saw have local control  But if we enforce C 2 smoothness and make it interpolating, we end up with global control