870 likes | 904 Views
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. Computer Animation. Animation
E N D
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
Computer Animation • Animation - making objects moving • Compute animation - the production of consecutive images, which, when displayed, convey a feeling of motion.
Animation Topics • Rigid body simulation - bouncing ball - millions of chairs falling down
Animation Topics • Rigid body simulation - bouncing ball - millions of chairs falling down • Natural phenomenon - water, fire, smoke, mud, etc.
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
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
Animation Criterion • Physically correct - rigid body-simulation - natural phenomenon • Natural - character animation • Expressive - cartoon animation
Keyframe Interpolation t=50ms t=0 What’s the inbetween motion?
Outline • Process of keyframing • Key frame interpolation • Hermite and bezier curve • Splines • Speed control
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
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
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
A Keyframe • In 2D animation, a keyframe is usually a single image • In 3D animation, each keyframe is defined by a set of parameters
Keyframe Parameters What are the parameters? • position and orientation • body deformation • facial features • hair and clothing • lights and cameras
Outline • Process of keyframing • Key frame interpolation • Hermite and bezier curve • Splines • Speed control
Inbetween Frames • Linear interpolation • Cubic curve interpolation
Keyframe Interpolation t=50ms t=0
Linear Interpolation • Linearly interpolate the parameters between keyframes x1 x x0 t0 t1 t
Linear Interpolation: Limitations • Requires a large number of key frames when the motion is highly nonlinear.
Cubic Curve Interpolation • We can use a cubic function to represent a 1D curve
Smooth Curves • Controlling the shape of the curve
Smooth Curves • Controlling the shape of the curve
Smooth Curves • Controlling the shape of the curve
Smooth Curves • Controlling the shape of the curve
Smooth Curves • Controlling the shape of the curve
Smooth Curves • Controlling the shape of the curve
Constraints on the cubics • How many constraints do we need to determine a cubic curve?
Constraints on the Cubic Functions • How many constraints do we need to determine a cubic curve?
Constraints on the Cubic Functions • How many constraints do we need to determine a cubic curve?4
Constraints on the Cubic Functions • How many constraints do we need to determine a cubic curve?4
Constraints on the Cubic Functions • How many constraints do we need to determine a cubic curve? 4
Natural Cubic Curves Q(t1) Q(t2) Q(t3) Q(t4)
Interpolation • Find a polynomial that passes through specified values
Interpolation • Find a polynomial that passes through specified values
Interpolation • Find a polynomial that passes through specified values
Interpolation • Find a polynomial that passes through specified values
Interpolation • Find a polynomial that passes through specified values
2D Trajectory Interpolation • Perform interpolation for each component separately • Combine result to obtain parametric curve
2D Trajectory Interpolation • Perform interpolation for each component separately • Combine result to obtain parametric curve
2D Trajectory Interpolation • Perform interpolation for each component separately • Combine result to obtain parametric curve
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
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
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
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
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?
Outline • Process of keyframing • Key frame interpolation • Hermite and bezier curve • Splines • Speed control
Hermite Curve • A Hermite curve is determined by - endpoints P1 and P4 - tangent vectors R1 and R4 at the endpoints R1 P4 R4 P1
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