On-Line Geometric Modeling Notes

Similar documents
CONTROL POLYGONS FOR CUBIC CURVES

CONVERSION OF COORDINATES BETWEEN FRAMES

BARYCENTRIC COORDINATES

AFFINE COMBINATIONS, BARYCENTRIC COORDINATES, AND CONVEX COMBINATIONS

On-Line Geometric Modeling Notes VECTOR SPACES

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

On-Line Geometric Modeling Notes FRAMES

Bernstein polynomials of degree N are defined by

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.

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

Curves, Surfaces and Segments, Patches

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

CMSC427 Parametric curves: Hermite, Catmull-Rom, Bezier

Interpolation and polynomial approximation Interpolation

The Essentials of CAGD

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Visualizing Bezier s curves: some applications of Dynamic System Geogebra

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

ECS 178 Course Notes QUATERNIONS

Computing roots of polynomials by quadratic clipping

MAT300/500 Programming Project Spring 2019

Approximation of Circular Arcs by Parametric Polynomials

Smooth Path Generation Based on Bézier Curves for Autonomous Vehicles

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

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

THINKING IN PYRAMIDS

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

Continuous Curvature Path Generation Based on Bézier Curves for Autonomous Vehicles

Introduction to Curves. Modelling. 3D Models. Points. Lines. Polygons Defined by a sequence of lines Defined by a list of ordered points

Bézier Curves and Splines

Lecture 23: Hermite and Bezier Curves

Subdivision Matrices and Iterated Function Systems for Parametric Interval Bezier Curves

MA 323 Geometric Modelling Course Notes: Day 12 de Casteljau s Algorithm and Subdivision

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

Demo 5. 1 Degree Reduction and Raising Matrices for Degree 5

Numerical Methods. Equations and Partial Fractions. Jaesung Lee

polynomial function polynomial function of degree n leading coefficient leading-term test quartic function turning point

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

9th and 10th Grade Math Proficiency Objectives Strand One: Number Sense and Operations

Accelerated Advanced Algebra. Chapter 1 Patterns and Recursion Homework List and Objectives

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

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

MAT 300 Midterm Exam Summer 2017

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

Curvature variation minimizing cubic Hermite interpolants

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

Pythagorean-hodograph curves

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

Lecture 20: Bezier Curves & Splines

Areas of Polygons and Circles

correlated to the Washington D.C. Public Schools Learning Standards Algebra II

Missouri Educator Gateway Assessments DRAFT

Content Standard 1: Numbers, Number Sense, and Computation Place Value

A Relationship Between Minimum Bending Energy and Degree Elevation for Bézier Curves

Q(s, t) = S M = S M [ G 1 (t) G 2 (t) G 3 1(t) G 4 (t) ] T

Numerical Methods for Particle Tracing in Vector Fields

Computer Aided Design. B-Splines

The Most Marvelous Theorem in Mathematics. Dan Kalman American University

arxiv: v4 [cs.gr] 23 Nov 2015

Algebra II Learning Targets

Geometric Lagrange Interpolation by Planar Cubic Pythagorean-hodograph Curves

BUILT YOU. ACT Pathway. for

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

Computing roots of polynomials by quadratic clipping

Honors Integrated Algebra/Geometry 3 Critical Content Mastery Objectives Students will:

Copyright 2016 Pearson Education, Inc. or its affiliates. All rights reserved. NES, the NES logo, Pearson, the Pearson logo, and National Evaluation

Brunswick School Department Honors Geometry Unit 6: Right Triangles and Trigonometry

Region 16 Board of Education. Precalculus Curriculum

Numerical differentiation

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

Mathematics: Algebra II Honors Unit 6: Radical Functions

Range of Competencies

Mathematics Online Instructional Materials Correlation to the 2009 Algebra II Standards of Learning and Curriculum Framework

Reading. w Foley, Section 11.2 Optional

Announcements Wednesday, November 7

Extrapolation Methods for Approximating Arc Length and Surface Area

An O(h 2n ) Hermite approximation for conic sections

Analytic Trigonometry. Copyright Cengage Learning. All rights reserved.

Prentice Hall Mathematics, Geometry 2009 Correlated to: Maine Learning Results 2007 Mathematics Grades 9-Diploma

Essentials of Mathematics Lesson Objectives

CME Project, Algebra Correlated to: Missouri Mathematics Course-Level Expectations 2007 (Algebra 2)

Integrated Math 3 Math 3 Course Description:

Algebra Topic Alignment

Exercise Set 7.2. Skills

A rational parametrization of Bezier like curves

Mifflin County School District Planned Instruction

Quadratic Model To Solve Equations Of Degree n In One Variable

Academic Outcomes Mathematics

HW2 - Due 01/30. Each answer must be mathematically justified. Don t forget your name.

Math 4329: Numerical Analysis Chapter 03: Newton s Method. Natasha S. Sharma, PhD

RELEASED. Spring 2013 North Carolina Measures of Student Learning: NC s Common Exams

Secondary Honors Algebra II Objectives

Curve Fitting. Objectives

Analyzing Functions Maximum & Minimum Points Lesson 75

3.3 Dividing Polynomials. Copyright Cengage Learning. All rights reserved.

Lecture2 The implicit function theorem. Bifurcations.

Mathematics Precalculus: Honors Unit 3: Analytic Trigonometry

Announcements Wednesday, November 7

Syzygies and distance functions to parameterized curves and surfaces

Path Planning based on Bézier Curve for Autonomous Ground Vehicles

Transcription:

On-Line Geometric Modeling Notes CUBIC BÉZIER CURVES Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis Overview The Bézier curve representation is one that is utilized most frequently in computer graphics and geometric modeling. The curve is defined geometrically, which means that the parameters have geometric meaning they are just points in three-dimensional space. It was developed by two competing European engineers in the late 960s to attempt to draw automotive components. In these notes, we develop the cubic Bézier curve. This curve can be developed through a divide-andconquer approach similar to the quadratic curve However, in these notes, we will develop a parameterized version of the curve which proceeds almost identically to the development for the quadratic Bézier curve Defining The Cubic Bézier Curve Given four control points,, P, P, P, one can generate a curve P(t), as we did in the case of the quadratic Bézier curve, by let P () (t) = tp + ( t) let P () (t) = tp + ( t)p let P () (t) = tp + ( t)p let P () let P () let P () (t) = tp() (t) = tp() (t) = tp() P () (t) is defined to be P(t) (t) + ( t)p() (t) (t) + ( t)p() (t) (t) + ( t)p() (t)

This construction is shown in the figure below! " # " notice that we did the same process as in the quadratic Bézier curve, but did one additional level. The procedure, as in the quadratic case, produces a point on the curve and subdivides the curve by producing new sets of control points. Simplifying the above construction, we have P(t) = P () (t) which is the analytic form of the curve. = tp () (t) + ( t)p() (t) = t tp () (t) + ( t)p() (t) + ( t) tp () (t) + ( t)p() (t) = t P () (t) + t( t)p() (t) + ( t) P () (t) = t tp + ( t)p + t( t) tp + ( t)p + ( t) tp + ( t) = t P + t ( t)p + t( t) P + ( t) Summarizing the Development of the Curve As in the quadratic case, we have developed two methods for generating points on the curve.

The Geometric Method Given the control points, P, P, P, and a value t 0,, we can generate the point P(t) on the Bézier curve by P(t) = P () (t) where P (j) i (t) = ( t)p (j ) i (t) + tp(j ) i (t) if j > 0 otherwise P i The Analytic Method Given the control points, P, P, P, we define the Bézier curve to be P(t) = P i B i, (t) i=0 where B 0, (t) = ( t) B, (t) = t( t) B, (t) = t ( t) B, (t) = t the Bernstein polynomials of degree three. Properties of the Cubic Bézier Curve The cubic Bézier curve has properties similar to that of the quadratic curve. These can be verified directly from the equations above. and P are on the curve.

Thecurveiscontinuous,infinitelydifferentiable,andthesecondderivativesarecontinuous(automatic for a polynomial curve). The tangent line to the curve at the point is the line P. The tangent to the curve at the point P is the line P P. The curve lies within the convex hull of its control points. This is because each successive P (j) i convex combination of the points P (j ) i and P (j ) i. Both P and P are on the curve only if the curve is linear. is a Summary The procedure for developing the cubic Bézier curve is nearly identical to that for the quadratic curve the primary difference is that we have four control points and must proceed one additional level in the recursion to get a point on the curve. This procedure is extendable so that Bézier curves can be developed for any number of control points. All contents copyright (c) 996, 997, 99, 999, 000 Computer Science Department, University of California, Davis All rights reserved.

On-Line Geometric Modeling Notes A MATRIX FORMULATION OF THE CUBIC BÉZIER CURVE Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis Overview A cubic Bézier curve has a useful representation in a matrix form. This is a non-standard representation but extremely valuable if we can multiply matrices quickly. The matrix which we develop, when examined closely, is uniquely defined by the cubic Bernstein polynomials. We can use this form to develop subdivision matrices that allow us to use matrix multiplication to generate different Bézier control polygons for the cubic curve. Developing the Matrix Equation A cubic Bézier Curve can be written in a matrix form by expanding the analytic definition of the curve into its Bernstein polynomial coefficients, and then writing these coefficients in a matrix form using the

polynomial power basis. That is, P(t) = P i B i (t) i=0 = ( t) + t( t) P + t ( t)p + t P = ( t) t( t) t ( t) t = t t t 0 6 0 P P P P P P and so a cubic Bézier curve is can be written in a matrix form of t t t M P P P where M = 0 6 0 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). Utilizing equipment that is designed for fast matrix calculations, this formulation can be used to quickly calculate points on the curve.

Subdivision Using the Matrix Form Suppose we wish to generate the control polygon for the portion of the curve P(t) where t ranges between 0 and subdivide the curve at the point t =. This can be done by defining a new curve Q(t) which is equal to P( t ). Clearly this new curve is a cubic polynomial, and traces out the desired portion of P as t ranges between 0 and. We can calculate the Bézier control polygon for Q by using the matrix form of the curve P. Q(t) = P( t ) 0 = ( ( t t ( t ) P ) ) 6 0 P P 0 0 = t t t 0 0 6 0 0 = t t t MS 0, P P P P P P

where the matrix S 0, is defined as S 0, 0 = M 0 M 0 0 0 0 0 0 = 0 0 6 0 0 0 0 6 = 0 6 0 0 = 0 So Q(t) is a Bézier curve, with a control polygon given by 0 0 P P P = P + P + P + P + P + P + In the same way, we can obtain the Bézier control polygon for the second half of the curve the portion

where t ranges between and. If we call this new curve Q(t), then Q(t) = P( + t ) = ( + ) t ( + ) t ( + t ) = t t t 0 = t t t MS 0, P P P 0 6 0 0 P 6 0 P P P P P where S, = 0 0 obtaining a matrix that can be applied to the original Bézier control points to produce Bézier control points for the second half of the curve. Generating a Sequence of Bézier Control Polygons. Using matrix calculations similar to those above, we can generate an iterative scheme to generate a sequence of points on the curve. To do this, we need one additional S matrix. If we consider the portion of the cubic curve P(t) where t ranges between and, We generate the Bézier control points of Q(t) by 5

reparameterization of the original curve namely by replacing t by t + to obtain Q(t) = P(t + ) 0 = (t + ) (t + ) (t + ) 6 0 0 = t t t 0 6 0 0 = t t t MS, where, after some calculation, S, is given by P P P P P P P P P S, = 0 0 6 Now, using a combination of S 0,, S, and S,, we can produce Bézier control polygons along the curve similar to methods developed with divided differences. To see what I mean here, first notice that S, S 0, = S, This states that by applying S 0, to obtain a Bézier control polygon for the first half of the curve, we can then apply S, to this control polygon to obtain the Bézier control polygon for the second half of the curve. Extending this, if we apply S i, Sk 0, 6

(that is, apply S 0, k times and then S, i times), we obtain the Bézier control polygon for the portion of the curve where t ranges between i and i+. By repeatedly applying S k k,, we move our control polygons along the curve. Summary We have developed a matrix form for the cubic Bézier curve. Using reparameterization, we then developed matrices which enabled us to produce Bézier control polygons for sections of the curve, and to move from one Bézier control polygon to an adjacent for on the curve. These operations are extremely useful when utilizing hardware with geometry engines that multiply matrices rapidly. All contents copyright (c) 996, 997, 99, 999, 000 Computer Science Department, University of California, Davis All rights reserved. 7