A Practical Review of Uniform B-Splines
|
|
- Jewel Evans
- 5 years ago
- Views:
Transcription
1 A Practical Review of Uniform B-Splines Kristin Branson A B-spline is a convenient form for representing complicated, smooth curves. A uniform B-spline of order k is a piecewise order k Bezier curve, and is C k -continuous (i.e. the 0 th through (k ) th derivatives are continuous). The form of a B-spline is in general chosen because it is easy to manipulate, not because it is the solution to an optimization problem, like smoothing splines. B-splines are particularly easy to manipulate because they have local control: parameters of the B-spline only affect a small part of the entire spline. This review includes the details of B-splines that I find relevant for practically understanding and implementing B-splines. Bezier Curves A Bezier curve of order k is defined by k control points, and is a degree k polynomial. A Bezier curve is a smooth interpolation of these k control points. A linear Bezier curve (order ) is a linear interpolation of its two control points, p 0 and p : p 0 (s) = ( s)p 0 + sp, defined for 0 s. A quadratic Bezier curve (order 3) is a linear interpolation between the linear interpolation of control points p 0 and p and the linear interpolation of control points p and p : p 0 (s) = ( s)p 0 + sp, p (s) = ( s)p + sp p 0 (s) = ( s)p 0 (s) + sp (s) = ( s)[( s)p 0 + sp ] + s[( s)p + sp ] = ( s) p 0 + s( s)p + s p This method of interpolating between interpolations is called the decasteljau algorithm, and can be generalized to any order k by iterating the equation p ij = ( s)p i,j + sp i+,j. Iterations must be carried out in order of increasing j, from j = 0 to k. The base case is just the control point, p i0 = p i. For a given j, the iterations must be carried out for i = 0,..., k j, in any order. Let s see the decasteljeau algorithm for the popular cubic Bezier curve (order 4), with control points p 0, p, p, and p 3. The linear interpolation: p 0 (s) = ( s)p 0 + sp, p (s0 = ( s)p + sp p (s) = ( s)p + sp 3 The quadratic interpolation: p 0 (s) = ( s)p 0 (s) + sp (s) = ( s) p 0 + s( s)p + s p Similarly, The cubic interpolation: p (s) = ( s) p + s( s)p + s p 3. p 03 (s) = ( s)p 0 (s) + sp (s) = ( s)[( s) p 0 + s( s)p + s p ] + s[( s) p + s( s)p + s p 3 ] = ( s) 3 p 0 + 3s( s) p + 3s ( s)p + s 3 p 3
2 A Bezier curve can be expressed in terms of basis functions b ij (s) so that k p 0,k (s) = b i,k (s)p i. These basis functions are the Bernstein polynomials, defined recursively by b ij (s) = ( s)b i,j (s) + sb i,j (s) with base cases b 00 (s) =, b ij (s) = 0 if i < 0 or i > j. We can verify this for the cubic Bezier curve: p 03 (s) = b 03 (s)p 0 + b 3 (s)p + b 3 (s)p + b 33 (s)p 3 = [( s)b 0 (s) + sb, (s)]p 0 + [( s)b (s) + sb 0 (s)]p +[( s)b (s) + sb (s)]p + [( s)b 3 (s) + sb (s)]p 3 = ( s)b 0 (s)p 0 + [( s)b (s) + sb 0 (s)]p +[( s)b (s) + sb (s)]p + sb (s)p 3 = ( s)[( s)b 0 (s) + sb, (s)]p 0 + {( s)[( s)b (s) + sb 0 (s)] + s[( s)b 0 (s) + sb, (s)]}p +{( s)[( s)b (s) + sb (s)] + s[( s)b (s) + sb 0 (s)]}p + s[( s)b (s) + sb (s)]p 3 = ( s) b 0 (s)p 0 + [( s) b (s) + s( s)b 0 (s)]p +[s( s)b (s) + s b 0 (s)]p + s b (s)p 3 = ( s) [( s)b 00 (s) + sb,0 (s)]p 0 + {( s) [( s)b 0 (s) + sb 00 (s)] + s( s)[( s)b 00 (s) + sb,0 (s)]}p +{s( s)[( s)b 0 (s) + sb 00 (s)] + s [( s)b 00 (s) + sb,0 (s)]}p + s [( s)b 0 (s) + sb 00 (s)]p 3 = ( s) 3 p 0 + [s( s) + s( s) ]p + [s ( s) + s ( s)]p + s 3 p 3 = ( s) 3 p 0 + 3s( s) p + 3s ( s)p + s 3 p 3 The closed form equation for the basis functions is: This basis has some nice properties: b ij (s) = j! i!(j i)! si ( s) j i. Partition of unity: for all 0 s. j b ij (s) =, b ij (s) 0 Affine Invariance: any linear transformation of p i results in a linear transformation of the Bezier curve. The Bezier curve is tangent to the first and last segments of the control polygon. B-Splines are Piecewise Bezier Curves A B-spline of order k is a piecewise order k Bezier curve, and is C k -continuous. Because of the continuity requirements at each breakpoint between Bezier curve pieces, only one control point of the second Bezier curve piece is free. Thus, L + k control points define L curve pieces for an open spline (only L control points are needed to define L curve pieces of a closed spline). We generalize the Bezier basis functions to the B-spline basis functions: B ij (s) = s i j B i,j (s) + i + j s B i+,j (s) j
3 with base cases B i (s) = for i = 0,..., L. The equation for a B-spline is then B i3 (s) = { if i u < i + L p 0,k (s) = B i,k (s)p i. For the special case of the cubic B-spline (k = 4), the basis functions are 6 (s i)3 if i s < i + 6 [ 3(s i )3 + 3(s i ) + 3(s i ) + ] if i + s < i + 6 [3(s i )3 6(s i ) + 4] if i + s < i [ (s i 3)]3 if i + 3 s < i + 4 The B-spline basis functions also have some nice properties: Local support: Each curve piece is only a function of the four closest control points. The basis functions are translates of each other: The curve is C k continuous. The basis functions are a partition of unity. Affine invariance. B ik (s) = B 0k (s i). 3 A Convenient Representation Because of the local support property, we can rewrite the equation for a cubic B-spline as p(s) = 6 [ ( (s i)) 3 p i 3 + [3(s i) 3 6(s i) + 4]p i + [ 3(s i) 3 + 3(s i) + 3(s i) + ]p i + (s i) 3 p i ], where i s < i +. A similar computation can be made for any k. This can be written in matrix notation as p i 3 p(s) = [ s s s 3 ]B i p i p i, p i again where i s < i +. In this equation, 6 i3 6 (3i3 + 3i 3i + ) i3 i + 3 i (i + )3 B i = i (3i )(i + ) (3i + 4i) (i + ) i (3i + ) (3i + ) (i + ) 6 We can also include the placement matrix G i : p(s) = [ s s s 3 ]B i G i p, 6. 3
4 where p is the vector of control points, For an open spline G i [m, n] = p = p 0. p n. { if n = i + m 3 For a closed spline, the placement matrix is similar: { if n = i + m 3 3 modl G i [m, n] = This form is convenient for taking derivatives or integrals w.r.t. s, since the only term in this equation that depends on s is the first row vector. This simplifies calculations like computing the curve tangents and normals, or the curve area, centroid, and variance. 4 Fitting a B-Spline to Data Points Suppose we want to find the set of control points P that best interpolates a set of data points {(s i, x i )} N i=. We use best in the least-squares sense, i.e. we want to find P that minimizes: h[p] = N (x i p(s i ; P)). To solve this problem, we can write the function p(s i ; P) in vector form: It must then be that A s is a N L matrix such that i= P(s; P) = A s P. P(s i ; P) = A s (i, :)P = L B j,k (s i )p j j=0 Thus, entry A s (i, j) = B j,k (s i ). Notice that each row of A s will be nonzero for at most four consecutive entries (exactly four for a closed B-spline). Given this vector notation for P(s i ; P), we can write the optimization as P = min trace[(x A sp) (X A s P)]. P To find the minimizing P, we can take the derivative w.r.t. P and set it to 0, then solve for P. This results in P = (A s A s ) A s X. 5 Matlab Implementations I have implemented a number of B-spline functions in Matlab. To get started with B-splines, I recommend playing with the function input spline.m. This function allows the user to input a closed B-spline on top of an image. The most interesting function called by input spline.m is fit closed b spline.m. This function fits a closed B-spline to the input data points, as described in Section 4. This function can be easily extended to open splines, if one wishes. I have also implemented some basic functions for dealing with cubic, uniform B-splines. The functions evaluate spline.m and evaluate spline curve.m evaluate the B-spline (D and D, respectively) defined by the input control points 4
5 at the input locations. These both use the convenient representation discussed in Section 3. The B i and G i matrices discussed in section 3 are created using the function setup cubic splines.m, which sets up the matrices for the desired number of curve pieces. The functions evaluate spline prime.m and evaluate normal.m compute the tangents and normals of the B-spline at the input locations, again using the representation of Section 3. The function transform coefs.m takes advantage of the affine invariance of the B-spline basis functions, and applies a translation, scaling, and rotation to an input B-spline. Note that the functions described in this paragraph have an interface that allows multiple sets of control points, defining multiple B-splines, be input and evaluated at once. This is because my implementation is designed for tracking contours using particle filtering. [] References [] S. Buss. 3-D Compute Graphics. Cambridge University Press, New York, 003. [] E. Demidov. An interactive introduction to splines website: [3] T. Hastie, R. Tibshirani, and J. Friedman. The Elements of Statistical Learning. Springer Series in Statistics. Springer Verlag, Basel, 00. 5
Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes
CSCI 420 Computer Graphics Lecture 8 Splines Jernej Barbic University of Southern California Hermite Splines Bezier Splines Catmull-Rom Splines Other Cubic Splines [Angel Ch 12.4-12.12] Roller coaster
More informationComputer Graphics Curves and Surfaces. Matthias Teschner
Computer Graphics Curves and Surfaces Matthias Teschner Outline Introduction Polynomial curves Bézier curves Matrix notation Curve subdivision Differential curve properties Piecewise polynomial curves
More informationFall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.
Fall 2014 CSCI 420: Computer Graphics 4.2 Splines Hao Li http://cs420.hao-li.com 1 Roller coaster Next programming assignment involves creating a 3D roller coaster animation We must model the 3D curve
More informationProperties of Blending Functions
Chapter 5 Properties of Blending Functions We have just studied how the Bernstein polynomials serve very nicely as blending functions. We have noted that a degree n Bézier curve always begins at P 0 and
More informationLecture IV Bézier Curves
Lecture IV Bézier Curves Why Curves? Why Curves? Why Curves? Why Curves? Why Curves? Linear (flat) Curved Easier More pieces Looks ugly Complicated Fewer pieces Looks smooth What is a curve? Intuitively:
More informationBé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.
Bézier Splines CS 475 / CS 675 Computer Graphics Lecture 14 : Modelling Curves 3 n P t = B i J n,i t with 0 t 1 J n, i t = i=0 n i t i 1 t n i No local control. Degree restricted by the control polygon.
More informationRemark. Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 331
Remark Reconsidering the motivating example, we observe that the derivatives are typically not given by the problem specification. However, they can be estimated in a pre-processing step. A good estimate
More information08 - Designing Approximating Curves
08 - Designing Approximating Curves Acknowledgement: Olga Sorkine-Hornung, Alexander Sorkine-Hornung, Ilya Baran Last time Interpolating curves Monomials Lagrange Hermite Different control types Polynomials
More informationCS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines
CS 475 / CS 675 - Computer Graphics Modelling Curves 3 - Bézier Splines n P t = i=0 No local control. B i J n,i t with 0 t 1 J n,i t = n i t i 1 t n i Degree restricted by the control polygon. http://www.cs.mtu.edu/~shene/courses/cs3621/notes/spline/bezier/bezier-move-ct-pt.html
More informationA MATRIX FORMULATION OF THE CUBIC BÉZIER CURVE
Geometric Modeling Notes A MATRIX FORMULATION OF THE CUBIC BÉZIER CURVE Kenneth I. Joy Institute for Data Analysis and Visualization Department of Computer Science University of California, Davis Overview
More informationECE 600, Dr. Farag, Summer 09
ECE 6 Summer29 Course Supplements. Lecture 4 Curves and Surfaces Aly A. Farag University of Louisville Acknowledgements: Help with these slides were provided by Shireen Elhabian A smile is a curve that
More informationBezier Curves, B-Splines, NURBS
Bezier Curves, B-Splines, NURBS Example Application: Font Design and Display Curved objects are everywhere There is always need for: mathematical fidelity high precision artistic freedom and flexibility
More informationParametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell
Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c
More informationInteractive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1
Interactive Graphics Lecture 9: Introduction to Spline Curves Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 13: Slide 2 Splines The word spline comes from the ship building trade
More informationParametric Curves. University of Texas at Austin CS384G - Computer Graphics
Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c
More informationCurves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville
Curves and Surfaces Shireen Elhabian and Aly A. Farag University of Louisville February 21 A smile is a curve that sets everything straight Phyllis Diller (American comedienne and actress, born 1917) Outline
More informationFor each question, indicate whether the statement is true or false by circling T or F, respectively.
True/False For each question, indicate whether the statement is true or false by circling T or F, respectively. 1. (T/F) Rasterization occurs before vertex transformation in the graphics pipeline. 2. (T/F)
More informationSung-Eui Yoon ( 윤성의 )
CS480: Computer Graphics Curves and Surfaces Sung-Eui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/cg Today s Topics Surface representations Smooth curves Subdivision 2 Smooth Curves and
More information2D Spline Curves. CS 4620 Lecture 13
2D Spline Curves CS 4620 Lecture 13 2008 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes [Boeing] that is, without discontinuities So far we can make things with corners
More informationCS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside
CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside Blending Functions Blending functions are more convenient basis than monomial basis canonical form (monomial
More informationIntro to Curves Week 1, Lecture 2
CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University Outline Math review Introduction to 2D curves
More informationSurfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November
Surfaces for CAGD FSP Tutorial FSP-Seminar, Graz, November 2005 1 Tensor Product Surfaces Given: two curve schemes (Bézier curves or B splines): I: x(u) = m i=0 F i(u)b i, u [a, b], II: x(v) = n j=0 G
More information2D Spline Curves. CS 4620 Lecture 18
2D Spline Curves CS 4620 Lecture 18 2014 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes that is, without discontinuities So far we can make things with corners (lines,
More informationIntro to Curves Week 4, Lecture 7
CS 430/536 Computer Graphics I Intro to Curves Week 4, Lecture 7 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University
More informationCS 536 Computer Graphics Intro to Curves Week 1, Lecture 2
CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 Outline Math review Introduction to 2D curves
More informationParametric curves. Brian Curless CSE 457 Spring 2016
Parametric curves Brian Curless CSE 457 Spring 2016 1 Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics
More informationCSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016
CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Project 3 due tomorrow Midterm 2 next
More information(Spline, Bezier, B-Spline)
(Spline, Bezier, B-Spline) Spline Drafting terminology Spline is a flexible strip that is easily flexed to pass through a series of design points (control points) to produce a smooth curve. Spline curve
More informationLecture 9: Introduction to Spline Curves
Lecture 9: Introduction to Spline Curves Splines are used in graphics to represent smooth curves and surfaces. They use a small set of control points (knots) and a function that generates a curve through
More informationRational Bezier Surface
Rational Bezier Surface The perspective projection of a 4-dimensional polynomial Bezier surface, S w n ( u, v) B i n i 0 m j 0, u ( ) B j m, v ( ) P w ij ME525x NURBS Curve and Surface Modeling Page 97
More informationDerivative. Bernstein polynomials: Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 313
Derivative Bernstein polynomials: 120202: ESM4A - Numerical Methods 313 Derivative Bézier curve (over [0,1]): with differences. being the first forward 120202: ESM4A - Numerical Methods 314 Derivative
More informationSplines. Connecting the Dots
Splines or: Connecting the Dots Jens Ogniewski Information Coding Group Linköping University Before we start... Some parts won t be part of the exam Basically all that is not described in the book. More
More informationParametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required:
Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Parametric curves CSE 457 Winter 2014 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics and Geometric
More informationDesign considerations
Curves Design considerations local control of shape design each segment independently smoothness and continuity ability to evaluate derivatives stability small change in input leads to small change in
More information3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013
3D Modeling Parametric Curves & Surfaces Shandong University Spring 2013 3D Object Representations Raw data Point cloud Range image Polygon soup Surfaces Mesh Subdivision Parametric Implicit Solids Voxels
More information3D Modeling Parametric Curves & Surfaces
3D Modeling Parametric Curves & Surfaces Shandong University Spring 2012 3D Object Representations Raw data Point cloud Range image Polygon soup Solids Voxels BSP tree CSG Sweep Surfaces Mesh Subdivision
More informationComputergrafik. Matthias Zwicker Universität Bern Herbst 2016
Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling 2 Piecewise Bézier curves Each
More informationSpline Notes. Marc Olano University of Maryland, Baltimore County. February 20, 2004
Spline Notes Marc Olano University of Maryland, Baltimore County February, 4 Introduction I. Modeled after drafting tool A. Thin strip of wood or metal B. Control smooth curved path by running between
More informationMA 323 Geometric Modelling Course Notes: Day 28 Data Fitting to Surfaces
MA 323 Geometric Modelling Course Notes: Day 28 Data Fitting to Surfaces David L. Finn Today, we want to exam interpolation and data fitting problems for surface patches. Our general method is the same,
More informationNatural Quartic Spline
Natural Quartic Spline Rafael E Banchs INTRODUCTION This report describes the natural quartic spline algorithm developed for the enhanced solution of the Time Harmonic Field Electric Logging problem As
More informationRational Bezier Curves
Rational Bezier Curves Use of homogeneous coordinates Rational spline curve: define a curve in one higher dimension space, project it down on the homogenizing variable Mathematical formulation: n P(u)
More informationComputergrafik. Matthias Zwicker. Herbst 2010
Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling Piecewise Bézier curves Each segment
More informationAn Introduction to B-Spline Curves
An Introduction to B-Spline Curves Thomas W. Sederberg March 14, 2005 1 B-Spline Curves Most shapes are simply too complicated to define using a single Bézier curve. A spline curve is a sequence of curve
More informationImportant Properties of B-spline Basis Functions
Important Properties of B-spline Basis Functions P2.1 N i,p (u) = 0 if u is outside the interval [u i, u i+p+1 ) (local support property). For example, note that N 1,3 is a combination of N 1,0, N 2,0,
More informationCurves. Computer Graphics CSE 167 Lecture 11
Curves Computer Graphics CSE 167 Lecture 11 CSE 167: Computer graphics Polynomial Curves Polynomial functions Bézier Curves Drawing Bézier curves Piecewise Bézier curves Based on slides courtesy of Jurgen
More information(Refer Slide Time: 00:02:24 min)
CAD / CAM Prof. Dr. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 9 Parametric Surfaces II So these days, we are discussing the subject
More informationThe Free-form Surface Modelling System
1. Introduction The Free-form Surface Modelling System Smooth curves and surfaces must be generated in many computer graphics applications. Many real-world objects are inherently smooth (fig.1), and much
More informationRepresenting Curves Part II. Foley & Van Dam, Chapter 11
Representing Curves Part II Foley & Van Dam, Chapter 11 Representing Curves Polynomial Splines Bezier Curves Cardinal Splines Uniform, non rational B-Splines Drawing Curves Applications of Bezier splines
More informationCurve and Surface Basics
Curve and Surface Basics Implicit and parametric forms Power basis form Bezier curves Rational Bezier Curves Tensor Product Surfaces ME525x NURBS Curve and Surface Modeling Page 1 Implicit and Parametric
More informationCentral issues in modelling
Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to
More informationInformation Coding / Computer Graphics, ISY, LiTH. Splines
28(69) Splines Originally a drafting tool to create a smooth curve In computer graphics: a curve built from sections, each described by a 2nd or 3rd degree polynomial. Very common in non-real-time graphics,
More informationFree-Form Deformation (FFD)
Chapter 14 Free-Form Deformation (FFD) Free-form deformation (FFD) is a technique for manipulating any shape in a free-form manner. Pierre Bézier used this idea to manipulate large numbers of control points
More informationRendering Curves and Surfaces. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico
Rendering Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Objectives Introduce methods to draw curves - Approximate
More informationOUTLINE. Quadratic Bezier Curves Cubic Bezier Curves
BEZIER CURVES 1 OUTLINE Introduce types of curves and surfaces Introduce the types of curves Interpolating Hermite Bezier B-spline Quadratic Bezier Curves Cubic Bezier Curves 2 ESCAPING FLATLAND Until
More informationlecture 10: B-Splines
9 lecture : -Splines -Splines: a basis for splines Throughout our discussion of standard polynomial interpolation, we viewed P n as a linear space of dimension n +, and then expressed the unique interpolating
More informationComputer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson
Computer Graphics Curves and Surfaces Hermite/Bezier Curves, (B-)Splines, and NURBS By Ulf Assarsson Most of the material is originally made by Edward Angel and is adapted to this course by Ulf Assarsson.
More informationSpline Morphing. CG software practical course in the IWR. Carl Friedrich Bolz. Carl Friedrich Bolz
Spline Morphing CG software practical course in the IWR Introduction Motivation: Splines are an important part n of vector graphics, 3D-graphics, CAD/CAM,... Splines are often used to describe characters,
More informationCOMPUTER AIDED ENGINEERING DESIGN (BFF2612)
COMPUTER AIDED ENGINEERING DESIGN (BFF2612) BASIC MATHEMATICAL CONCEPTS IN CAED by Dr. Mohd Nizar Mhd Razali Faculty of Manufacturing Engineering mnizar@ump.edu.my COORDINATE SYSTEM y+ y+ z+ z+ x+ RIGHT
More informationCubic spline interpolation
Cubic spline interpolation In the following, we want to derive the collocation matrix for cubic spline interpolation. Let us assume that we have equidistant knots. To fulfill the Schoenberg-Whitney condition
More informationElement Quality Metrics for Higher-Order Bernstein Bézier Elements
Element Quality Metrics for Higher-Order Bernstein Bézier Elements Luke Engvall and John A. Evans Abstract In this note, we review the interpolation theory for curvilinear finite elements originally derived
More informationSPLITTING THE CUBIC UNIFORM B-SPLINE CURVE
On-Line Geometric odeling Notes SPLITTING THE CUBIC UNIFOR B-SPLINE CURVE Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis Overview
More informationCSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013
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 Announcements Homework assignment 5 due tomorrow, Nov
More informationCAGD PACKAGE FOR MATHEMATICA AND ITS USAGE IN THE TEACHING
5. KONFERENCE O GEOMETRII A POČÍTAČOVÉ GRAFICE Bohumír Bastl CAGD PACKAGE FOR MATHEMATICA AND ITS USAGE IN THE TEACHING Abstract This talk presents a new package for Wolfram s Mathematica which provides
More informationAdvanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd
Advanced Graphics Beziers, B-splines, and NURBS Alex Benton, University of Cambridge A.Benton@damtp.cam.ac.uk Supported in part by Google UK, Ltd Bezier splines, B-Splines, and NURBS Expensive products
More informationParametric Surfaces. Michael Kazhdan ( /657) HB , FvDFH 11.2
Parametric Surfaces Michael Kazhdan (601.457/657) HB 10.6 -- 10.9, 10.1 FvDFH 11.2 Announcement OpenGL review session: When: Wednesday (10/1) @ 7:00-9:00 PM Where: Olin 05 Cubic Splines Given a collection
More informationCSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017
CSE 167: Introduction to Computer Graphics Lecture #13: Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Project 4 due Monday Nov 27 at 2pm Next Tuesday:
More informationFreeform Curves on Spheres of Arbitrary Dimension
Freeform Curves on Spheres of Arbitrary Dimension Scott Schaefer and Ron Goldman Rice University 6100 Main St. Houston, TX 77005 sschaefe@rice.edu and rng@rice.edu Abstract Recursive evaluation procedures
More informationQuasi-Quartic Trigonometric Bézier Curves and Surfaces with Shape Parameters
Quasi-Quartic Trigonometric Bézier Curves and Surfaces with Shape Parameters Reenu Sharma Assistant Professor, Department of Mathematics, Mata Gujri Mahila Mahavidyalaya, Jabalpur, Madhya Pradesh, India
More informationQuadratic and cubic b-splines by generalizing higher-order voronoi diagrams
Quadratic and cubic b-splines by generalizing higher-order voronoi diagrams Yuanxin Liu and Jack Snoeyink Joshua Levine April 18, 2007 Computer Science and Engineering, The Ohio State University 1 / 24
More informationB-Splines and NURBS Week 5, Lecture 9
CS 430/585 Computer Graphics I B-Splines an NURBS Week 5, Lecture 9 Davi Breen, William Regli an Maxim Peysakhov Geometric an Intelligent Computing Laboratory Department of Computer Science Drexel University
More informationCS 450 Numerical Analysis. Chapter 7: Interpolation
Lecture slides based on the textbook Scientific Computing: An Introductory Survey by Michael T. Heath, copyright c 2018 by the Society for Industrial and Applied Mathematics. http://www.siam.org/books/cl80
More informationMA 323 Geometric Modelling Course Notes: Day 21 Three Dimensional Bezier Curves, Projections and Rational Bezier Curves
MA 323 Geometric Modelling Course Notes: Day 21 Three Dimensional Bezier Curves, Projections and Rational Bezier Curves David L. Finn Over the next few days, we will be looking at extensions of Bezier
More informationObjects 2: Curves & Splines Christian Miller CS Fall 2011
Objects 2: Curves & Splines Christian Miller CS 354 - Fall 2011 Parametric curves Curves that are defined by an equation and a parameter t Usually t [0, 1], and curve is finite Can be discretized at arbitrary
More informationLecture 2.2 Cubic Splines
Lecture. Cubic Splines Cubic Spline The equation for a single parametric cubic spline segment is given by 4 i t Bit t t t i (..) where t and t are the parameter values at the beginning and end of the segment.
More informationFigure 5.1: Spline and ducks.
Chapter 5 B-SPLINE CURVES Most shapes are simply too complicated to define using a single Bézier curve. A spline curve is a sequence of curve segments that are connected together to form a single continuous
More informationRoadmap for tonight. What are Bezier curves (mathematically)? Programming Bezier curves (very high level view).
Roadmap for tonight Some background. What are Bezier curves (mathematically)? Characteristics of Bezier curves. Demo. Programming Bezier curves (very high level view). Why Bezier curves? Bezier curves
More informationSee the course website for important information about collaboration and late policies, as well as where and when to turn in assignments.
COS Homework # Due Tuesday, February rd See the course website for important information about collaboration and late policies, as well as where and when to turn in assignments. Data files The questions
More informationSpline Methods Draft. Tom Lyche and Knut Mørken
Spline Methods Draft Tom Lyche and Knut Mørken January 5, 2005 2 Contents 1 Splines and B-splines an Introduction 3 1.1 Convex combinations and convex hulls.................... 3 1.1.1 Stable computations...........................
More informationUntil now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple
Curves and surfaces Escaping Flatland Until now we have worked with flat entities such as lines and flat polygons Fit well with graphics hardware Mathematically simple But the world is not composed of
More informationSpline Methods Draft. Tom Lyche and Knut Mørken. Department of Informatics Centre of Mathematics for Applications University of Oslo
Spline Methods Draft Tom Lyche and Knut Mørken Department of Informatics Centre of Mathematics for Applications University of Oslo January 27, 2006 Contents 1 Splines and B-splines an Introduction 1 1.1
More informationSpline Methods Draft. Tom Lyche and Knut Mørken
Spline Methods Draft Tom Lyche and Knut Mørken 24th May 2002 2 Contents 1 Splines and B-splines an introduction 3 1.1 Convex combinations and convex hulls..................... 3 1.1.1 Stable computations...........................
More informationSupervised vs. Unsupervised Learning
Clustering Supervised vs. Unsupervised Learning So far we have assumed that the training samples used to design the classifier were labeled by their class membership (supervised learning) We assume now
More informationA generalized conversion matrix between non-uniform B-spline and Bézier representations with applications in CAGD
A generalized conversion matrix between non-uniform B-spline and Bézier representations with applications in CAGD Giulio Casciola, Lucia Romani Department of Mathematics, University of Bologna, P.zza di
More informationIntro to Modeling Modeling in 3D
Intro to Modeling Modeling in 3D Polygon sets can approximate more complex shapes as discretized surfaces 2 1 2 3 Curve surfaces in 3D Sphere, ellipsoids, etc Curved Surfaces Modeling in 3D ) ( 2 2 2 2
More informationJustify all your answers and write down all important steps. Unsupported answers will be disregarded.
Numerical Analysis FMN011 2017/05/30 The exam lasts 5 hours and has 15 questions. A minimum of 35 points out of the total 70 are required to get a passing grade. These points will be added to those you
More informationA general matrix representation for non-uniform B-spline subdivision with boundary control
A general matrix representation for non-uniform B-spline subdivision with boundary control G. Casciola a, L. Romani a a Department of Mathematics, University of Bologna, P.zza di Porta San Donato 5, 40127
More informationCSC 305 More Modelling
CSC 305 More Modelling Faramarz Samavati & Brian Wyvill The University of Victoria Graphics Group Bernstein Polynomials any degree University of Victoria Island Graphics Lab. CSC 305 2010 page 2 Implementation
More informationCS-184: Computer Graphics. Today
CS-84: Computer Graphics Lecture #5: Curves and Surfaces Prof. James O Brien University of California, Berkeley V25F-5-. Today General curve and surface representations Splines and other polynomial bases
More informationInterpolation by Spline Functions
Interpolation by Spline Functions Com S 477/577 Sep 0 007 High-degree polynomials tend to have large oscillations which are not the characteristics of the original data. To yield smooth interpolating curves
More informationAssessing the Quality of the Natural Cubic Spline Approximation
Assessing the Quality of the Natural Cubic Spline Approximation AHMET SEZER ANADOLU UNIVERSITY Department of Statisticss Yunus Emre Kampusu Eskisehir TURKEY ahsst12@yahoo.com Abstract: In large samples,
More informationINF3320 Computer Graphics and Discrete Geometry
INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers 10.11.2010 Page 1 More smooth Curves and Surfaces Akenine-Möller, Haines
More informationApproximation of 3D-Parametric Functions by Bicubic B-spline Functions
International Journal of Mathematical Modelling & Computations Vol. 02, No. 03, 2012, 211-220 Approximation of 3D-Parametric Functions by Bicubic B-spline Functions M. Amirfakhrian a, a Department of Mathematics,
More informationFebruary 23 Math 2335 sec 51 Spring 2016
February 23 Math 2335 sec 51 Spring 2016 Section 4.1: Polynomial Interpolation Interpolation is the process of finding a curve or evaluating a function whose curve passes through a known set of points.
More informationEECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines
EECS 556 Image Processing W 09 Interpolation Interpolation techniques B splines What is image processing? Image processing is the application of 2D signal processing methods to images Image representation
More informationIntroduction to Geometry. Computer Graphics CMU /15-662
Introduction to Geometry Computer Graphics CMU 15-462/15-662 Assignment 2: 3D Modeling You will be able to create your own models (This mesh was created in Scotty3D in about 5 minutes... you can do much
More informationNeed for Parametric Equations
Curves and Surfaces Curves and Surfaces Need for Parametric Equations Affine Combinations Bernstein Polynomials Bezier Curves and Surfaces Continuity when joining curves B Spline Curves and Surfaces Need
More informationFour equations are necessary to evaluate these coefficients. Eqn
1.2 Splines 11 A spline function is a piecewise defined function with certain smoothness conditions [Cheney]. A wide variety of functions is potentially possible; polynomial functions are almost exclusively
More informationCS-184: Computer Graphics
CS-184: Computer Graphics Lecture #12: Curves and Surfaces Prof. James O Brien University of California, Berkeley V2007-F-12-1.0 Today General curve and surface representations Splines and other polynomial
More informationDistance Functions 1
Distance Functions 1 Distance function Given: geometric object F (curve, surface, solid, ) Assigns to each point the shortest distance from F Level sets of the distance function are trimmed offsets F p
More information15.10 Curve Interpolation using Uniform Cubic B-Spline Curves. CS Dept, UK
1 An analysis of the problem: To get the curve constructed, how many knots are needed? Consider the following case: So, to interpolate (n +1) data points, one needs (n +7) knots,, for a uniform cubic B-spline
More information