CPSC 441 Computer Graphics: Keyframe AnimationSmooth Curves - PowerPoint PPT Presentation

1 / 88
About This Presentation
Title:

CPSC 441 Computer Graphics: Keyframe AnimationSmooth Curves

Description:

Cartoon animation. Animation criterion. Physically correct ... Suppose we want to draw a more complex curve. How can we represent this curve? Complex curves ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 89
Provided by: jch63
Category:

less

Transcript and Presenter's Notes

Title: CPSC 441 Computer Graphics: Keyframe AnimationSmooth Curves


1
CPSC 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 HB 8-8,8-9, 8-10

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
  • 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
  • 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
  • Physically correct
  • - rigid body-simulation
  • - natural phenomenon
  • Natural
  • - character animation
  • Expressive
  • - cartoon animation

9
Animation criterion
  • Physically correct
  • - rigid body-simulation
  • - natural phenomenon
  • Natural
  • - character animation
  • Expressive
  • - cartoon animation

10
Keyframe animation
11
Outline
  • Process of keyframing
  • Key frame interpolation
  • Hermite and bezier curve
  • Splines
  • Speed control

12
Oldest keyframe animation
  • Two conditions to make moving images in 19th
    century
  • at least 10 frames per second
  • a period of blackness between images

13
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

14
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

15
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

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

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

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

19
Inbetween frames
  • Linear interpolation
  • Cubic curve interpolation

20
Linear interpolation
  • Linearly interpolate the parameters between
    keyframes

21
Cubic curve interpolation
  • We can use three cubic functions to represent a
    3D curve
  • Each function is defined with the range 0 lt t
    lt1

22
Compact representation
23
Compact representation
24
Smooth Curves
  • Controlling the shape of the curve

25
Smooth Curves
  • Controlling the shape of the curve

26
Smooth Curves
  • Controlling the shape of the curve

27
Smooth Curves
  • Controlling the shape of the curve

28
Smooth Curves
  • Controlling the shape of the curve

29
Smooth Curves
  • Controlling the shape of the curve

30
Constraints on the cubics
  • How many constraints do we need to determine a
    cubic curve?

31
Constraints on the cubics
  • How many constraints do we need to determine a
    cubic curve?

32
Constraints on the cubic functions
  • How many constraints do we need to determine a
    cubic curve?

33
Constrains on the cubic functions
  • How many constraints do we need to determine a
    cubic curve?

34
Constrains on the cubic functions
  • How many constraints do we need to determine a
    cubic curve? 4

35
Natural cubic curves
36
Interpolation
  • Find a polynomial that passes through specified
    values

37
Interpolation
  • Find a polynomial that passes through specified
    values

38
Interpolation
  • Find a polynomial that passes through specified
    values

39
Interpolation
  • Find a polynomial that passes through specified
    values

40
Interpolation
  • Find a polynomial that passes through specified
    values

41
Interpolation
  • Perform interpolation for each component
    separately
  • Combine result to obtain parametric curve

42
Interpolation
  • Perform interpolation for each component
    separately
  • Combine result to obtain parametric curve

43
Interpolation
  • Perform interpolation for each component
    separately
  • Combine result to obtain parametric curve

44
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

45
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

46
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

MG
47
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

M
G
48
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

M?
G?
49
Outline
  • Process of keyframing
  • Key frame interpolation
  • Hermite and bezier curve
  • Splines
  • Speed control

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

R1
P4
R4
P1
51
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

R1
P4
R4
P1
Mh
Gh
52
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

53
Tangent vectors
54
Tangent vectors
55
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

56
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?
57
Hermite basis matrix
  • We can solve for basis matrix Mh

Mh
58
Hermite basis matrix
  • We can solve for basis matrix Mh

Mh
59
Hermite basis matrix
60
Hermite basis function
  • Lets define B as a product of T and M
  • Bh(t) indicates the weight of each element in Gh

61
Bezier curve
  • Indirectly specify tangent vectors by specifying
    two intermediate points

R1
P2
P3
P4
P1
R2
62
Bezier curve
  • Indirectly specify tangent vectors by specifying
    two intermediate points

R1
P2
P3
P4
P1
R4
63
Bezier curve
  • Indirectly specify tangent vectors by specifying
    two intermediate points

R1
P2
P3
P4
P1
R4
How to compute the basis matrix Mb?
64
Bezier basis matrix
  • Establish the relation between Hermite and Bezier
    control vectors

65
Bezier basis matrix
  • Establish the relation between Hermite and Bezier
    control vectors

66
Bezier basis matrix
  • Establish the relation between Hermite and Bezier
    control vectors

Mhb
Gb
67
Bezier basis matrix
  • For Hermite curves, we have
  • For Bezier curves, we have

68
Bezier basis matrix
  • For Hermite curves, we have
  • For Bezier curves, we have

69
Bezier basis matrix
P2
P1
P4
P3
70
Hermite basis function
  • Lets define B as a product of T and M
  • Bh(t) indicates the weight of each element in Gh

71
Hermite basis function
  • Lets define B as a product of T and M
  • Bh(t) indicates the weight of each element in Gh

Whats function of this red curve?
72
Hermite basis function
  • Lets define B as a product of T and M
  • Bh(t) indicates the weight of each element in Gh

Whats function of this red curve? 2t3-3t21
73
Bezier basis functions
  • Bezier blending functions are also called
    Bernstein polynomials

74
Bezier basis functions
  • Bezier blending functions are also called
    Bernstein polynomials

Whats function of this red curve?
75
Bezier basis functions
  • Bezier blending functions are also called
    Bernstein polynomials

Whats function of this red curve? -t33t2-3t1
76
Bezier basis functions
  • Bezier blending functions are also called
    Bernstein polynomials

Whats function of this red curve? -t33t2-3t1
77
How to interpolate a 3D curve
y
x
o
z
78
How to interpolate a 3D curve
y
x
o
z
Bezier curve
79
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)

http//www.cse.unsw.edu.au/lambert/splines/
80
Different basis functions
  • Cubic curves
  • Hermite curves
  • Bezier curves

81
Complex curves
  • Suppose we want to draw a more complex curve

82
Complex curves
  • Suppose we want to draw a more complex curve

How can we represent this curve?
83
Complex curves
  • Suppose we want to draw a more complex curve
  • Why not use a high-order Bézier?
  • - Wiggly curves
  • - No local control

84
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, well splice together a curve from
    individual segments that are cubic Béziers

85
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, well splice together a curve from
    individual segments that are cubic Béziers

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
  • Instead, well splice together a curve from
    individual segments that are cubic Béziers

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, well 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

88
Next lecture
  • Spline curve and more key frame interpolation
Write a Comment
User Comments (0)
About PowerShow.com