4: Parametric Curves and Surfaces

Total Page:16

File Type:pdf, Size:1020Kb

4: Parametric Curves and Surfaces 4: Parametric curves and surfaces Lecture 1: Euclidean, similarity, affine and projective transformations. Homo- geneous coordinates and matrices. Coordinate frames. Perspective projection and its matrix representation. Lecture 2: Vanishing points. Horizons. Applications of projective transforma- tions. Lecture 3: Convexity of point-sets, convex hull and algorithms. Conics and quadrics, implicit and parametric forms, computation of intersections. Lecture 4: Interpolating and Approximating Splines: Cubic splines, Bezier curves, B-splines 1 Introduction 4.1 In the last lecture we saw that curves can be represented conveniently in para- metric form. Eg in 2D ¡£¢¥¤§¦©¨ ¢ ¢ ¤¦¢ ¤¦¦ and we saw some “regular” curves like ellipses, and so on. In this lecture we introduce how to build “irregular” shaped curves in a piece- wise fashion out of splines. Splines are widely used in graphics and CAD — indeed one of the pioneers of their computational use, Pierre Bezier´ , developed his ideas while working for Renault in the 1970's. Example of an interpolating spline 4.2 An idea of what were are about can be gained by considering the following prob- lem How should one specify the path of a road through a number of villages ... Roads made up of separate functions ¡ . ¢¤ ¦¨¡ ¢¤ ¦ Continuous ¡ ¡! ¢¤ ¦¨¡" ¢¤ ¦ Smooth ¡ ¢¤$%¦©¨¡ ¢¤$%¦ # # Cont 2nd d? These are interpolating splines, because they actually go through the points. Later we will see approximating splines, where the points are control points, which define the shape of the curve, but do not necessary lie on the curve. Other constraints might be applied ... Eg, need to have particular orientation to meet other roads, rivers at right angles ... 2 Parameterization 4.3 ¤ Convenient to use as a global ¤ parameter along the entire curve, and xi P P i+1 as a local parameter running from 0 to 1 0 Pi between points. That is, within spline & , the local p=0 p=1 parameter is P P 1 p p m ¤)( ¤$ i i+1 ¤'¨ ¤$*( ¤$ Polynomials provide usable functions for the splines... But what degree to use ? Linear? — a “Roman Road” spline, so not smooth! Quadratic? — let's see ... Quadratic splines? 4.4 ¢+¤¦ ¡,¨ ¢- .¢¤/¦01¢+¤¦1¦ Think just with the part of Using the global parameterization Using the local parameterization 32 ¨ 465879¤$2.5;:<¤/= 32 ¨ 4 2 = > ¨ 465879¤!5;:<¤ > ¨ 465A7B5A: 2 ¨ 758?@:<¤ ¨ 7 2 2 This suggests: 1st choice 2 C 2 y Choose gradient at D . 0 2 2nd choice Use gradient and , to fit quadratic. y This fixes gradient at D . 2 > Gradients Use gradient and , = to fit next y equal ... and so on ... 1 ... Then repeat for part ... p p p 0 1 2 So for a continuous, smooth quadratic spline simply choose of gradient at the first (or any one) point, and the entire curve is fixed. Too sensitive to choice of gradient. Likely to oscillate. 3 Cubic splines 4.5 Now consider just the local parameterization of the & th cubic spline sequence. Again, we just look at — similar equations are written for — but you should 7 realize that the 4 , , etc are different. = ¢¥¤§¦ ¨ 4 5A7 ¤E5;: ¤ 5GF ¤$H I ¢KJL¦ ¨ 4 @¢1MN¦ ¨ 4O95A7P95A:Q95GFO ¢KJL¦ ¨ RS¨T7P ¢1MN¦ ¨ RSB¨U7P95V?@:QW58XYFO Re-arranging, and writing 3Z¢[M\¦©¨@ , 4O¨ @ 7P¨ R] :Q¨ X/¢%@¥^(_@%¦.(8?ORS/(ARS F ¨ (`?$¢% (a ¦!5VR 5VR We make the derivative equal at the junction of two splines. The is called Hermite 5cM b interpolation. So, for a b segment spline, there are degrees of freedom. How are the derivatives specified? 4.6 1. By external constraints (eg, the perpendicular road) 2. Automatically: ed$ For example, fit parabola to , , , R and use value of gradient at as the gradient . 2 R ¨cJ RSfG¨TJ Also need to choose end point gradients: eg, set and . 3. But, we could ask the 2nd derivatives to match as well. This is a natural cubic spline. 4 Natural cubic splines 4.7 Try a counting argument to show that we have sufficient d.o.f. Again we think only about the cubic: the cubic is similiar. 2 f D D Each of the b segments between and requires 4 parameters to specify the I g cubic in . b UNKNOWNS. (UM At each of b internal points on spline @ed$0¢[M\¦B¨hi iZ¢jJC¦B¨hi ¢[M\¦B¨h ¢[M\¦k¨U ¢jJC¦ ¢jJC¦ # l ed$ ed$ I g ¢ (hM\¦ b CONSTRAINTS At the end points @2m¢jJC¦©¨h@2 ¢[M\¦B¨h f f I ? CONSTRAINTS g g (8?on b Now, b so we can do it! The extra two degrees of freedom are setting the second derivatives at the end points: ¢jJC¦B¨TJ ¢1MN¦©¨TJ l l 2 f I ? CONSTRAINTS Computing Natural Cubic Splines 4.8 g g p b Don't solve for the cubic splines by inverting a b matrix. Instead ... Basic equations Leads to = ¢¥¤§¦ ¨ 4 5G7 ¤E5A: ¤ 5AF ¤$H 4 ¨ ¢¥¤§¦ ¨ 7 58?@: ¤E58XYF ¤/= 7 ¨ R # ¢¥¤§¦ ¨ ?i:Q]58qYFOr¤ :Qh¨ X/¢%@(ti-¦ (A?ORS/(8RS ¤s¨ J ¤,¨ M (`?$¢%i(t@%¦58RS<5uRS Put in and into the first two FOh¨ on the left. ¤v¨ M ¢ (UM\¦ ¤w¨cJ & Now equate the 2nd derivs ( for the & th section, for the th ... ?@:Qed$"5GqYFOed$ ¨ ?i:Q I ?$xyX/¢%@<(tied$z¦.(G?OR]{d$^(8RS{|5 q}x¥(`?<¢-i<(t@ed$z¦!58R]ed$"58R]~| ¨ ?<xrX/¢%i!(ti-¦ (A?ORS/(8R]¥| I g R]ed$5 R]W5uRS ¨ X}¢-i(tied$z¦ 5 Computing Natural Cubic Splines, ctd 4.9 To repeat g ed$ ¥ ed$ R 5 R 5uR ¨TX/¢% (a ¦ 2 2 2 C # ¢KJL¦©¨TJ : ¨TJ X/¢% (a ¦.(8?OR (AR ¨cJ At the first point, 2 . So and , so 2 2 ?OR 5uR ¨UX/¢% (t ¦ ¢[M\¦©¨TJ ?@: 5GqYF ¨TJ l f f Similarly for the end section f , so from which R d$!5u?OR ¨UX/¢% (a d$[¦ f f f f Gather all this together R]2 X/¢%>*(t@20¦ ? M g R X/¢% (t@20¦ M M = g R X/¢% (tC1¦ M M = H ¨ . . . . . g d$ d M M R]f X}¢-if,(t@f ¦ = d$ M ? RSf X}¢-if,(t@f ¦ Computing Natural Cubic Splines, ctd 4.10 Use row ops to simplify further to R]2 M C2 2 R M $ R M = = = ¨ . . . . . d$ d$ M Lf R]f M RSf f R R d$ f Then back substitute to find f , and so in reverse order. Having got the R 's substitute in to 4 ¨ 7 ¨ R :Q¨ X/¢%@¥^(_@%¦.(8?ORS/(ARS FO¨ (`?$¢%i*(ai-¦!5VRS95VRS 6 Approximating curves as opposed to interpolating 4.11 ¢%"¦1"¢%¦ In 2D each a polynomial in . Local control of curve. Important examples are Bezier´ curves and B-splines. Used in graphics, CAD, drawing packages ... Bezier´ curves 4.12 Bezier curves were one of the earliest spline curves. The curves were originally devised using the de Casteljau construction. First consider a Bezier curve of degree 1, 2 x1 D between D and 2 ¡,¨ ¢[M(t¦¡ 5;/¡ x (1−u) 21# D Now consider three control points, = x0 and set u ¨ ¢[M(t¦¡!2 5;/¡. 2 x1 ¨ ¢[M(t¦¡."5;/¡ = a 2 ¨ ¢[M(t¦ 5t ¡ 1 a 0 Then ¡ follows a quadratic Bezier curve x 0 x x ¡s¨ ¢[M(a¦ ¡!2.5u?ik¢[M(_"¦¡.5G ¡ = = 2 = 7 Carrying on ... 4.13 2l D = Now consider four control points, H and set 2 2 ¨ ¢1M(_"¦¡ 5t}¡ x x 2 ¨ ¢1M(_"¦¡.!5t}¡ 1 = u ¨ ¢1M(_"¦¡ 5t}¡ = = H u = 1 ¨ ¢1M(_"¦ 2 5G 2 u = 0 ¨ ¢1M(_"¦ "5G x0 x 3 = 2 ¡ ¨ ¢1M(_"¦ 5G Then ¡ follows a cubic Bezier curve 2 = = ¡£¢%"¦B¨ ¢- .¢%¦¢%"¦1¦z¨ ¢[M(o"¦H¡ 5X3.¢[M( ¦ ¡ 5X3 ¢1M/( ¦¡ 5)/Hz¡ J M = HT%Y Bezier´ curves of degree 3 4.14 2 ¡£¢%¦©¨ ¢[M(a¦ ¡ 58X@k¢[M(a¦Z=Z¡ 5AX3§=N¢[M(t¦¡ 5; ¡ J M H H = H %Y Properties ¡£¢jJC¦B¨¡!2 ¡£¢[M\¦©¨¡ and H , so that a Bezier´ curve interpolates its end control points.2 ¨cX/¢¡¡.^(¢¡2¦ Ei . Geometric significance? The curve lies inside the convex hull of its control points. The control points need not be planar. Is it always smooth It can have inflections. It can self-cross. 8 Blending functions — actually Bernstein basis functions 4.15 2 ¡£¢%"¦B¨ ¢[M(a¦ ¡ 58X3.¢[M(a¦Z=Z¡ 58X@§=N¢[M(t¦¡ 5; ¡ H H = H One can think of the coefficients of the control points as blending functions ¤£ ¢1M¥(t"¦ These are symmetric under . 1 3 3 ( 1 - u ) u 3 u 2 ( 1 - u ) 3 u ( 1 - u ) 2 0 0 1 Bezier´ curves of degree ¦ 4.16 The de Casteljau construction can be expressed as d © © ·Y¸$¹ ¨ ¢-¦¡ ¢%¦©¨ °±² ³ ´µ¶¢[M(a¦ J M ¡£¢%¦©¨ § © © ¬®­<¯ ¯ © § 2<« « ©+ª ¨TX e.g. for ² (cubic Bezier):´ 2 ¢-¦ ¨ ¢1M(_"¦ H « = ¢-¦ ¨ X/¢[M(t"¦ « ¢-¦ ¨ X/¢[M(t"¦= = « ¢-¦ ¨ H H « Note that (what is the geom significance?) ¨ ·Y¸$¹ § ¢-¦©¨ ¢¡o5º¢[M(t¦1¦ ¨ M ¢-¦¥»hJ J M © © § %Y « « 2 ©+ª 9 Matrix form 4.17 Another representation is ¡!2 M °¼ ´%½ °¼ ´%½ ¼ ½ ¼ ½ ¡. (ÀX ¼ ½ ¼ ½ 2 2 = ¡£¢%"¦B¨ ¢ ¢%¦ ¢%"¦ ¢%"¦ ¢-¦1¦ ¼ ½ ¢%¦©¨ ¢[M(t¦H¥¨ ¾M /H[¿ ¼ ½ ¼ ½ ¼ ½ = H ¡ 5`X « « « « « ¼ ½ ¼ ½ = ± µ ± µ ¡ (EM H Collecting these together: 2 M J J J ¡ °¼ ´%½ ¼ ½ (ÁX X J J ¡ ¼ ½ ¾ = ¿ ¼ ½ ¡¥¢%¦ ¨ M /H ¼ ½ X (Áq X J ¡ ¼ ½ = ± µ (ÂM X (ÀX M ¡ H ¨ ÃTÄWÅYÆ%Ç-ÈlÆ-É Ê Ä ÅYÆ%Ç-ÈlÆ-É is the Bezier basis matrix for order 3. Example 4.18 Where is ¡£¢jJ<Ë ÌO¦ ? M J J J ¡!2 ° ´ ¼ ½ ¼ ½ M M M M (ÀX X J J ¡. ¼ ½ ¡¥¢ ¦ ¨ Í3M ¼ ½ ¼ ½ Î/Ï g X (Àq X J ¡ ? ? ¼ ½ = ± µ (EM X (ÀX M ¡ H ¡2 ° ´ ¼ ½ ¼ ½ M X X M M ¡k ¼ ½ ¢zM¥XÀXEMN¦ ¼ ½ ¨ ¡!2.5 ¡."5 ¡ 5 ¡ ¨ ¼ ½ Î Î Î Î Î = H ¡ ¼ ½ = ± µ ¡ H So, it is a “centre-weighted centroid”.
Recommended publications
  • Math 541 - Numerical Analysis Interpolation and Polynomial Approximation — Piecewise Polynomial Approximation; Cubic Splines
    Polynomial Interpolation Cubic Splines Cubic Splines... Math 541 - Numerical Analysis Interpolation and Polynomial Approximation — Piecewise Polynomial Approximation; Cubic Splines Joseph M. Mahaffy, [email protected] Department of Mathematics and Statistics Dynamical Systems Group Computational Sciences Research Center San Diego State University San Diego, CA 92182-7720 http://jmahaffy.sdsu.edu Spring 2018 Piecewise Poly. Approx.; Cubic Splines — Joseph M. Mahaffy, [email protected] (1/48) Polynomial Interpolation Cubic Splines Cubic Splines... Outline 1 Polynomial Interpolation Checking the Roadmap Undesirable Side-effects New Ideas... 2 Cubic Splines Introduction Building the Spline Segments Associated Linear Systems 3 Cubic Splines... Error Bound Solving the Linear Systems Piecewise Poly. Approx.; Cubic Splines — Joseph M. Mahaffy, [email protected] (2/48) Polynomial Interpolation Checking the Roadmap Cubic Splines Undesirable Side-effects Cubic Splines... New Ideas... An n-degree polynomial passing through n + 1 points Polynomial Interpolation Construct a polynomial passing through the points (x0,f(x0)), (x1,f(x1)), (x2,f(x2)), ... , (xN ,f(xn)). Define Ln,k(x), the Lagrange coefficients: n x − xi x − x0 x − xk−1 x − xk+1 x − xn Ln,k(x)= = ··· · ··· , Y xk − xi xk − x0 xk − xk−1 xk − xk+1 xk − xn i=0, i=6 k which have the properties Ln,k(xk) = 1; Ln,k(xi)=0, for all i 6= k. Piecewise Poly. Approx.; Cubic Splines — Joseph M. Mahaffy, [email protected] (3/48) Polynomial Interpolation Checking the Roadmap Cubic Splines Undesirable Side-effects Cubic Splines... New Ideas... The nth Lagrange Interpolating Polynomial We use Ln,k(x), k =0,...,n as building blocks for the Lagrange interpolating polynomial: n P (x)= f(x )L (x), X k n,k k=0 which has the property P (xi)= f(xi), for all i =0, .
    [Show full text]
  • CHAPTER 6 Parametric Spline Curves
    CHAPTER 6 Parametric Spline Curves When we introduced splines in Chapter 1 we focused on spline curves, or more precisely, vector valued spline functions. In Chapters 2 and 4 we then established the basic theory of spline functions and B-splines, and in Chapter 5 we studied a number of methods for constructing spline functions that approximate given data. In this chapter we return to spline curves and show how the approximation methods in Chapter 5 can be adapted to this more general situation. We start by giving a formal definition of parametric curves in Section 6.1, and introduce parametric spline curves in Section 6.2.1. In the rest of Section 6.2 we then generalise the approximation methods in Chapter 5 to curves. 6.1 Definition of Parametric Curves In Section 1.2 we gave an intuitive introduction to parametric curves and discussed the significance of different parameterisations. In this section we will give a more formal definition of parametric curves, but the reader is encouraged to first go back and reread Section 1.2 in Chapter 1. 6.1.1 Regular parametric representations A parametric curve will be defined in terms of parametric representations. s Definition 6.1. A vector function or mapping f :[a, b] 7→ R of the interval [a, b] into s m R for s ≥ 2 is called a parametric representation of class C for m ≥ 1 if each of the s components of f has continuous derivatives up to order m. If, in addition, the first derivative of f does not vanish in [a, b], Df(t) = f 0(t) 6= 0, for t ∈ [a, b], then f is called a regular parametric representation of class Cm.
    [Show full text]
  • Automatic Constraint-Based Synthesis of Non-Uniform Rational B-Spline Surfaces " (1994)
    Iowa State University Capstones, Theses and Retrospective Theses and Dissertations Dissertations 1994 Automatic constraint-based synthesis of non- uniform rational B-spline surfaces Philip Chacko Theruvakattil Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/rtd Part of the Mechanical Engineering Commons Recommended Citation Theruvakattil, Philip Chacko, "Automatic constraint-based synthesis of non-uniform rational B-spline surfaces " (1994). Retrospective Theses and Dissertations. 10515. https://lib.dr.iastate.edu/rtd/10515 This Dissertation is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Retrospective Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. INFORMATION TO USERS This manuscript has been reproduced from the microSlm master. UMI films the text directly from the original or copy submitted. Thus, some thesis and dissertation copies are in typewriter face, while others may be from any type of computer printer. The quality of this reproduction is dependent upon the quality of the copy submitted. Broken or indistinct print, colored or poor quality illustrations and photographs, print bleedthrough, substandard margins, and improper alignment can adversely affect reproduction. In the unlikely event that the author did not send UMI a complete manuscript and there are missing pages, these will be noted. Also, if unauthorized copyright material had to be removed, a note will indicate the deletion. Oversize materials (e.g., maps, drawings, charts) are reproduced by sectioning the original, beginning at the upper left-hand comer and continuing from left to right in equal sections with small overlaps.
    [Show full text]
  • Interpolation & Polynomial Approximation Cubic Spline
    Interpolation & Polynomial Approximation Cubic Spline Interpolation I Numerical Analysis (9th Edition) R L Burden & J D Faires Beamer Presentation Slides prepared by John Carroll Dublin City University c 2011 Brooks/Cole, Cengage Learning Piecewise-Polynomials Spline Conditions Spline Construction Outline 1 Piecewise-Polynomial Approximation 2 Conditions for a Cubic Spline Interpolant 3 Construction of a Cubic Spline Numerical Analysis (Chapter 3) Cubic Spline Interpolation I R L Burden & J D Faires 2 / 31 Piecewise-Polynomials Spline Conditions Spline Construction Outline 1 Piecewise-Polynomial Approximation 2 Conditions for a Cubic Spline Interpolant 3 Construction of a Cubic Spline Numerical Analysis (Chapter 3) Cubic Spline Interpolation I R L Burden & J D Faires 3 / 31 Piecewise-Polynomials Spline Conditions Spline Construction Piecewise-Polynomial Approximation Piecewise-linear interpolation This is the simplest piecewise-polynomial approximation and which consists of joining a set of data points {(x0, f (x0)), (x1, f (x1)),..., (xn, f (xn))} by a series of straight lines: y y 5 f (x) x0 x1 x2 . .xj xj11 xj12 . xn21 xn x Numerical Analysis (Chapter 3) Cubic Spline Interpolation I R L Burden & J D Faires 4 / 31 Piecewise-Polynomials Spline Conditions Spline Construction Piecewise-Polynomial Approximation Disadvantage of piecewise-linear interpolation There is likely no differentiability at the endpoints of the subintervals, which, in a geometrical context, means that the interpolating function is not “smooth.” Often it is clear from physical conditions that smoothness is required, so the approximating function must be continuously differentiable. We will next consider approximation using piecewise polynomials that require no specific derivative information, except perhaps at the endpoints of the interval on which the function is being approximated.
    [Show full text]
  • B-Spline Basics
    B(asic)-Spline Basics Carl de Bo or 1. Intro duction This essay reviews those basic facts ab out (univariate) B-splines which are of interest in CAGD. The intent is to give a self-contained and complete development of the material in as simple and direct a way as p ossible. For this reason, the B-splines are de ned via the recurrence relations, thus avoiding the discussion of divided di erences which the traditional de nition of a B-spline as a divided di erence of a truncated power function requires. This do es not force more elab orate derivations than are available to those who feel at ease with divided di erences. It do es force a change in the order in which facts are derived and brings more prominence to such things as Marsden's Identity or the Dual Functionals than they currently have in CAGD. In addition, it highlights the following point: The consideration of a single B-spline is not very fruitful when proving facts ab out B-splines, even if these facts (such as the smo othness of a B-spline) can be stated in terms of just one B-spline. Rather, simple arguments and real understanding of B-splines are available only if one is willing to consider al l the B-splines of a given order for a given knot sequence. Thus it fo cuses attention on splines, i.e., on the linear combination of B-splines. In this connection, it is worthwhile to stress that this essay (as do es its author) maintains that the term `B-spline' refers to a certain spline of minimal supp ort and, contrary to usage unhappily current in CAGD, do es not refer to a curve which happ ens to b e written in terms of B-splines.
    [Show full text]
  • B-Spline Polynomial
    Lecture 5: Introduction to B-Spline Curves 1 The control in shape change is better achieved with B-spline curves than the B´eziercurves. The degree of the curve is not dependent on the total number of points. B-splines are made out several curve segments that are joined \smoothly". Each such curve segment is controlled by a couple of consecutive control points. Thus, a change in the position of a control point only proapagates upto a predictable range. B-spline Polynomial Let p0; :::; pn be the control points. The nonrational form of a B-spline is given by n p(u) = Σi=0piNi;D(u) For B´eziercurves the number of control points determine the degree of the basis functions. For a B-spline curve a number D determines its degree which is D − 1. The basis functions are defined recursively as follows: Ni;1(u) = 1 if ti ≤ u < ti+1 = 0 otherwise and (u − ti)Ni;d−1(u) (ti+d − u)Ni+1;d−1(u) Ni;d(u) = + ti+d−1 − ti ti+d − ti+1 If the denominator of any of the two terms on the RHS is zero, we take that term to be zero. The range of d is given by d : d = 2; ::; d = D. The tj are called knot values, and a set of knots form a knot vector. If we have n control points and we want a B-spline curve of degree D − 1 we need T = n + D + 1 knots. If we impose the condition that the curve go through the end points of the control polygon, the knot values will be: tj = 0 if j < D tj = j − D + 1 if D ≤ j ≤ n tj = n − D + 2 if n < j ≤ n + D The knots range from 0 to n + D, the index i of basis functions ranges from 0 to n.
    [Show full text]
  • Lecture 19 Polynomial and Spline Interpolation
    Lecture 19 Polynomial and Spline Interpolation A Chemical Reaction In a chemical reaction the concentration level y of the product at time t was measured every half hour. The following results were found: t 0 .5 1.0 1.5 2.0 y 0 .19 .26 .29 .31 We can input this data into Matlab as t1 = 0:.5:2 y1 = [ 0 .19 .26 .29 .31 ] and plot the data with plot(t1,y1) Matlab automatically connects the data with line segments, so the graph has corners. What if we want a smoother graph? Try plot(t1,y1,'*') which will produce just asterisks at the data points. Next click on Tools, then click on the Basic Fitting option. This should produce a small window with several fitting options. Begin clicking them one at a time, clicking them off before clicking the next. Which ones produce a good-looking fit? You should note that the spline, the shape-preserving interpolant, and the 4th degree polynomial produce very good curves. The others do not. Polynomial Interpolation n Suppose we have n data points f(xi; yi)gi=1. A interpolant is a function f(x) such that yi = f(xi) for i = 1; : : : ; n. The most general polynomial with degree d is d d−1 pd(x) = adx + ad−1x + ::: + a1x + a0 ; which has d + 1 coefficients. A polynomial interpolant with degree d thus must satisfy d d−1 yi = pd(xi) = adxi + ad−1xi + ::: + a1xi + a0 for i = 1; : : : ; n. This system is a linear system in the unknowns a0; : : : ; an and solving linear systems is what computers do best.
    [Show full text]
  • Important Properties of B-Spline Basis Functions
    Important Properties of B-spline Basis Functions P2.1 Ni,p(u) = 0 if u is outside the interval [ui, ui+p+1) (local support property). For example, note that N1,3 is a combination of N1,0, N2,0, N3,0, and N4,0 Thus, N1,3 is non- ∈ zero only on the interval u [u1, u5]. ME525x NURBS Curve and Surface Modeling Page 124 N1,0 N0,2 N1,1 N0,3 N2,0 N1,2 N2,1 N1,3 N3,0 N2,2 N 3,1 N2,3 N4,0 N3,2 P2.2 In any given knot span, [uj, uj+1), at most p + 1 of the Ni,p are non-zero, namely, the functions: Nj-p,p, ..., Nj,p. ME525x NURBS Curve and Surface Modeling Page 125 For example, on [u3, u4) the only non-zero, 0-th degree function is N3,0. Hence the only cubic functions not zero on [u3, u4) are N0,3,..., N3,3. N1,1 N0,3 N2,0 N1,2 N2,1 N1,3 N3,0 N2,2 N3,1 N N 2,3 4,0 N3,2 N N4,1 3,3 ME525x NURBS Curve and Surface Modeling Page 126 ≥ P2.3 Ni,p(u) 0 for all i, p, and u (Non- negativity). Can be proven by induction using P2.1. P2.4 For arbitrary knot span, [ui, ui+1), i ∑ ( ) = 1 for all u ∈ [u , u ) Nj, p u i i+1 j = i – p (Partition of unity) ME525x NURBS Curve and Surface Modeling Page 127 P2.5 All derivatives of Ni,p(u) exist in the interior of a knot span (where it is a polynomial).
    [Show full text]
  • Bézier- and B-Spline Techniques
    B´ezier-and B-spline techniques Hartmut Prautzsch Wolfgang Boehm Marco Paluszny March 26, 2002 2 To Paul de Faget de Casteljau Preface Computer-aided modeling techniques have been developed since the advent of NC milling machines in the late 40’s. Since the early 60’s B´ezierand B- spline representations evolved as the major tool to handle curves and surfaces. These representations are geometrically intuitive and meaningful and they lead to constructive numerically robust algorithms. It is the purpose of this book to provide a solid and unified derivation of the various properties of B´ezierand B-spline representations and to show the beauty of the underlying rich mathematical structure. The book focuses on the core concepts of Computer-aided Geometric Design (CAGD) with the intent to provide a clear and illustrative presentation of the basic principles as well as a treatment of advanced material, including multivariate splines, some subdivision techniques and constructions of arbitrarily smooth free-form surfaces. In order to keep the book focused, many further CAGD methods are ex- cluded. In particular, rational B´ezierand B-spline techniques are not ad- dressed since a rigorous treatment within the appropriate context of projec- tive geometry would have been beyond the scope of this book. The book grew out of several courses taught repeatedly at the graduate and intermediate under-graduate levels by the authors at the Rensselaer Poly- technic Institute, USA, the Universities of Braunschweig and Karlsruhe, Ger- many, and the Universidad Central de Venezuela. These courses were taught as part of the curricula in mathematics and computer sciences, and they were regularly attended also by students from electrical and mechanical engineer- ing, geophysics and other sciences.
    [Show full text]
  • Hermite and Spline Interpolation Algorithms for Planar & Spatial
    Hermite and spline interpolation algorithms for planar & spatial Pythagorean-hodograph curves Rida T. Farouki Department of Mechanical & Aeronautical Engineering, University of California, Davis — synopsis — • motivation for Hermite & spline interpolation algorithms • planar PH quintic Hermite interpolants (four solutions) • computing absolute rotation index & elastic bending energy • a priori identification of “good” Hermite interpolant • planar C2 PH quintic splines — numerical methods • spatial PH quintic Hermite interpolants (2 free parameters) • spatial PH quintics — taxonomy of special types • spatial C2 PH quintic splines — residual freedoms motivation for Hermite & spline interpolation algorithms • only cubic PH curves characterizable by simple constraints on Bezier´ control polygons • planar PH cubics = Tschirnhausen’s cubic, spatial PH cubics = { helical cubic space curves } — too limited for general free–form design applications • construct quintic PH curves “geometrically” by interpolation of discrete data — points, tangents, etc. • non–linear interpolation equations made tractable by complex number model for planar PH curves, and quaternion or Hopf map model for spatial PH curves • efficient algorithms allow interactive design of PH curves Pythagorean triples of polynomials x0(t) = u2(t) − v2(t) x02(t) + y02(t) = σ2(t) ⇐⇒ y0(t) = 2 u(t)v(t) σ(t) = u2(t) + v2(t) K. K. Kubota, Pythagorean triples in unique factorization domains, American Mathematical Monthly 79, 503–505 (1972) R. T. Farouki and T. Sakkalis, Pythagorean hodographs, IBM Journal of Research and Development 34 736–752 (1990) R. T. Farouki, The conformal map z → z2 of the hodograph plane, Computer Aided Geometric Design 11, 363–390 (1994) complex number model for planar PH curves choose complex polynomial w(t) = u(t) + i v(t) → planar Pythagorean hodograph r0(t) = (x0(t), y0(t)) = w2(t) planar PH quintic Hermite interpolants R.
    [Show full text]
  • 1 Cubic Hermite Spline Interpolation
    cs412: introduction to numerical analysis 10/26/10 Lecture 13: Cubic Hermite Spline Interpolation II Instructor: Professor Amos Ron Scribes: Yunpeng Li, Mark Cowlishaw, Nathanael Fillmore 1 Cubic Hermite Spline Interpolation Recall in the last lecture we presented a special polynomial interpolation problem. Problem 1.1. Given an interval [L, R] and a function f :[L, R] → R, find the cubic polynomial p ∈ Π3 with p(L) = f(L) p(R) = f(R) p0(L) = f 0(L) p0(R) = f 0(R) Recall that we found a solution to problem 1.1 of the form: 2 2 p(t) =a ˜1(t − L) (t − R) +a ˜2(t − L) +a ˜3(t − L) +a ˜4 (1) Last time we saw that we can bound the error on p for t ∈ [L, R] using: ° ° °f (4)° |E(t)| ≤ ∞,[L,R] · (R − L)4 384 To approximate a function f over an interval [a, b], we can split the interval [a, b] into N subintervals using partition points ~x = (x0, x1, . , xN ), and solve problem 1.1 for every subinterval [xi, xi+1]. More formally, we can define the following cubic Hermite spline interpolation problem. Problem 1.2 (Cubic Hermite Spline Interpolation). Given an interval [a, b], a function f :[a, b] → 0 R, with derivative f :[a, b] → R, and a set of partition points ~x = (x0, x1, . , xN ) with a = x0 < x1 < ··· < xN = b, find a set of polynomials p0, p1, . , pN−1 (a cubic Hermite spline) with pi(xi) = f(xi) pi(xi+1) = f(xi+1) 0 0 pi(xi) = f (xi) 0 0 pi(xi+1) = f (xi+1) for i = 0, 1,...,N − 1.
    [Show full text]
  • Hermite Cubic Splines Basis Functions for Cubic Splines
    Jim Lambers MAT 772 Fall Semester 2010-11 Lecture 18 Notes These notes correspond to Sections 11.5 and 11.6 in the text. Hermite Cubic Splines We have seen that it is possible to construct a piecewise cubic polynomial that interpolates a 2 function f(x) at knots a = x0 < x1 < ⋅ ⋅ ⋅ < xn = b, that belongs to C [a; b]. Now, suppose that we also know the values of f 0(x) at the knots. We wish to construct a piecewise cubic polynomial s(x) that agrees with f(x), and whose derivative agrees with f 0(x) at the knots. This piecewise polynomial is called a Hermite cubic spline. Because s(x) is cubic on each subinterval [xi−1; xi] for i = 1; 2; : : : ; n, there are 4n coefficients, and therefore 4n degrees of freedom, that can be used to satisfy any criteria that are imposed on s(x). Requiring that s(x) interpolates f(x) at the knots, and that s0(x) interpolates f 0(x) at the knots, imposes 2n + 2 constraints on the coefficients. We can then use the remaining 2n − 2 degrees of freedom to require that s(x) belong to C1[a; b]; that is, it is continuously differentiable on [a; b]. The following result provides insight into the accuracy with which a Hermite cubic spline inter- polant s(x) approximates a function f(x). (4) Theorem Let f be four times continuously differentiable on [a; b], and assume that kf k1 = M. Let s(x) be the unique Hermite cubic spline interpolant of f(x) on the nodes x0; x1; : : : ; xn, where a = x0 < x1 < ⋅ ⋅ ⋅ < xn < b.
    [Show full text]