Top Banner
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel
19

Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Dec 21, 2015

Download

Documents

Michael Summers
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Bezier and Spline Curves and Surfaces

CS4395: Computer Graphics 1

Mohan SridharanBased on slides created by Edward Angel

Page 2: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Objectives

• Introduce the Bezier curves and surfaces.

• Derive the required matrices.

• Introduce the B-spline and compare it to the standard cubic Bezier.

CS4395: Computer Graphics 2

Page 3: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Bezier’s Idea

• In graphics and CAD, we do not usually have derivative data.

• Bezier: use the same 4 data points as with the cubic interpolating curve to approximate the derivatives in the Hermite form.

CS4395: Computer Graphics 3

Page 4: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Approximating Derivatives

CS4395: Computer Graphics 4

p0

p1p2

p3

p1 located at u=1/3 p2 located at u=2/3

3/1

pp)0('p 01

3/1

pp)1('p 23

slope p’(0) slope p’(1)

u

Page 5: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Equations

CS4395: Computer Graphics 5

p(0) = p0 = c0

p(1) = p3 = c0+c1+c2+c3

p’(0) = 3(p1- p0) = c0

p’(1) = 3(p3- p2) = c1+2c2+3c3

Interpolating conditions are the same:

Approximating derivative conditions:

Solve four linear equations for c=MBp

Page 6: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Bezier Matrix

CS4395: Computer Graphics 6

1331

0363

0033

0001

MB

p(u) = uTMBp = b(u)Tp

blending functions

Page 7: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Blending Functions

CS4395: Computer Graphics 7

u

uu

uu

u

u

3

2

2

3

)1(2

)1(3

)1(

)(b

Note that all zeros are at 0 and 1 which forces the functions to be smooth over (0,1).

Page 8: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Bernstein Polynomials

• The blending functions are a special case of the Bernstein polynomials:

• These polynomials give the blending polynomials for any degree Bezier form:– All zeros at 0 and 1.– For any degree they all sum to 1.– They are all between 0 and 1 inside (0,1) .

CS4395: Computer Graphics 8

)1()!(!

!)(kd uu

kdk

dub

kdk

Page 9: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Convex Hull Property

• The properties of the Bernstein polynomials ensure that all Bezier curves lie in the convex hull of their control points.

• Hence, even though we do not interpolate all the data, we cannot be too far away.

CS4395: Computer Graphics 9

p0

p1 p2

p3

convex hull

Bezier curve

Page 10: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Bezier Patches

CS4395: Computer Graphics 10

Using same data array P=[pij] as with interpolating form:

vupvbubvup TBB

Tijj

i ji MPM

)()(),(3

0

3

0

Patch lies inconvex hull

Page 11: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Analysis

• Although Bezier form is much better than interpolating form, the derivatives are not continuous at join points.

• Can we do better?

• Go to higher order Bezier:– More work.– Derivative continuity still only approximate.– Supported by OpenGL.

• Apply different conditions:– Tricky without letting order increase!

CS4395: Computer Graphics 11

Page 12: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

B-Splines

• Basic splines: use the data at p=[pi-2 pi-1 pi pi-1]T to define curve only between pi-1 and pi

• Allows to apply more continuity conditions to each segment.

• For cubics, we can have continuity of function, first and second derivatives at join points.

• Cost is 3 times as much work for curves:– Add one new point each time rather than three.

• For surfaces, we do 9 times as much work!

CS4395: Computer Graphics 12

Page 13: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Cubic B-spline

CS4395: Computer Graphics 13

1331

0363

0303

0141

MS

p(u) = uTMSp = b(u)Tp

Page 14: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Blending Functions

CS4395: Computer Graphics 14

u

uuuuu

u

u

3

22

32

3

3331

364

)1(

6

1)(b

convex hull property

Page 15: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

B-Spline Patches

vupvbubvup TSS

Tijj

i ji MPM

)()(),(3

0

3

0

CS4395: Computer Graphics 15

defined over only 1/9 of region

Page 16: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Splines and Basis

• If we examine cubic B-splines from the perspective of each control (data) point, each interior point contributes (through the blending functions) to four segments.

• We can rewrite p(u) in terms of the data points as:

defining the basis functions {Bi(u)}

CS4395: Computer Graphics 16

puBup ii )()(

Page 17: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Basis Functions

CS4395: Computer Graphics 17

2

21

11

12

2

0

)1(

)()1(

)2(

0

)(

3

2

1

0

iu

iui

iuiiui

iui

iu

ub

ubub

ub

uBi

In terms of the blending polynomials:

Page 18: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

Generalizing Splines

• We can extend to splines of any degree.

• Data and conditions do not have to given at equally spaced values (the knots).– Non-uniform and uniform splines.– Can have repeated knots:

• Can force splines to interpolate points.

• Cox-deBoor recursion gives method of evaluation.

CS4395: Computer Graphics 18

Page 19: Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.

NURBS

• Non-Uniform Rational B-Spline curves and surfaces add a fourth variable w to x, y, z.– Interpret as weight to give importance to some data.– Can also interpret as moving to homogeneous

coordinates!

• Requires a perspective division– NURBS act correctly for perspective viewing.

• Quadrics are a special case of NURBS.

CS4395: Computer Graphics 19