Rational Bezier Surface

Similar documents
Important Properties of B-spline Basis Functions

Curve Construction via Local Fitting

Need for Parametric Equations

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.

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

An introduction to NURBS

CAP 6736 Geometric Modeling Team Hamilton B-Spline Basis Functions. Presented by Padmavathi Siddi Vigneshkumar Suresh Jorge Medrano

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

Computer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson

Curve and Surface Basics

CS 450 Numerical Analysis. Chapter 7: Interpolation

Rational Bezier Curves

Les Piegl Wayne Tiller. The NURBS Book. Second Edition with 334 Figures in 578 Parts. A) Springer

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

COMP3421. Global Lighting Part 2: Radiosity

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

Free-Form Deformation (FFD)

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

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. Matthias Zwicker. Herbst 2010

(Spline, Bezier, B-Spline)

Computational Physics PHYS 420

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

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

Bezier Curves, B-Splines, NURBS

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

and the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5

In this course we will need a set of techniques to represent curves and surfaces in 2-d and 3-d. Some reasons for this include

Curves and Surfaces 1

08 - Designing Approximating Curves

3D Modeling Parametric Curves & Surfaces

Developing an Approach to Redesign Freeform Surfaces Using B-Spline Technique

CS-184: Computer Graphics

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

A MATRIX FORMULATION OF THE CUBIC BÉZIER CURVE

Lecture 9: Introduction to Spline Curves

An introduction to interpolation and splines

CS-184: Computer Graphics. Today

Monotonic Cubic Spline Interpolation

Positivity Preserving Interpolation of Positive Data by Rational Quadratic Trigonometric Spline

MA 323 Geometric Modelling Course Notes: Day 28 Data Fitting to Surfaces

Parametric Surfaces. Michael Kazhdan ( /657) HB , FvDFH 11.2

NURBS: Non-Uniform Rational B-Splines AUI Course Denbigh Starkey

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

Handout 4 - Interpolation Examples

Knot Insertion and Reparametrization of Interval B-spline Curves

2D Spline Curves. CS 4620 Lecture 13

A Practical Review of Uniform B-Splines

Reading. Parametric surfaces. Surfaces of revolution. Mathematical surface representations. Required:

Computer Graphics Curves and Surfaces. Matthias Teschner

Intro to Modeling Modeling in 3D

Research Article Data Visualization Using Rational Trigonometric Spline

Almost Curvature Continuous Fitting of B-Spline Surfaces

The Free-form Surface Modelling System

2D Spline Curves. CS 4620 Lecture 18

Natural Quartic Spline

A generalized conversion matrix between non-uniform B-spline and Bézier representations with applications in CAGD

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

Flank Millable Surface Design with Conical and Barrel Tools

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

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

Curve fitting using linear models

Information Coding / Computer Graphics, ISY, LiTH. Splines

Parametric curves. Brian Curless CSE 457 Spring 2016

CAGD PACKAGE FOR MATHEMATICA AND ITS USAGE IN THE TEACHING

Sung-Eui Yoon ( 윤성의 )

Four equations are necessary to evaluate these coefficients. Eqn

Curves. Computer Graphics CSE 167 Lecture 11

Introduction to the Mathematical Concepts of CATIA V5

Curves and Surfaces for Computer-Aided Geometric Design

CS770/870 Spring 2017 Curve Generation

Lecture 8. Divided Differences,Least-Squares Approximations. Ceng375 Numerical Computations at December 9, 2010

An Introduction to B-Spline Curves

A general matrix representation for non-uniform B-spline subdivision with boundary control

15.10 Curve Interpolation using Uniform Cubic B-Spline Curves. CS Dept, UK

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

CHAPTER 6 Parametric Spline Curves

On an approach for cubic Bézier interpolation

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland)

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

Lecture VIII. Global Approximation Methods: I

Motivation Patch tests Numerical examples Conclusions

B-spline Curves. Smoother than other curve forms

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

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

Construction and smoothing of triangular Coons patches with geodesic boundary curves

8 Piecewise Polynomial Interpolation

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

Computer Graphics Spline and Surfaces

Design considerations

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

Central issues in modelling

B-Splines and NURBS Week 5, Lecture 9

Lecture 3 Box-partitions and dimension of spline spaces over Box-partition

Linear Interpolating Splines

B-Spline Polynomials. B-Spline Polynomials. Uniform Cubic B-Spline Curves CS 460. Computer Graphics

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

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

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

Curves and Curved Surfaces. Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006

Transcription:

Rational Bezier Surface The perspective projection of a 4-dimensional polynomial Bezier surface, S w n ( u, v) B i n i 0 m j 0, u ( ) B j m, v ( ) P w ij ME525x NURBS Curve and Surface Modeling Page 97

and, S w ( u, v) H { S w ( u, v) } n m B i, n ( u) B j, m ( v) w ij P ij i 0 j 0 ---------------------------------------------------------------------------------- n i 0 n i 0 m j 0 m j 0 B i, n ( u) B j, m ( v) w ij R i j, ( u, v) P ij ME525x NURBS Curve and Surface Modeling Page 98

where, R i j, ( u, v) ( ) B j, m ( v) w ij ----------------------------------------------------------------------------- n r 0 B i, n u m s 0 B r, n ( u) B s, m ( v) w rs Note that R i,j (u,v ) are rational functions; but they are not products of other basis functions. ME525x NURBS Curve and Surface Modeling Page 99

Hence, S (u,v ) is not a tensor product surface (but S w (u,v ) is). We will generally work with S w (u,v). Exercise: See if you can construct a rational Bezier surface patch representing a quarter-cylinder ME525x NURBS Curve and Surface Modeling Page 100

B-spline Basis Functions Curves consisting of a single polynomial or rational segment may have the following deficiencies: Degree must be high to satisfy a large number of constraints; e.g., need a degree (n-1) polynomial Bezier to pass through n data points ---> numerical instability. ME525x NURBS Curve and Surface Modeling Page 101

Degree must be high to fit complex shapes accurately Not suited to interactive shape design - shape control is not sufficiently localized. ME525x NURBS Curve and Surface Modeling Page 102

One solution is to use curves (surfaces) which are piecewise polynomial or piecewise rational. Consider the following curve C 1 (u) u0 uu 1 uu 2 C 2 (u) u1 C 3 (u) ME525x NURBS Curve and Surface Modeling Page 103

consisting of m ( 3) n-th degree polynomial segments. C (u) is defined on u [0,1]. The parameter values u 0 0 < u 1 < u 2 < u 3 1 are called breakpoints. Curve segments are denoted C i (u), i0,...,m. The segments join with specified continuity (not necessarily the same at each breakpoint). Let C i (j) denote the j-th derivative of C i. ME525x NURBS Curve and Surface Modeling Page 104

Definition: Curve C(u) is said to be C k -continuous at the breakpoint u i, if C ( j) i ( u i ) C j ( i ) + 1 u i for all 0 j k ( ) Note that any of the standard polynomial forms can be used to represent C i (u). ME525x NURBS Curve and Surface Modeling Page 105

Example: Suppose the piecewise curve above is represented using cubic Bezier polynomials. If the breakpoints are fixed, U {u 0, u 1, u 2, u 3 }, and the twelve control points P i j are allowed to vary arbitrarily, we obtain a vector space ϑ of all piecewise cubic polynomial curves on U. ME525x NURBS Curve and Surface Modeling Page 106

Vector space ϑ has dimension 12, and a curve in ϑ can be discontinuous at u 1 or u 2. Now suppose that C 0 -continuity is specified, i.e., P 3 1 P 0 2 and P 3 2 P 0 3. Thus ϑ 0 is the vector space of all piecewise cubic polynomial curves on U which are at least C 0 -continuous. Note that ϑ 0 has dimension 10, and ϑ 0 ϑ. ME525x NURBS Curve and Surface Modeling Page 107

Similarly, if C 1 -continuity is specified, it can be shown that, P 1 3 ( u 2 u 1 ) P 1 2 + ( u 1 u 0 ) P 2 1 ---------------------------------------------------------------------------- u 2 u 0 So ϑ 1 the vector space of all C 1 -continuous piecewise polynomial curves on U has dimension 8, and ϑ 1 ϑ 0 ϑ ME525x NURBS Curve and Surface Modeling Page 108

Thus, storing and manipulating individual polynomial segments of a piecewise polynomial curve has the following deficiencies: redundant data must be stored - e.g., 12 coefficients, where only 8 are required for C 1 - continuity, and 6 for C 2 -continuity ME525x NURBS Curve and Surface Modeling Page 109

continuity of C (u) depends on the positions of the control points, e.g., in our previous example, suppose we like C 1 (u) and C 3 (u), but want to modify C 2 (u) - if we want C 1 - continuity throughout, we are stuck! Determining the continuity of a curve requires computation ME525x NURBS Curve and Surface Modeling Page 110

We want a curve representation of the form, n C ( u) f i ( u) P i i 0 where the P i are control points and the {f i (u), i 0,..., n} are piecewise polynomial functions forming a basis for the vector space of all piecewise polynomial functions of the desired degree and continuity... ME525x NURBS Curve and Surface Modeling Page 111

i.e., continuity is determined by the basis functions, so control points can be modified without altering the curve s continuity. Also, we seek basis functions f i (u) with local support, i.e., each f i (u) should be non-zero on only a limited number of subintervals (not the entire domain [u 0, u m ]). ME525x NURBS Curve and Surface Modeling Page 112

B-spline Basis Functions Definition (Cox-DeBoor): Let U {u 0,..., u m } be a non-decreasing sequence of real numbers, i.e., u i u i+1, i 0,..., m - 1. The u i are called knots, and U is the knot vector. The i-th B-spline basis function of degree p (order p + 1), denoted as N i,p (u), is defined as follows: ME525x NURBS Curve and Surface Modeling Page 113

N i, p ( u) N i, 0 ( u) u i + p u i 1 if ( u i u < u i + 1 ) 0 otherwise u u i -----------------------N i, p 1 ( u) u i + p + 1 u u i + p + 1 u i + 1 + --------------------------------------N i + 1, p ( u) 1 ME525x NURBS Curve and Surface Modeling Page 114

Note the following: N i,0 (u) is a step function, equal to zero everywhere except on the half-open interval u [u i, u i+1 ). For p > 0, N i,p (u) is a linear combination of two degree p - 1 basis functions. Computation of a set of basis functions requires specification of a knot vector U, and the degree, p. ME525x NURBS Curve and Surface Modeling Page 115

The formulation above can yield the quotient 0/0. We define this quotient to be zero. The half-open interval [u i, u i+1 ) is called the i-th knot span. It may have zero length since knots need not be distinct. ME525x NURBS Curve and Surface Modeling Page 116

Computation of the p-th degree functions generates a truncated triangular table, N 0,0 N 0,1 N 1,0 N 2,0 N 3,0 N 4,0 N 1,1 N 2,1 N 3,1 N 0,2 N 1,2 N 2,2 N 0,3 N 1,3 ME525x NURBS Curve and Surface Modeling Page 117

Example: Given U { 0, 0, 0, 1, 1, 1 } compute the B- spline basis functions for degree p 2 N 0, 0 N 1 0 N 2 0, 0 for < u < 1 0 u 1, { 0 otherwise N 3, 0 N 4 0, 0 for < u < ME525x NURBS Curve and Surface Modeling Page 118

N 0 1 -----------N u 0 0 u, 0 0 0, + -----------N 0 0 0 1, 0 0 < u < N 1 1 -----------N u 0 1 u, 0 0 1, + -----------N 0 1 0 2, 0 { ( 1 u) 0 u 1 0 otherwise ME525x NURBS Curve and Surface Modeling Page 119

N 2 1 -----------N u 0 1 u, 1 0 2, + -----------N 0 1 1 3, 0 u 0 u 1 { 0 otherwise N 3 1 -----------N u 1 1 u, 1 1 3, + -----------N 0 1 1 4, 0 0 < u < ME525x NURBS Curve and Surface Modeling Page 120

N 0 2 -----------N u 0 1 u, 0 0 0, + -----------N 1 1 0 1, 1 { ( 1 u) 2 0 u 1 0 otherwise N 1 2 -----------N u 0 1 u, 1 0 1, + -----------N 1 1 0 2, 1 { 2 ( 1 u) 0 u 1 0 otherwise ME525x NURBS Curve and Surface Modeling Page 121

N 2 2 -----------N u 0 1 u, 1 0 2, + -----------N 1 1 1 3, 1 u 2 0 u 1 { 0 otherwise Note that the N i,2 restricted to the interval u [0,1], are the quadratic Bernstein polynomial. ME525x NURBS Curve and Surface Modeling Page 122

Thus, the B-spline representation with knot vector of the form, U { 0,..., 0, 1,..., 1 } p +1 p +1 is a generalization of the Bezier representation. ME525x NURBS Curve and Surface Modeling Page 123