This chapter presents the following content: Parametric curves & splines, cubic splines, hermite, bézier, b-splines, NURBS, subdivision curves & surfaces, appendix: subdivision masks. | Curve and Surface 1 Outline Parametric Curves & Splines Cubic Splines Hermite Bézier B-Splines NURBS Subdivision Curves & Surfaces Appendix: Subdivision Masks 2 How to describe this curve? 3 Control Points We can specify control points to draw the curve 4 Control Points Control points are not a unique specification 5 Polynomials A polynomial is a function of the form: f(t) = antn + an-1tn-1 + + a1t + a0 n is the degree of the polynomial The order of the polynomial is the number of coefficients it has Always: order = degree + 1 Examples: f(t) = a1t + a0 Linear f(t) = a2t2 + a1t + a0 Quadratic f(t) = a3t3 + a2t2 + a1t + a0 Cubic 6 Polynomial Curves Could make a curve that passes through n control points out of a degree (n-1) polynomial Regression, Lagrange interpolation, etc. 7 Polynomial Curves Polynomial curves wiggle too much when forced to fit more and more points. In technical terms this is called overfitting 8 Why Parametric Curves? Parametric curves are very flexible They are . | Curve and Surface 1 Outline Parametric Curves & Splines Cubic Splines Hermite Bézier B-Splines NURBS Subdivision Curves & Surfaces Appendix: Subdivision Masks 2 How to describe this curve? 3 Control Points We can specify control points to draw the curve 4 Control Points Control points are not a unique specification 5 Polynomials A polynomial is a function of the form: f(t) = antn + an-1tn-1 + + a1t + a0 n is the degree of the polynomial The order of the polynomial is the number of coefficients it has Always: order = degree + 1 Examples: f(t) = a1t + a0 Linear f(t) = a2t2 + a1t + a0 Quadratic f(t) = a3t3 + a2t2 + a1t + a0 Cubic 6 Polynomial Curves Could make a curve that passes through n control points out of a degree (n-1) polynomial Regression, Lagrange interpolation, etc. 7 Polynomial Curves Polynomial curves wiggle too much when forced to fit more and more points. In technical terms this is called overfitting 8 Why Parametric Curves? Parametric curves are very flexible They are not required to be functions Curves can be multi-valued with respect to any coordinate system 9 Particle Motion A parametric curve P(t) describes the motion of an imaginary particle through space at time t. We can compute the velocity of the particle: The tangent line at P(t0) to the curve is: tangent(u) = P(t0) + v(t0)u The normal at P(t0) perpendicular to the tangent line is 10 Parametric Polynomial Curves A parametric polynomial curve is a parametric curve where each function x(t), y(t) is described by a polynomial: Polynomial curves have certain advantages: Easy to compute Indefinitely differentiable 11 Curve Drawing We want: Predictable control: Curves don’t wiggle Multiple values: Curves of arbitrary length Local control: Local edits have local effects Versatility: Be able to draw any curve Continuity: Smoothness guarantees Spline curvesgive us all of these 12 Spline Curves The word splinecomes from ship building with wood A wooden plank is forced between fixed posts, called .