Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves

Similar presentations


Presentation on theme: "CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves"— Presentation transcript:

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

2 Outline Keyframe interpolation Curve representation and interpolation
- natural cubic curves - Hermite curves - Bezier curves Required readings: 12-6 & , & 14-7

3 Computer Animation Animation - making objects moving Compute animation
- the production of consecutive images, which, when displayed, convey a feeling of motion.

4 Animation Topics Rigid body simulation - bouncing ball
- millions of chairs falling down

5 Animation Topics Rigid body simulation - bouncing ball
- millions of chairs falling down Natural phenomenon - water, fire, smoke, mud, etc.

6 Animation Topics - articulated motion, e.g. full-body animation
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

7 Animation Topics - articulated motion, e.g. full-body animation
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

8 Animation Criterion - rigid body-simulation - character animation
Physically correct - rigid body-simulation - natural phenomenon Natural looking - character animation Expressive - cartoon animation

9 Keyframe Animation

10 Keyframe Interpolation
Key frame interpolation in after effects (Click here)

11 Spatial Key Framing Demo video (click here)

12 Keyframe Interpolation
t=50ms t=0 IK can be used to create Key poses

13 Keyframe Interpolation
t=50ms t=0 What’s the inbetween motion?

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

15 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

16 Animating a Bouncing Ball
Key frames

17 Animating Three Walking Steps
Key frames

18 Playing Basketball

19 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 producing Toy Story

20 3D Bouncing Ball

21 3D Jumping

22 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

23 A Keyframe In 2D animation, a keyframe is usually a single image
In 3D animation, each keyframe is defined by a set of parameters

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

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

26 Inbetween Frames Linear interpolation Cubic curve interpolation

27 Keyframe Interpolation
t=50ms t=0

28 Linear Interpolation Linearly interpolate the parameters between keyframes x1 x x0 t0 t t1

29 Linear Interpolation: Limitations
Requires a large number of key frames when the motion is highly nonlinear.

30 Cubic Curve Interpolation
We can use a cubic function to represent a 1D curve

31 Smooth Curves Controlling the shape of the curve

32 Smooth Curves Controlling the shape of the curve

33 Smooth Curves Controlling the shape of the curve

34 Smooth Curves Controlling the shape of the curve

35 Smooth Curves Controlling the shape of the curve

36 Smooth Curves Controlling the shape of the curve

37 Constraints on the cubics
How many points do we need to determine a cubic curve?

38 Constraints on the Cubic Functions
How many points do we need to determine a cubic curve?

39 Constraints on the Cubic Functions
How many points do we need to determine a cubic curve? 4

40 Constraints on the Cubic Functions
How many points do we need to determine a cubic curve? 4

41 Natural Cubic Curves Q(t1) Q(t2) Q(t3) Q(t4)

42 Interpolation Find a polynomial that passes through specified values

43 Interpolation Find a polynomial that passes through specified values

44 Interpolation Find a polynomial that passes through specified values

45 Interpolation Find a polynomial that passes through specified values

46 2D Trajectory Interpolation
Each point on the trajectory is associated with a time stamp t. Perform interpolation for each component separately Combine result to obtain parametric curve

47 2D Trajectory Interpolation
Each point on the trajectory is associated with a time stamp t. Perform interpolation for each component separately Combine result to obtain parametric curve

48 2D Trajectory Interpolation
Each point on the trajectory is associated with a time stamp t. Perform interpolation for each component separately Combine result to obtain parametric curve

49 Limitation? What’s the main limitation of interpolation using natural cubic curves?

50 Limitation? What’s the main limitation of interpolation using natural cubic curves? - does not provide local control of the curve

51 Constraints on the Cubic Curves
What’s the main limitation of interpolation using natural cubic curves? - does not provide local control of the curve

52 Constraints on the Cubic Curves
What’s the main limitation of interpolation using natural cubic curves? - does not provide local control of the curve Changes of any control point will change the shape of the whole curve!

53 Constraints on the Cubic Curves
What’s the main limitation of interpolation using natural cubic curves? - 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

54 Constraints on the cubic curves
What’s the main limitation of interpolation using natural cubic curves? - 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 MG

55 Constraints on the Cubic Curves
What’s the main limitation of interpolation using natural cubic curves? - 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 M G

56 Constraints on the Cubic Curves
What’s the main limitation of interpolation using natural cubic curves? - 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 M? G?

57 Two Issues How to select a new set of control points for local control of the curve? How to determine M? M?

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

59 Hermite Curve - endpoints P1 and P4 A Hermite curve is determined by
- tangent vectors R1 and R4 at the endpoints R1 P4 R4 P1

60 Hermite Curve - endpoints P1 and P4 A Hermite curve is determined by
- tangent vectors R1 and R4 at the endpoints Use these elements to control the curve, i.e. construct control vector R1 P4 R4 P1 Mh Gh 0<=t<=1

61 Hermite Basis Matrix - endpoints meet P1 and P4
Given desired constraints: - endpoints meet P1 and P4 Q(0) = [ ] · Mh · Gh = P1 Q(1) = [ ] · Mh · Gh = P4 - tangent vectors meet R1 and R4

62 Tangent Vectors

63 Tangent Vectors

64 Hermite Basis Matrix - endpoints meet P1 and P4
Given desired constraints: - endpoints meet P1 and P4 Q(0) = [ ] · Mh · Gh = P1 Q(1) = [ ] · Mh · Gh = P4 - tangent vectors meet R1 and R4 Q’(0) =[ ] · Mh · Gh =R1 Q’(1) =[ ] · Mh · Gh =R4

65 Hermite Basis Matrix - endpoints meet P1 and P4
Given desired constraints: - endpoints meet P1 and P4 Q(0) = [ ] · Mh · Gh = P1 Q(1) = [ ] · Mh · Gh = P4 - tangent vectors meet R1 and R4 Q’(0) =[ ] · Mh · Gh =R1 Q’(1) =[ ] · Mh · Gh =R4 So how to compute the basis matrix Mh?

66 Hermite Basis Matrix Taking them together
Q(0) = [ ] · Mh · Gh = P1 Q(1) = [ ] · Mh · Gh = P4 Q’(0) = [ ] · Mh · Gh = R1 Q’(1) = [ ] · Mh · Gh = R4

67 Hermite Basis Matrix We can solve for basis matrix Mh Mh

68 Hermite Basis Matrix We can solve for basis matrix Mh Mh

69 Hermite Basis Matrix P1 R1 P4 R4

70 Bezier Curve Indirectly specify tangent vectors by specifying two intermediate points P1 P3 P2 P4

71 Bezier Curve Indirectly specify tangent vectors by specifying two intermediate points P1 P3 P2 P4 The curve starts at P1 going towards P2 and Arrives at P4 coming from the direction P3 usually does not pass through P2 or P3; these points are only there to provide directional information.

72 Bezier Curve Indirectly specify tangent vectors by specifying two intermediate points P1 P3 P2 P4

73 Bezier Curve Indirectly specify tangent vectors by specifying two intermediate points P1 P3 P2 P4 How to compute the basis matrix Mb?

74 Bezier Basis Matrix Establish the relation between Hermite and Bezier control vectors

75 Bezier Basis Matrix Establish the relation between Hermite and Bezier control vectors

76 Bezier Basis Matrix Establish the relation between Hermite and Bezier control vectors Mhb Gb

77 Bezier Basis Matrix For Hermite curves, we have
For Bezier curves, we have

78 Bezier Basis Matrix For Hermite curves, we have
For Bezier curves, we have

79 Bezier Basis Matrix P2 P1 P4 P3

80 How to interpolate a 3D curve
y o x z

81 How to interpolate a 3D curve
y o x z Bezier curve

82 Bezier java applet Try this online at
- Move the interpolation point, see how the others (and the point on curve) move - Control points (can even make loops)

83 Different basis functions
Cubic curves: Hermite curves: Bezier curves:

84 Complex curves Suppose we want to draw a more complex curve

85 Complex curves Suppose we want to draw a more complex curve
How can we represent this curve?

86 Complex curves Suppose we want to draw a more complex curve
Why not use a high-order Bézier? - Wiggly curves - No local control

87 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

88 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

89 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

90 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

91 Next lecture Spline curve and more key frame interpolation


Download ppt "CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves"

Similar presentations


Ads by Google