B(asis) Splines. Ashish Myles CISE, UF

Similar documents
08 - Designing Approximating Curves

Bézier Splines. B-Splines. B-Splines. CS 475 / CS 675 Computer Graphics. Lecture 14 : Modelling Curves 3 B-Splines. n i t i 1 t n i. J n,i.

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines

3D Modeling Parametric Curves & Surfaces

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

Bezier Curves, B-Splines, NURBS

Curves and Surfaces for Computer-Aided Geometric Design

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics

Design considerations

Remark. Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 331

Spline Methods Draft. Tom Lyche and Knut Mørken

Spline Methods Draft. Tom Lyche and Knut Mørken

Spline Methods Draft. Tom Lyche and Knut Mørken. Department of Informatics Centre of Mathematics for Applications University of Oslo

CS 450 Numerical Analysis. Chapter 7: Interpolation

Rational Bezier Curves

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Intro to Curves Week 4, Lecture 7

Geometric Modeling of Curves

Computer Graphics Curves and Surfaces. Matthias Teschner

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

2D Spline Curves. CS 4620 Lecture 13

Properties of Blending Functions

Curves and Surfaces 1

Central issues in modelling

B-Spline Polynomials. B-Spline Polynomials. Uniform Cubic B-Spline Curves CS 460. Computer Graphics

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

2D Spline Curves. CS 4620 Lecture 18

Need for Parametric Equations

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

(Spline, Bezier, B-Spline)

Further Graphics. Bezier Curves and Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

A story about Non Uniform Rational B-Splines. E. Shcherbakov

Computer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

CHAPTER 6 Parametric Spline Curves

Know it. Control points. B Spline surfaces. Implicit surfaces

Intro to Curves Week 1, Lecture 2

Rational Bezier Surface

ECE 600, Dr. Farag, Summer 09

An introduction to interpolation and splines

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes

CS-184: Computer Graphics. Today

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

Intro to Modeling Modeling in 3D

On an approach for cubic Bézier interpolation

and the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5

Derivative. Bernstein polynomials: Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 313

Kai Hormann, N. Sukumar. Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics

CS348a: Computer Graphics Handout #24 Geometric Modeling Original Handout #20 Stanford University Tuesday, 27 October 1992

Curve and Surface Basics

Computing Intersections of Planar Spline Curves using Knot Insertion

p y = 0 x c Figure : Stereographic projection. r p p y = 0 c p Figure : Central projection. Furthermore, we will discuss representations of entire sph

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Blending curves. Albert Wiltsche

Developing an Approach to Redesign Freeform Surfaces Using B-Spline Technique

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry

lecture 10: B-Splines

Freeform Curves on Spheres of Arbitrary Dimension

Figure 5.1: Spline and ducks.

Parameterization for curve interpolation

Computer Graphics Spline and Surfaces

Parametric Surfaces. Michael Kazhdan ( /657) HB , FvDFH 11.2

EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines

CS-184: Computer Graphics

Practical Linear Algebra: A Geometry Toolbox

Optimized Refinable Enclosures of Multivariate Polynomial Pieces

Computer Graphics Splines and Curves

Roadmap for tonight. What are Bezier curves (mathematically)? Programming Bezier curves (very high level view).

Surfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November

Lecture IV Bézier Curves

Curves and Surfaces. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

Sung-Eui Yoon ( 윤성의 )

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

An Introduction to B-Spline Curves

CAGD PACKAGE FOR MATHEMATICA AND ITS USAGE IN THE TEACHING

Spline Functions on Triangulations

Representing Curves Part II. Foley & Van Dam, Chapter 11

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include

The Essentials of CAGD

Parameterization of triangular meshes

A generalized conversion matrix between non-uniform B-spline and Bézier representations with applications in CAGD

Curves D.A. Forsyth, with slides from John Hart

Advanced Geometric Modeling CPSC789

NURBS: Non-Uniform Rational B-Splines AUI Course Denbigh Starkey

Pythagorean - Hodograph Curves: Algebra and Geometry Inseparable

Designing by a Quadratic Trigonometric Spline with Point and Interval Shape Control

Element Quality Metrics for Higher-Order Bernstein Bézier Elements

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents

Rendering Curves and Surfaces. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Advanced Modeling 2. Katja Bühler, Andrej Varchola, Eduard Gröller. March 24, x(t) z(t)

U NIVERSITY C OLLEGE L ONDON

Dgp _ lecture 2. Curves

CS321 Introduction To Numerical Methods

CS770/870 Spring 2017 Curve Generation

Natural Numbers and Integers. Big Ideas in Numerical Methods. Overflow. Real Numbers 29/07/2011. Taking some ideas from NM course a little further

Transcription:

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 http://www.cs.technion.ac.il/~cs234325/applets/applets/bspline/germanapplet.html http://www.engin.umd.umich.edu/cis/course.des/cis577/projects/bsp/welcome.html http://www.cs.uwaterloo.ca/~r3fraser/splines/bspline.html http://www.doc.ic.ac.uk/~dfg/andyssplinetutorial/bsplines.html coefficients control polygon

Polynomials as linear combinations Power basis {1,t,t 2,...,t d } d p t = i=0 c i t i Taylor basis {1, t t 0, t t 0 2,..., t t 0 d } d p t = i=0 c i t t 0 i Bézier basis { 1 t d, d 1 t d 1 t,..., d i 1 t d i t i,...,t d } d p t = i=0 c d i i 1 t d i t i terms in the binomial expansion of 1 t t d =1

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: N i 0 t = { 1 if t [t i,t i 1 ] 0 otherwise N i d t = t t i N d 1 t i d t i t t i d 1 t N d 1 i t i d 1 t i 1 t i 1 Non neg. & finite support Shifts add up to 1 in their overlap (Uniform B splines <=> uniformly spaced knots) 1 0 1 0 1 2 deg 0 1 0 1 2 3 1 0 1 2 3 4 1 0 1 2 3 4 5 deg 1 deg 2 deg 3

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

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

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

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 p t = i c i N i d t a i = d t i d 1 t i 1 c i 1 c i p ' t = i a i N i d 1 t

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