Top Banner
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai
88

CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Dec 19, 2015

Download

Documents

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: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves

Jinxiang Chai

Page 2: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Outline

• Keyframe interpolation

• Curve representation and interpolation - natural cubic curves

- Hermite curves

- Bezier curves

• Required readings: HB 8-8,8-9, 8-10

Page 3: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Computer Animation

• Animation - making objects moving

• Compute animation - the production of consecutive images, which,

when displayed, convey a feeling of motion.

Page 4: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Animation Topics

• Rigid body simulation - bouncing ball

- millions of chairs falling down

Page 5: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Animation Topics

• Rigid body simulation - bouncing ball

- millions of chairs falling down

• Natural phenomenon

- water, fire, smoke, mud, etc.

Page 6: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Animation Topics

• Rigid body simulation - bouncing ball

- millions of chairs falling down

• Natural phenomenon

- water, fire, smoke, mud, etc.

• Character animation

- articulated motion, e.g. full-body animation

- deformation, e.g. face

Page 7: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Animation Topics

• Rigid body simulation - bouncing ball

- millions of chairs falling down

• Natural phenomenon

- water, fire, smoke, mud, etc.

• Character animation

- articulated motion, e.g. full-body animation

- deformation, e.g. face

• Cartoon animation

Page 8: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Animation Criterion

• Physically correct

- rigid body-simulation

- natural phenomenon

• Natural

- character animation

• Expressive

- cartoon animation

Page 9: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Keyframe Animation

Page 10: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Keyframe Interpolation

1

2

3

3c

2c

1c

A

What’s the inbetween motion?

t=0 t=50ms

Page 11: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Outline

• Process of keyframing• Key frame interpolation• Hermite and bezier curve• Splines• Speed control

Page 12: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

2D Animation

• Highly skilled animators draw the key frames• Less skilled (lower paid) animators draw the in-

between frames• Time consuming process• Difficult to create physically realistic animation

Page 13: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

3D Animation

• Animators specify important key frames in 3D• Computers generates the in-between frames• Some dynamic motion can be done by

computers (hair, clothes, etc)• Still time consuming; Pixar spent four years to

produce Toy Story

Page 14: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

The Process of Keyframing

• Specify the keyframes

• Specify the type of interpolation

- linear, cubic, parametric curves

• Specify the speed profile of the interpolation

- constant velocity, ease-in-ease-out, etc

• Computer generates the in-between frames

Page 15: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

A Keyframe

• In 2D animation, a keyframe is usually a single image

• In 3D animation, each keyframe is defined by a set of parameters

Page 16: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Keyframe Parameters

What are the parameters?– position and orientation– body deformation– facial features– hair and clothing– lights and cameras

Page 17: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Outline

• Process of keyframing• Key frame interpolation• Hermite and bezier curve• Splines• Speed control

Page 18: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Inbetween Frames

• Linear interpolation

• Cubic curve interpolation

Page 19: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Keyframe Interpolation

1

2

3

3c

2c

1c

A

t=0 t=50ms

Page 20: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Linear Interpolation

• Linearly interpolate the parameters between keyframes

Page 21: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Cubic Curve Interpolation

• We can use three cubic functions to represent a 3D curve

• Each function is defined with the range 0 <= t <=1

Page 22: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Compact Representation

Page 23: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Compact Representation

Page 24: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Smooth Curves

• Controlling the shape of the curve

321)( ttttQx

Page 25: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Smooth Curves

• Controlling the shape of the curve

323)( ttttQx

Page 26: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Smooth Curves

• Controlling the shape of the curve

321)( ttttQ x

Page 27: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Smooth Curves

• Controlling the shape of the curve

321)( ttttQx

Page 28: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Smooth Curves

• Controlling the shape of the curve

321)( ttttQx

Page 29: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Smooth Curves

• Controlling the shape of the curve

3231)( ttttQx

Page 30: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Constraints on the cubics

• How many constraints do we need to determine a cubic curve?

)(23 tQdtctbta xxxxx

Page 31: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Constraints on the Cubic Functions

• How many constraints do we need to determine a cubic curve?

)(23 tQdtctbta xxxxx

)(123 tQ

d

c

b

a

ttt x

x

x

x

x

Page 32: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Constraints on the Cubic Functions

• How many constraints do we need to determine a cubic curve?

)(23 tQdtctbta xxxxx

)(123 tQ

d

c

b

a

ttt x

x

x

x

x

)(

)(

)(

)(

1

1

1

1

4

3

2

1

424

34

323

33

222

32

121

31

tQ

tQ

tQ

tQ

d

c

b

a

ttt

ttt

ttt

ttt

x

x

x

x

x

x

x

x

Page 33: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Constraints on the Cubic Functions

• How many constraints do we need to determine a cubic curve?

)(23 tQdtctbta xxxxx

)(123 tQ

d

c

b

a

ttt x

x

x

x

x

)(

)(

)(

)(

1

1

1

1

4

3

2

1

424

34

323

33

222

32

121

31

tQ

tQ

tQ

tQ

d

c

b

a

ttt

ttt

ttt

ttt

x

x

x

x

x

x

x

x

)(

)(

)(

)(

1

1

1

1

4

3

2

1

1

424

34

323

33

222

32

121

31

tQ

tQ

tQ

tQ

ttt

ttt

ttt

ttt

d

c

b

a

x

x

x

x

x

x

x

x

Page 34: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Constraints on the Cubic Functions

• How many constraints do we need to determine a cubic curve? 4

Page 35: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Natural Cubic Curves

)(

)(

)(

)(

1

1

1

1

11)(

4

3

2

1

1

424

34

323

33

222

32

121

31

2323

tQ

tQ

tQ

tQ

ttt

ttt

ttt

ttt

ttt

d

c

b

a

ttttQ

x

x

x

x

Q(t1) Q(t2) Q(t3)

Q(t4)

Page 36: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Interpolation

• Find a polynomial that passes through specified values

y

t

32)( dtctbtaty

Page 37: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Interpolation

• Find a polynomial that passes through specified values

y

t

32)( dtctbtaty 3)0( ay

1)1( dcbay3842)2( dcbay12793)3( dcbay

Page 38: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Interpolation

• Find a polynomial that passes through specified values

y

t

32)( dtctbtaty

1

3

1

3

27931

8421

1111

0001

d

c

b

a

Page 39: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Interpolation

• Find a polynomial that passes through specified values

y

t

32)( dtctbtaty

31

320

6

3

d

c

b

a

Page 40: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Interpolation

• Find a polynomial that passes through specified values

y

t

Page 41: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

2D Trajectory Interpolation

• Perform interpolation for each component separately

• Combine result to obtain parametric curvey

x

)(),()( tytxtp

Page 42: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

2D Trajectory Interpolation

• Perform interpolation for each component separately

• Combine result to obtain parametric curvey

x

)(),()( tytxtp

Page 43: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

2D Trajectory Interpolation

• Perform interpolation for each component separately

• Combine result to obtain parametric curvey

x

)(),()( tytxtp

Page 44: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Constraints on the Cubic Curves

• How many constraints do we need to determine a cubic curve? 4

- does not provide local control of the curve

Page 45: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

x

x

x

x

d

c

b

a

ttttQ 1)( 23

Constraints on the Cubic Curves

• How many constraints do we need to determine a cubic curve? 4

- does not provide local control of the curve

• Redefine C as a product of the basis matrix M and the control vector G: C= MG

Page 46: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Constraints on the cubic curves

• How many constraints do we need to determine a cubic curve? 4

- does not provide local control of the curve

• Redefine C as a product of the basis matrix M and the control vector G: C= MG

x

x

x

x

d

c

b

a

ttttQ 1)( 23

MG

Page 47: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Constraints on the Cubic Curves

• How many constraints do we need to determine a cubic curve? 4

- does not provide local control of the curve

• Redefine C as a product of the basis matrix M and the control vector G: C= MG

)(

)(

)(

)(

1

1

1

1

11)(

4

3

2

1

1

424

34

323

33

222

32

121

31

2323

tQ

tQ

tQ

tQ

ttt

ttt

ttt

ttt

ttt

d

c

b

a

ttttQ

x

x

x

x

M G

Page 48: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Constraints on the Cubic Curves

• How many constraints do we need to determine a cubic curve? 4

- does not provide local control of the curve

• Redefine C as a product of the basis matrix M and the control vector G: C= MG

)(

)(

)(

)(

1

1

1

1

11)(

4

3

2

1

1

424

34

323

33

222

32

121

31

2323

tQ

tQ

tQ

tQ

ttt

ttt

ttt

ttt

ttt

d

c

b

a

ttttQ

x

x

x

x

M? G?

Page 49: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Outline

• Process of keyframing• Key frame interpolation• Hermite and bezier curve• Splines• Speed control

Page 50: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Hermite Curve

• A Hermite curve is determined by

- endpoints P1 and P4

- tangent vectors R1 and R4 at the endpoints

P1

R1 P4

R4

Page 51: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Hermite Curve

• A Hermite curve is determined by

- endpoints P1 and P4

- tangent vectors R1 and R4 at the endpoints

• Use these elements to control the curve, i.e. construct control vector

P1

R1 P4

R4

4

1

4

1

23

????

????

????

????

1)(

R

R

P

P

ttttQ Mh Gh

Page 52: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Hermite Basis Matrix

Given desired constraints:

- endpoints meet P1 and P4

Q(0) = [0 0 0 1 ] · Mh · Gh = P1

Q(1) = [1 1 1 1 ] · Mh · Gh = P4

- tangent vectors meet R1 and R4

Page 53: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Tangent Vectors

4

1

4

1

23 1)(

R

R

P

P

MttttQ

Page 54: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Tangent Vectors

4

1

4

1

23 1)(

R

R

P

P

MttttQ

4

1

4

1

2 0123)(

R

R

P

P

MtttQ

Page 55: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Hermite Basis Matrix

Given desired constraints:

- endpoints meet P1 and P4

Q(0) = [0 0 0 1 ] · Mh · Gh = P1

Q(1) = [1 1 1 1 ] · Mh · Gh = P4

- tangent vectors meet R1 and R4

Q’(0) =[0 0 1 0] · Mh · Gh =R1

Q’(1) =[3 2 1 0] · Mh · Gh =R4

Page 56: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Hermite Basis Matrix

Given desired constraints:

- endpoints meet P1 and P4

Q(0) = [0 0 0 1 ] · Mh · Gh = P1

Q(1) = [1 1 1 1 ] · Mh · Gh = P4

- tangent vectors meet R1 and R4

Q’(0) =[0 0 1 0] · Mh · Gh =R1

Q’(1) =[3 2 1 0] · Mh · Gh =R4

So how to compute the basis matrix Mh?

Page 57: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Hermite Basis Matrix

We can solve for basis matrix Mh

4

1

4

1

4

1

4

1

????

????

????

????

0123

0100

1111

1000

R

R

P

P

R

R

P

P

Mh

Page 58: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Hermite Basis Matrix

We can solve for basis matrix Mh

4

1

4

1

4

1

4

1

????

????

????

????

0123

0100

1111

1000

R

R

P

P

R

R

P

P

Mh

0001

0100

1233

1122

0123

0100

1111

10001

hM

Page 59: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Hermite Basis Matrix

P1

R1 P4

R4

4

1

4

1

23

0001

0100

1233

1122

1)(

R

R

P

P

ttttQ

Page 60: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Hermite Basis Function

• Let’s define B as a product of T and M

• Bh(t) indicates the weight of each element in Gh

0001

0100

1233

1122

1)( 23 ttttBh

4

1

4

1

)()(

R

R

P

P

tBtQ h

Page 61: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Bezier Curve

• Indirectly specify tangent vectors by specifying two intermediate points

P1

R1

P3

R2

P2

P4

Page 62: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Bezier Curve

• Indirectly specify tangent vectors by specifying two intermediate points

P1

R1

P3

R4

P2

P4

)(3

)(3

344

121

PPR

PPR

4

3

2

1

P

P

P

P

Gb

Page 63: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Bezier Curve

• Indirectly specify tangent vectors by specifying two intermediate points

P1

R1

P3

R4

P2

P4

)(3

)(3

344

121

PPR

PPR

4

3

2

1

P

P

P

P

Gb

How to compute the basis matrix Mb?

Page 64: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Bezier Basis Matrix

• Establish the relation between Hermite and Bezier control vectors

44

11

342

121

)(3

)(3

PP

PP

PPR

PPR

Page 65: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Bezier Basis Matrix

• Establish the relation between Hermite and Bezier control vectors

44

11

342

121

)(3

)(3

PP

PP

PPR

PPR

4

3

4

1

4

1

4

1

3300

0133

1000

0001

P

P

P

P

R

R

P

P

Gh

Page 66: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Bezier Basis Matrix

• Establish the relation between Hermite and Bezier control vectors

44

11

342

121

)(3

)(3

PP

PP

PPR

PPR

4

3

4

1

4

1

4

1

3300

0133

1000

0001

P

P

P

P

R

R

P

P

GhMhb Gb

Page 67: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Bezier Basis Matrix

4

1

4

1

23

0001

0100

1233

1122

1)(

R

R

P

P

ttttQ

4

3

2

1

4

1

4

1

3300

0033

1000

0001

P

P

P

P

R

R

P

P

4

1

4

1

23

0001

0100

1233

1122

1)(

R

R

P

P

ttttQ

4

3

2

1

23

4

1

4

1

23

0001

0033

0363

1331

1

0001

0100

1233

1122

0001

0100

1233

1122

1

P

P

P

P

ttt

R

R

P

P

ttt

• For Hermite curves, we have

• For Bezier curves, we have

Page 68: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Bezier Basis Matrix

4

1

4

1

23

0001

0100

1233

1122

1)(

R

R

P

P

ttttQ

4

3

2

1

4

1

4

1

3300

0033

1000

0001

P

P

P

P

R

R

P

P

4

1

4

1

23

0001

0100

1233

1122

1)(

R

R

P

P

ttttQ

4

3

2

1

23

4

1

4

1

23

0001

0033

0363

1331

1

0001

0100

1233

1122

0001

0100

1233

1122

1

P

P

P

P

ttt

R

R

P

P

ttt

• For Hermite curves, we have

• For Bezier curves, we have

Page 69: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Bezier Basis Matrix

4

3

2

1

23

0001

0033

0363

1331

1)(

P

P

P

P

ttttQ

P1

P3

P2

P4

Page 70: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Hermite basis function

• Let’s define B as a product of T and M

• Bh(t) indicates the weight of each element in Gh

Page 71: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Hermite basis function

• Let’s define B as a product of T and M

• Bh(t) indicates the weight of each element in Gh

What’s function of this red curve?

Page 72: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Hermite basis function

• Let’s define B as a product of T and M

• Bh(t) indicates the weight of each element in Gh

What’s function of this red curve?

2t3-3t2+1

Page 73: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Bezier basis functions

• Bezier blending functions are also called Bernstein polynomials

Page 74: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Bezier basis functions

• Bezier blending functions are also called Bernstein polynomials

What’s function of this red curve?

Page 75: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Bezier basis functions

• Bezier blending functions are also called Bernstein polynomials

What’s function of this red curve?

-t3+3t2-3t+1

Page 76: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Bezier basis functions

• Bezier blending functions are also called Bernstein polynomials

What’s function of this red curve?

-t3+3t2-3t+1

Page 77: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

How to interpolate a 3D curve

x

y

zo

Page 78: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

How to interpolate a 3D curve

x

y

zo

z

z

z

z

y

y

y

y

x

x

x

x

zyx

P

P

P

P

P

P

P

P

P

P

P

P

ttttQtQtQ

4

3

2

1

4

3

2

1

4

3

2

1

23

0001

0033

0363

1331

1)()()(

Bezier curve

Page 79: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

• Try this online at

- Move the interpolation point, see how the others (and the point on curve) move

- Control points (can even make loops)

Bezier java applet

http://www.cse.unsw.edu.au/~lambert/splines/

Page 80: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

• Cubic curves:

• Hermite curves:

• Bezier curves:

Different basis functions

4

3

2

1

23

0001

0033

0363

1331

1)(

P

P

P

P

ttttQ

4

1

4

1

23

0001

0100

1233

1122

1)(

R

R

P

P

ttttQ

)(

)(

)(

)(

1

1

1

1

11)(

4

3

2

1

1

424

34

323

33

222

32

121

31

2323

tQ

tQ

tQ

tQ

ttt

ttt

ttt

ttt

ttt

d

c

b

a

ttttQ

x

x

x

x

Page 81: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Complex curves

• Suppose we want to draw a more complex curve

Page 82: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Complex curves

• Suppose we want to draw a more complex curve

How can we represent this curve?

Page 83: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Complex curves

• Suppose we want to draw a more complex curve Why not use a high-order Bézier?

- Wiggly curves

- No local control

Page 84: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Complex curves

• Suppose we want to draw a more complex curve Why not use a high-order Bézier?

- Wiggly curves

- No local control

• Instead, we’ll splice together a curve from individual segments that are cubic Béziers

Page 85: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Complex curves

• Suppose we want to draw a more complex curve Why not use a high-order Bézier?

- Wiggly curves

- No local control

• Instead, we’ll splice together a curve from individual segments that are cubic Béziers

Page 86: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Complex curves

• Suppose we want to draw a more complex curve Why not use a high-order Bézier?

- Wiggly curves

- No local control

• Instead, we’ll splice together a curve from individual segments that are cubic Béziers

Page 87: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Complex curves

• Suppose we want to draw a more complex curve Why not use a high-order Bézier?

- Wiggly curves

- No local control

• Instead, we’ll splice together a curve from individual segments that are cubic Béziers Why cubic? - Lowest dimension with control for the second derivative - Lowest dimension for non-planar polynomial curves

Page 88: CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.

Next lecture

• Spline curve and more key frame interpolation