CONTROL POLYGONS FOR CUBIC CURVES

Similar documents
On-Line Geometric Modeling Notes

CONVERSION OF COORDINATES BETWEEN FRAMES

On-Line Geometric Modeling Notes FRAMES

BARYCENTRIC COORDINATES

ECS 178 Course Notes QUATERNIONS

On-Line Geometric Modeling Notes VECTOR SPACES

AFFINE COMBINATIONS, BARYCENTRIC COORDINATES, AND CONVEX COMBINATIONS

Slope Fields and Differential Equations. Copyright Cengage Learning. All rights reserved.

Sample Exam 1 KEY NAME: 1. CS 557 Sample Exam 1 KEY. These are some sample problems taken from exams in previous years. roughly ten questions.

Cubic Splines; Bézier Curves

Bernstein polynomials of degree N are defined by

THINKING IN PYRAMIDS

Curves. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Taku Komura

CGT 511. Curves. Curves. Curves. What is a curve? 2) A continuous map of a 1D space to an nd space

Arsène Pérard-Gayot (Slides by Piotr Danilewski)

Computing the Hausdorff Distance between Two B-Spline Curves. Zachi Shtain

Interpolation and polynomial approximation Interpolation

MA 323 Geometric Modelling Course Notes: Day 20 Curvature and G 2 Bezier splines

Approximation of Circular Arcs by Parametric Polynomials

CSE 167: Lecture 11: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

SPLINE INTERPOLATION

Module 9 : Infinite Series, Tests of Convergence, Absolute and Conditional Convergence, Taylor and Maclaurin Series

Keyframing. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Visualizing Bezier s curves: some applications of Dynamic System Geogebra

Lecture 20: Lagrange Interpolation and Neville s Algorithm. for I will pass through thee, saith the LORD. Amos 5:17

Lecture 23: Hermite and Bezier Curves

Introduction to Computer Graphics. Modeling (1) April 13, 2017 Kenshi Takayama

2.2. Polynomial Functions of Higher Degree. Copyright Cengage Learning. All rights reserved.

Cubic Splines MATH 375. J. Robert Buchanan. Fall Department of Mathematics. J. Robert Buchanan Cubic Splines

Lagrange Interpolation and Neville s Algorithm. Ron Goldman Department of Computer Science Rice University

A = 3 1. We conclude that the algebraic multiplicity of the eigenvalues are both one, that is,

Section 4.1 Polynomial Functions and Models. Copyright 2013 Pearson Education, Inc. All rights reserved

Math Review. for the Quantitative Reasoning measure of the GRE General Test

Laplace Transform Introduction

Geometric Lagrange Interpolation by Planar Cubic Pythagorean-hodograph Curves

Think about systems of linear equations, their solutions, and how they might be represented with matrices.

MAT300/500 Programming Project Spring 2019

Applied Math 205. Full office hour schedule:

P.5 Solving Equations Graphically, Numerically, and Algebraically

Coordinate Systems. Recall that a basis for a vector space, V, is a set of vectors in V that is linearly independent and spans V.

MTH5112 Linear Algebra I MTH5212 Applied Linear Algebra (2017/2018)

1.1. The analytical denition. Denition. The Bernstein polynomials of degree n are dened analytically:

Eigenvalues and Eigenvectors: An Introduction

Algebraic Rational Cubic Spline with Constrained Control

Polynomial approximation and Splines

Chapter 1 Numerical approximation of data : interpolation, least squares method

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Data Analysis-I. Interpolation. Soon-Hyung Yook. December 4, Soon-Hyung Yook Data Analysis-I December 4, / 1

Second Order and Higher Order Equations Introduction

Numerical Methods I: Interpolation (cont ed)

Derivatives and Continuity

Simple Examples on Rectangular Domains

Polynomial and Rational Functions. Copyright Cengage Learning. All rights reserved.

Piecewise Polynomial Interpolation

GRADUATE RECORD EXAMINATIONS. Math Review. Chapter 2: Algebra

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF

Algebra 2 Khan Academy Video Correlations By SpringBoard Activity

CMSC427 Parametric curves: Hermite, Catmull-Rom, Bezier

Algebra 2 Khan Academy Video Correlations By SpringBoard Activity

6.2 Their Derivatives

Module 5 : Linear and Quadratic Approximations, Error Estimates, Taylor's Theorem, Newton and Picard Methods

Lectures 9-10: Polynomial and piecewise polynomial interpolation

Scientific Computing: An Introductory Survey

Bézier Curves and Splines

11.11 Applications of Taylor Polynomials. Copyright Cengage Learning. All rights reserved.

Maintaining Mathematical Proficiency

College Algebra. Course Text. Course Description. Course Objectives. StraighterLine MAT101: College Algebra

Polynomials Factors, Roots, and Zeros TEACHER NOTES MATH NSPIRED

Novel polynomial Bernstein bases and Bézier curves based on a general notion of polynomial blossoming

11.4 The Comparison Tests. Copyright Cengage Learning. All rights reserved.

Math Spring 2011 Final Exam

Chordal cubic spline interpolation is fourth order accurate

Home Page. Title Page. Contents. Bezier Curves. Milind Sohoni sohoni. Page 1 of 27. Go Back. Full Screen. Close.

7.2. Differential Equations. Phase Plots. Example 1 The logistic equation. Phase Plots. Phase Plots. Phase Plots, Equilibria, and Stability

1 Piecewise Cubic Interpolation

Reading. w Foley, Section 11.2 Optional

Interpolation and Deformations A short cookbook

M2R IVR, October 12th Mathematical tools 1 - Session 2

ZEROS OF POLYNOMIAL FUNCTIONS ALL I HAVE TO KNOW ABOUT POLYNOMIAL FUNCTIONS

Curvature variation minimizing cubic Hermite interpolants

Powers functions. Composition and Inverse of functions.

Exercise Set 7.2. Skills

7.6 The Inverse of a Square Matrix

22.3. Repeated Eigenvalues and Symmetric Matrices. Introduction. Prerequisites. Learning Outcomes

Algebra 1 Khan Academy Video Correlations By SpringBoard Activity and Learning Target

Reverse engineering using computational algebra

DEF 1 Let V be a vector space and W be a nonempty subset of V. If W is a vector space w.r.t. the operations, in V, then W is called a subspace of V.

Lecture 10: The Normal Distribution. So far all the random variables have been discrete.

A Symbolic Derivation of Beta-splines of Arbitrary Order

TEACHER NOTES MATH NSPIRED

Georgia Standards of Excellence Algebra II/Advanced Algebra

Subdivision Matrices and Iterated Function Systems for Parametric Interval Bezier Curves

AP Calculus. Derivatives.

Analytic Trigonometry. Copyright Cengage Learning. All rights reserved.

Lecture 20: Bezier Curves & Splines

which are not all zero. The proof in the case where some vector other than combination of the other vectors in S is similar.

Exponential Functions Dr. Laura J. Pyzdrowski

Pythagorean-hodograph curves

MS Algebra 1 Scope and Sequence Quarter 1 Overview

Bridge to Algebra II Standards for Mathematical Practice

Transcription:

On-Line Geometric Modeling Notes CONTROL POLYGONS FOR CUBIC CURVES Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis Overview B-Spline curves are piecewise Bézier curves. To develop B-splines, and to do so in a continuous smooth way, we must discover the conditions on which two Bézier curves can be pieced together. To examine this process, we will first consider a single cubic curve and show how to construct the many Bézier control polygons that represent the curve. These control polygons, and their geometric constraints, are paramount in the definition of the B-spline curve. A Matrix Equation for a Cubic Curve A cubic polynomial curve P(t) can be written as a Bézier curve. If we let,,, be the control points of the curve, then it can be written as P(t) 3 P i B i,3 (t) i0 where the B i,3 (t) are the cubic Bernstein polynomials. In this representation, P(0) and P().

The representation of the curve can be written in a matrix form by P(t) 3 P i B i (t) i0 ( t) 3 + 3t( t) 2 + 3t 2 ( t) + t 3 ( t) 3 3t( t) 2 3t 2 ( t) t 3 t t 2 t 3 M where M 0 0 0 3 6 3 0 3 3 The matrix M defines the blending functions for the curve P(t) i.e. the cubic Bernstein polynomials. (In reality there are three equations here, one for each of the x, y and z components of P(t).) Reparameterization using the Matrix Form The control polygon {,,, } defines the unique cubic curve P(t), and is most frequently used to represent the curve between t 0 and t, where P(0) and P(). However, given an interval a, b, there exists a unique control polygon {Q 0, Q, Q 2, Q 3 } defining a Bézier curve Q(t), such that Q(0) Q 0 P(a) and Q() Q 3 P(b). These control polygons, called Bézier polygons can be generated by reparameterization and by manipulating the matrix representation above. Suppose that we wish to find the Bézier polygon for the portion of the curve P(t) where t a, b. If we define this new curve as Q(t), then we can define Q(t) P((b a)t + a). It is straightforward to check 2

that both Q(t) and P(t) are cubic curves, and represent the same curve. We can calculate the control points for Q(t) by using our matrix form, that is Q(t) P((b a)t + a) 0 0 0 (b a)t + a ((b a)t + a) 2 ((b a)t + a) 3 3 6 3 0 3 3 0 0 0 t t 2 t 3 C 3 6 3 0 3 3 where the matrix C has columns whose entries are the coefficients of, t, t 2 and t 3 respectively in the polynomials, (b a)t + a, ((b a)t + a) 2, and ((b a)t + a) 3, respectively. This can be rewritten as Q(t) t t 2 t 3 CMP t t 2 t 3 M ( S a,b P ) where S a,b is equal to S a,b M CM The new control points for the portion of the curve where t ranges from a to b can now be written as ( Sa,b P ). A Specific Example An example of this which will be useful to us in learning how to piece together two Bézier curves is to 3

find the control polygon for the curve P(t) when its parameter ranges from to 2. In this case, we have Q(t) P(t + ) 0 0 0 (t + ) (t + ) 2 (t + ) 3 3 6 3 0 3 3 0 0 0 t t 2 t 3 0 2 3 0 0 3 3 6 3 0 0 0 0 3 3 t t 2 t 3 M ( S,2 P ) where S,2 0 0 0 0 0 0 0 2 3 3 6 3 0 0 0 3 3 6 3 0 3 3 0 0 0 3 3 0 0 0 0 0 0 3 0 0 0 2 3 2 3 3 0 0 0 3 3 6 3 0 0 0 0 3 3 0 0 0 4 5 3 3 2 5 8 3 3 4 3 6 3 0 2 4 8 3 3 0 0 0 0 0 2 0 4 4 6 2 8 4

So the control polygon for that portion of P(t) curve where t ranges from to 2 is given by Q 0 Q Q 2 Q 3 0 0 0 0 0 2 0 4 4 6 2 8 + 2 4 + 4 + 6 2 + 8 () Working with some algebra, and defining new temporary points R, R 2 and R 3, we see that Q 0 Q + ( ) (2) R + ( ) (3) R 2 + ( ) (4) R 3 R 2 + (R 2 R ) + ( ) + ( + ( ) + ( )) 4 + 4 (5) Q 2 Q + (Q R 2 ) + ( ) + ( + ( ) + ( )) 4 + 4 (6) Q 3 Q 2 + (Q 2 R 3 ) 4 + 4 + ( 4 + 4 4 + 4 ) + 6 2 + 8 (7) Using these equations, these new control points can be analyzed geometrically and as a result each can be calculated by a simple geometric process using only the initial control polygon {,,, }. If we 5

consider the following figure, where we have displayed the control point,,, and, it is easy to locate the point Q 0. By equation (2), Q lies on an extension of the line where the distance between and, and between Q 0 and Q are equal. By equation (4), R 2 lies on an extension of the line, where the lengths defined by and R 2 are equal and as a result of this fact and equation (6), Q 2 lies on an extension of the line R 2 Q, where the lengths defined by R 2 Q and Q Q 2 are equal. This enables us to construct Q 2. $&%('*)%+-,)%(.)0/2!#" Similarly, using equations (3), (4), (5), and (7), we can construct Q 3 as in the the following illustration 6

45 6)7#598-:.7#5 ;07<?> $&%')(%+*-,.(%/0(#32 @&ACBEDGFIHKJ0DF#L9MNFO!#" The result of this exercise is that we can construct the control points of the curve Q(t) directly from the original control points for P(t). These two functions represent the same curve. An interesting exercise for the reader is to calculate the portion of the curve P(t) as t ranges from 0 to 2. In this case, the new curve Q(t) can be defined as Q(t) P(2t), and by substituting this into the matrix form, the resulting Bézier polygon should be {, R, R 3, Q 3 }. Try it out. A Expanded Example The example above illustrated the fact that there are many Bézier polygons that can represent a cubic curve. However the geometric construction process generated by this example did not quite illustrate the fine details of the algorithm. To see the necessary characteristics of the algorithm, we will use the following example: Find the control polygon for the portion of the curve P(t) when t ranges between and b, for an arbitrary value of b. In this case, we define the curve Q(t) P(at + ), where a b and use our matrix 7

representation to calculate Q(t) P(at + ) 0 0 0 (at + ) (at + ) 2 (at + ) 3 3 6 3 0 3 3 0 0 0 t t 2 t 3 0 a 2a 3a 0 0 a 2 3a 2 3 6 3 0 0 0 0 a 3 3 3 t t 2 t 3 M ( S,b P ) where S,b 0 0 0 0 0 0 0 a 2a 3a 3 6 3 0 0 0 a 2 3a 2 3 6 3 0 3 3 0 0 0 a 3 3 3 0 0 0 0 0 0 3 0 0 0 a 2a 3a 2 3 3 0 0 0 a 2 3a 2 3 6 3 0 0 0 0 a 3 3 3 0 0 0 0 0 a (a + ) 0 a 2 2a(a + ) (a + ) 2 a 3 3a 2 (a + ) 3a(a + ) 2 (a + ) 3 8

So the control polygon for that portion of P(t) curve where t ranges from to b is given by Q 0 Q Q 2 Q 3 0 0 0 0 0 a (a + ) 0 a 2 2a(a + ) (a + ) 2 a 3 3a 2 (a + ) 3a(a + ) 2 (a + ) 3 a + (a + ) a 2 2a(a + ) + (a + ) 2 a 3 + 3a 2 (a + ) 3a(a + ) 2 + (a + ) 3 These new control points can again be analyzed geometrically and as a result each can be calculated by a simple geometric process using only the initial control polygon {,,, }. To accomplish this, we first write Q 0 Q + a( ) R + a( ) R 2 + a( ) R 3 R 2 + a(r 2 R ) + a( ) + a( + a( ) + a( )) a 2 2a(a + ) + (a + ) 2 Q 2 Q + a(q R 2 ) + a( ) + a( + a( ) + a( )) a 2 2a(a + ) + (a + ) 2 Q 3 Q 2 + a(q 2 R 3 ) a 3 + 3a 2 (a + ) 3a(a + ) 2 + (a + ) 3 where the last calculation can be done with some algebra. The important factor here is the a term. Each of these points is on an extension of a line of the original 9

control polygon, or the extension of a constructed line. The factor a determines how much to extend. The following illustration shows the construction for our previous Bézier curve with a 3 4, giving the portion of the P(t) where t ranges from to 7 4. Summary We have shown here that for a cubic curve, there are many control polygons that can define the curve. Using our matrix representation, we have shown how to determine the control polygon that covers an arbitary interval c, d of the original curve. Our examples will be very useful when we discuss how to piece two or more Bézier curves together. All contents copyright (c) 996, 997, 998, 999, 2000 Computer Science Department, University of California, Davis All rights reserved. 0