Properties of Blending Functions

Similar documents
Computer Graphics Curves and Surfaces. Matthias Teschner

08 - Designing Approximating Curves

Lecture IV Bézier Curves

2D Spline Curves. CS 4620 Lecture 18

2D Spline Curves. CS 4620 Lecture 13

Computer Graphics Splines and Curves

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

Curve and Surface Basics

3D Modeling Parametric Curves & Surfaces

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside

Rational Bezier Curves

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics

Curves. Computer Graphics CSE 167 Lecture 11

Bé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.

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

Bezier Curves. An Introduction. Detlef Reimers

Remark. Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 331

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

Design considerations

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

Roadmap for tonight. What are Bezier curves (mathematically)? Programming Bezier curves (very high level view).

Splines. Connecting the Dots

A Practical Review of Uniform B-Splines

ECE 600, Dr. Farag, Summer 09

Need for Parametric Equations

Computer Graphics Spline and Surfaces

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

MA 323 Geometric Modelling Course Notes: Day 14 Properties of Bezier Curves

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

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

MA 323 Geometric Modelling Course Notes: Day 21 Three Dimensional Bezier Curves, Projections and Rational Bezier Curves

Parametric curves. Brian Curless CSE 457 Spring 2016

Computergrafik. Matthias Zwicker. Herbst 2010

Parametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required:

Representing Curves Part II. Foley & Van Dam, Chapter 11

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1

An Introduction to B-Spline Curves

Figure 5.1: Spline and ducks.

Blending curves. Albert Wiltsche

Know it. Control points. B Spline surfaces. Implicit surfaces

Bezier Curves, B-Splines, NURBS

8 Project # 2: Bézier curves

Intro to Curves Week 4, Lecture 7

Central issues in modelling

Curves and Surfaces 1

Lecture 9: Introduction to Spline Curves

Derivative. Bernstein polynomials: Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 313

Curves D.A. Forsyth, with slides from John Hart

CS-184: Computer Graphics

Introduction to Geometry. Computer Graphics CMU /15-662

Intro to Curves Week 1, Lecture 2

Further Graphics. Bezier Curves and Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

Information Coding / Computer Graphics, ISY, LiTH. Splines

The Free-form Surface Modelling System

Rendering Curves and Surfaces. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

(Spline, Bezier, B-Spline)

Surfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017)

Sung-Eui Yoon ( 윤성의 )

EECS 487, Fall 2005 Exam 2

CS-184: Computer Graphics. Today

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Geometric Modeling of Curves

Spline Methods Draft. Tom Lyche and Knut Mørken

Spline Methods Draft. Tom Lyche and Knut Mørken

Spline Methods Draft. Tom Lyche and Knut Mørken. Department of Informatics Centre of Mathematics for Applications University of Oslo

Computer Graphics. Unit VI: Curves And Fractals. By Vaishali Kolhe

Curve Representation ME761A Instructor in Charge Prof. J. Ramkumar Department of Mechanical Engineering, IIT Kanpur

An introduction to interpolation and splines

Spline Notes. Marc Olano University of Maryland, Baltimore County. February 20, 2004

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

LECTURE #6. Geometric Modelling for Engineering Applications. Geometric modeling for engineering applications

Review of Tuesday. ECS 175 Chapter 3: Object Representation

A Curve Tutorial for Introductory Computer Graphics

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

Objects 2: Curves & Splines Christian Miller CS Fall 2011

A New Class of Quasi-Cubic Trigonometric Bezier Curve and Surfaces

(Refer Slide Time: 00:02:24 min)

A MATRIX FORMULATION OF THE CUBIC BÉZIER CURVE

American International Journal of Research in Science, Technology, Engineering & Mathematics

Homework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves

Quasi-Quartic Trigonometric Bézier Curves and Surfaces with Shape Parameters

More Accurate Representation of Conics by NURBS. One of the argument usually given to explain the popularity of NURBS is the fact that they

Name: Let the Catmull-Rom curve q(u) be defined by the following control points: p 1 = 0, 1 p 2 = 1, 1 p 3 = 1, 0. p 2. p 1.

Spline Morphing. CG software practical course in the IWR. Carl Friedrich Bolz. Carl Friedrich Bolz

B(asis) Splines. Ashish Myles CISE, UF

GL9: Engineering Communications. GL9: CAD techniques. Curves Surfaces Solids Techniques

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

Vectorization Using Stochastic Local Search

Curves and Surfaces Computer Graphics I Lecture 9

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

A story about Non Uniform Rational B-Splines. E. Shcherbakov

Advanced Texture-Mapping Curves and Curved Surfaces. Pre-Lecture Business. Texture Modes. Texture Modes. Review quiz

Most shapes are simply too complicated to dene using a single Bezier curve. A spline curve is

Transcription:

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 ends at P n. Also, the curve is always tangent to the control polygon at P 0 and P n. Other popular blending functions exist for defining curves. In fact, you can easily make up your own set of blending functions. And by following a few simple rules, you can actually create a new type of free-form curve which has desirable properties. Consider a set of control points P i, i = 0,..., n and blending functions f i (t) which define the curve P(t) = f i (t)p i. We can select our blending functions such that the curve has any or all of the following properties: 1. Coordinate system independence. This means that the curve will not change if the coordinate system is changed. In other words, imagine that the control points are drawn on a piece of paper and we move that piece of paper around so that the (x, y) coordinates of the control points change. It would be nice if the curve did not change relative to the control points. Actually, if we were to pick an arbitrary set of blending functions, the curve would change. In order to provide coordinate system independence, the blending functions must form a partition of unity, which is math jargon that means that the blending functions sum identically sum to one: f i (t) 1. The property of coordinate system independence is also called affine invariance. 2. Convex hull property. The convex hull property was introduced in Section 2.5. This property exists in curves which are coordinate system independent and for which the blending functions are all non- negative: f i (t) 1; f i (t) 0, 0 t 1, i = 0,..., n 47

48 3. Symmetry. Curves which are symmetric do not change if the control points are ordered in reverse sequence. For a curve whose domain is [0, 1], symmetry is assured if and only if This holds if f i (t)p i f i (1 t)p n i. f i (t) = f n i (1 t). For a curve whose domain is [t 0, t 1 ], symmetry requires f i (t)p i f i (t 0 + t 1 t)p n i. 4. Variation Diminishing Property. This is a property which is obeyed by Bézier curves and B-spline curves. It states that if a given straight line intersects the curve in c number of points and the control polygon in p number of points, then it will always hold that c = p 2j where j is zero or a positive integer. This has the practical interpretation that a curve which c=3 p=5 j=1 Figure 5.1: Variation Diminishing Property obeys the variation diminishing property will wiggle no more than the control polygon. The conditions under which a curve will obey the variation diminishing property are rather complicated. Suffice it to say that Bézier curves and B-spline curves obey this property, and most other curves do not.

49 5. Linear Independence. A set of blending functions is linearly independent if there do no exist a set of constants c 0,..., c n, not all zero, for which c i f i (t) 0. Linearly independent blending functions are desirable for many reasons. For example,if they are not linearly independent, it is possible to express one blending function in terms of the other ones. This has the practical disadvantage that any given curve can be represented by infinitely many different control point positions. It also means that, for certain control point arrangements, the curve collapses to a single point, even though the control points are not all at that point. If a set of blending functions are linearly independent, they can be called basis functions. Thus, Bernstein polynomials are basis functions for Bézier curves, and B-spline blending functions are basis functions. 6. Endpoint Interpolation If a curve over the domain [t 0, t 1 ] is to pass through the first and last control points, as in the case of Bézier curves, the following conditions must be met: f 0 (t 0 ) = 1, f i (t 0 ) = 0, i = 1,..., n f n (t 1 ) = 1, f i (t 1 ) = 0, i = 0,..., n 1. Any set of blending functions can be analyzed in terms of the above properties. Example Check which of the above-mentioned properties are obeyed by the sample curve P(t) = f 0 (t)p 0 + f 1 (t)p 1 + f 2 (t)p 2 = t2 2t + 1 2t 2t2 t 2 P 0 + + 1 P 1 + 2t2 P 2 Answer: This curve is coordinate system independent because t 2 2t + 1 + 2t 2t2 + 2t2 = t2 + 1 1. The curve also obeys the convex hull property because its blending functions are non-negative for t [0, 1]. This is most easily seen by factoring the blending functions: t 2 2t + 1 = (t 1)2 is non-negative for any real number because the square of a real number is always non-negative. is clearly non-negative for t [0, 1]. The curve is not symmetric because 2t 2t 2 = 2t(1 t) (1 t) 2 2(1 t) + 1 (1 t) 2 + 1 = t 2 t 2 2t + 2 2t2

50 Timmer s Parametric Cubic Variation diminishing is very difficult to prove, and will not be attempted here. Linear independence is assessed by checking if there exist constants c 0, c 1, c 2, not all zero, for which t 2 2t + 1 2t 2t 2 c 0 t 2 + c 1 + 1 + c 2t 2 2 0. This is equivalent to c 0 (t 2 2t + 1) + c 1 (2t 2t 2 ) + c 2 (2t 2 ) = (c 0 2c 1 + 2c 2 )t 2 + ( 2c 0 + 2c 1 )t + c 0 0 which can only happen if c 0 2c 1 + 2c 2 = 0; 2c 0 + 2c 1 = 0; c 0 = 0. There is no solution to this set of linear equations, other than c 0 = c 1 = c 2 = 0, so we conclude that these blending functions are linearly independent. The curve does interpolate the endpoints, because f 0 (0) = 1, f 1 (0) = f 2 (0) = 0; f 2 (1) = 1, f 0 (1) = f 1 (1) = 0. The Bézier and B-spline curves are currently the most popular curve forms. Historically, other curve forms evolved independently at several different industrial sites, each faced with the common problem of making free-form curves accessible to designers. In this section, we will review three such curves: Timmer s Parametric Cubic, Ball s Cubic, and the Overhauser curve. Each of these curves is coordinate system independent and symmetric, but only Ball s cubic obeys the convex hull property. 5.1 Timmer s Parametric Cubic Figure 5.2: Timmer s PC Timmer s Parametric Cubic (or PC) was created by Harry Timmer of McDonnell Douglas [Tim80]. It was modeled after the Bézier curve. Timmer felt that he could improve upon the Bézier curve

Ball s Rational Cubic 51 if he could make it follow the control polygon more tightly. This he did by forcing the curve to interpolate the endpoints of the control polygon and to be tangent to the control polygon at those points (just like Bézier curves) and in addition, he forced the curve to go through the midpoint of the line segment P 1 - P 2. The resulting blending functions are: f 0 (t) = (1 2t)(1 t) 2 = 2t 3 + 5t 2 4t + 1 f 1 (t) = 4t(1 t) 2 = 4t 3 8t 2 + 4t f 2 (t) = 4t 2 (1 t) = 4t 3 + 4t 2 f 3 (t) = (2t 1)t 2 = 2t 3 t 2 Figure 5.2 may mislead one into thinking that Timmer s curve is tangent to P 1 P 2. This is not generally so (and is not exactly so even in Figure 5.2). Example Problem Given a Timmer curve with control points Q 0, Q 1, Q 2, Q 3, find the control points P 0, P 1, P 2, P 3 of an equivalent cubic Bézier curve P(t). Solution Note that if P(t) Q(t),then P(0) = Q(0), P(1) = Q(1), P (0) = Q (0), and P (1) = Q (1). This strategy provides a simple way to perform the conversion. P(0) = Q(0) P 0 = Q 0. P(1) = Q(1) P 3 = Q 3. For derivatives, we differentiate the Timmer basis functions (it does not work to use the Bézier hodograph): Q (t) = ( 60t 4)Q 0 + (12t 2 16t + 4)Q 1 + ( 12t 2 + 8t)Q 2 + (6t 2 2t)Q 3 so Q (t) = 4(Q 1 Q 0 ) and Q (1) = 4(Q 3 Q 2 ). P (0) = Q (0) 3(P 1 P 0 ) = 4(Q 1 Q 0 ) Q 1 = P 0 + 3P 1 4 P (1) = Q (1) 3(P 3 P 2 ) = 4(Q 3 Q 2 ) Q 2 = P 3 + 3P 2 4 5.2 Ball s Rational Cubic Alan Ball first published his cubic curve formulation in 1974 [Bal74]. Ball worked for the British Aircraft Corporation, and his cubic curve form was used in BAC s in-house CAD system. Like Timmer s PC curve, Ball s cubic can be considered a variant of the cubic Bézier curve. It s distinguishing feature is that it handles conic sections as a special case in a natural way. The blending functions for the non-rational case are: f 0 (t) = (1 t) 2 f 1 (t) = 2t(1 t) 2 f 2 (t) = 2t 2 (1 t)

52 Overhauser Curves f 3 (t) = t 2 Notice that if P 1 = P 2, then the curve becomes a quadratic Bézier curve: P 0 (1 t) 2 + P 1 2t(1 t) 2 + P 1 2t 2 (1 t) + P 3 t 2 = P 0 (1 t) 2 + P 1 [2t(1 t) 2 + 2t 2 (1 t)] + P 3 t 2 = P 0 (1 t) 2 + P 1 2t(1 t) + P 3 t 2 Figure 5.3: Ball s Cubic 5.3 Overhauser Curves Overhauser curves were developed and used at Ford Motor Company [Ove68]. They are also known as cubic Catmull-Rom splines [CR74]. One complaint of Bézier curves is that the curve does not interpolate all of the control points. Overhauser curves do interpolate all control points in a piecewise string of curve segments. A single Overhauser curve is defined with the following blending functions: f 0 (t) = 1 2 t + t2 1 2 t3 f 1 (t) = 1 5 2 t2 + 3 2 t3 f 2 (t) = 1 2 t + 2t2 3 2 t3 f 3 (t) = 1 2 t2 + 1 2 t3 A single Overhauser curve segment interpolates P 1 and P 2. Furthermore, the slope of the curve at P 1 is only a function of P 0 and P 2 and the slope at P 2 is only a function of P 1 and P 3 : P (0) = 1 2 (P 2 P 0 )

Overhauser Curves 53 P (1) = 1 2 (P 3 P 1 ) This means that a second curve segment will be tangent to the first curve segment if its first three control points are identical to the last three control points of the first curve. This is illustrated in Fig. 5.4. Figure 5.4: Overhauser curves

54 Overhauser Curves