B(asis)-Splines Ashish Myles CISE, UF. Splines ● Piecewise polynomial ● More flexible than single polynomials – can have finite support – can be periodic.

Slides:



Advertisements
Similar presentations
Lecture 14 Curves and Surfaces II
Advertisements

Splines IV – B-spline Curves
Computer Graphics (Spring 2008) COMS 4160, Lecture 6: Curves 1
09/25/02 Dinesh Manocha, COMP258 Triangular Bezier Patches Natural generalization to Bezier curves Triangles are a simplex: Any polygon can be decomposed.
Overview June 9- B-Spline Curves June 16- NURBS Curves June 30- B-Spline Surfaces.
© University of Wisconsin, CS559 Spring 2004
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.
KMMCS, April. 2003, Lee Byung-Gook, Dongseo Univ., Spline Methods in CAGD Lee Byung-Gook Dongseo Univ.
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
CS CS 175 – Week 9 B-Splines Blossoming, Bézier Splines.
CS CS 175 – Week 9 B-Splines Definition, Algorithms.
Rational Bezier Curves
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.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 12: Spline Curves (review) Ravi Ramamoorthi Most material.
CS CS 175 – Week 8 Bézier Curves Definition, Algorithms.
Modeling of curves Needs a ways of representing curves: Reproducible - the representation should give the same curve every time; Computationally Quick;
1 Dr. Scott Schaefer The Bernstein Basis and Bezier Curves.
Curve-Fitting Polynomial Interpolation
Geometric Modeling Surfaces Mortenson Chapter 6 and Angel Chapter 9.
Cubic Bezier and B-Spline Curves
Curves Mortenson Chapter 2-5 and Angel Chapter 9
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
Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic.
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
CS Subdivision I: The Univariate Setting Peter Schröder.
KMMCS, Jan. 2006, Spline Methods in CAGD, Spline Methods in CAGD byung-gook lee Dongseo Univ.
Curve Modeling B-Spline Curves
(Spline, Bezier, B-Spline)
V. Space Curves Types of curves Explicit Implicit Parametric.
Introduction to Computer Graphics with WebGL
1 Dr. Scott Schaefer Smooth Curves. 2/109 Smooth Curves Interpolation  Interpolation through Linear Algebra  Lagrange interpolation Bezier curves B-spline.
1 Dr. Scott Schaefer Blossoming and B-splines. 2/105 Blossoms/Polar Forms A blossom b(t 1,t 2,…,t n ) of a polynomial p(t) is a multivariate function.
Splines Vida Movahedi January 2007.
1. Interpolating polynomials Polynomial of degree n,, is a linear combination of Definitions: (interval, continuous function, abscissas, and polynomial)
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric Curves.
Splines IV – B-spline Curves based on: Michael Gleicher: Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
Keyframing and Splines Jehee Lee Seoul National University.
CS 376 Introduction to Computer Graphics 04 / 25 / 2007 Instructor: Michael Eckmann.
Representation of Curves & Surfaces Prof. Lizhuang Ma Shanghai Jiao Tong University.
11/26/02(C) University of Wisconsin Last Time BSplines.
Parametric Curves CS 318 Interactive Computer Graphics John C. Hart.
(c) 2002 University of Wisconsin
1 CS 430/536 Computer Graphics I B-Splines and NURBS Week 5, Lecture 9 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing.
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
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:
Graphics Programming 2003, Lee Byung-Gook, Dongseo Univ., Graphics Programming Lee Byung-Gook Dongseo Univ.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
CS552: Computer Graphics Lecture 19: Bezier Curves.
Introduction to Parametric Curve and Surface Modeling.
Graphics Programming 2003, Lee Byung-Gook, Dongseo Univ., Graphics Programming Lee Byung-Gook Dongseo Univ.
© University of Wisconsin, CS559 Spring 2004
Representation of Curves & Surfaces
CSE 167 [Win 17], Lecture 9: Curves 1 Ravi Ramamoorthi
Parametric Curves.
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Spring 2004
The Bernstein Basis and Bezier Curves
Implicit Functions Some surfaces can be represented as the vanishing points of functions (defined over 3D space) Places where a function f(x,y,z)=0 Some.
POLYNOMIAL INTERPOLATION
UNIT-5 Curves and Surfaces.
Lecture 21: B Spline Curve
PPT3: B-spline Curves and Surfaces
Introduction to Parametric Curve and Surface Modeling
Overview June 9- B-Spline Curves June 16- NURBS Curves
Presentation transcript:

B(asis)-Splines Ashish Myles CISE, UF

Splines ● Piecewise polynomial ● More flexible than single polynomials – can have finite support – can be periodic ● Degree d splines – typically C d-1 continuity

Some polynomial representations ● Polynomials – Power / Taylor series – Newton polynomials – Lagrange polynomials – Hermite polynomials – Bézier (very special case of B-spline) ● Splines – Box spline (for curves, same as uniform B-spline) – B-spline

B-spline examples ● ● ● ● coefficients control polygon

Polynomials as linear combinations ● Power basis ● Taylor basis ● Bézier basis

Splines as linear combinations ● A linear combination of spline basis functions ● Defined by – k knots t i ● non-decreasing sequence specifying domain ● determines basis functions (hence continuity and ranges) – n coefficients c i ● coefficients with which the basis functions are multiplied – degree d automatically determined: k = n + d + 1

B-spline basis ● Basis function: 0 1 deg 1 deg 2deg ● Non-neg. & finite support ● Shifts add up to 1 in their overlap ● (Uniform B-splines uniformly spaced knots) deg

control polygon Spline in B-spline form ● Curve (degree d): ● Example: c i = [1, 3, 2, -1] (y-coord only) ● Greville abscissa: natural x-coord for c i ● k = n + d + 1 knots deg 2deg 3

9 control polygon Geometric Properties ● Curve (degree d): ● Affine invariance: c i ' = A(c i ) p'(t) = A(p(t)) ● Convex hull property: curve lies within CH(c i ) deg 2deg 3 sum to 1, non-negative

Variation diminishing property ● No line intersects the spline more times than it intersects the control polygon. ● i.e. The curve will not wiggle more than the control polygon.

An alternative to interpolation ● Interpolating samples suffers from the Gibb's phenomenon ● Treating samples as coefficients has no such problems – curve can't wiggle more than coefficients.

Examples of non-uniform splines ● Knot sequence can be denser in areas needing more degrees of freedom.

Decreasing inherent continuity ● Knot multiplicity – Repeating a knot m times decreases the inherent continuity of the basis functions across the knot to C d-m Degree d = 3. Same control points in all cases. Knot sequence is uniform except for multiplicity at t = 7. uniform mult 2 mult 3 mult 4

Evaluation – deBoor's Algorithm ● Evaluate at t = 4.5 by repeated knot insertion without changing the underlying function. single knot at t = 4.5 double knot at t = 4.5 triple knot at t = 4.5

Convergence under knot insertion ● Repeated uniform knot insertion converges to function as fast as O(h 2 ), with h = knot width.

Derivatives ● Compute using divided differences – deg 1 lower – continuity 1 lower – domain the same

Matlab spline toolbox ● Written by deBoor himself ● I used for my figures: – spmak, spapi – create/interpolate a B-spline – fnplt – plot the B-spline – fnrfn – do knot insertion – fnder, fnint – differentiation and integration ● It's well documented and comes with tutorials and demos

Summary ● The B-spline form is – geometrically intuitive – numerically robust – easy to differentiate – easy to make discontinuous – very, very knotty ● Matlab spline toolbox

More terms to look up ● Tensor-product B-splines – for surfaces, volumes ● Bézier – tensor-product (special case of B-splines) – total-degree (triangular) – no good B-spline equivalent ● Blossoms – Excellent theoretical tool – Inefficient for implementation, though

References ● Curves and Surfaces for CAGD – Gerald Farin ● Bézier and B-Spline Techniques – Hartmut Prautzsch, Wolfgang Boehm, and Marco Paluszny ● Matlab spline toolbox documentation & demos