

































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An in-depth exploration of keyframe animation, focusing on keyframe channels, tangents, and cubic coefficients. Keyframe channels define the curves between keys using 1-d interpolation, usually piecewise hermite. Keyframes consist of time, value, tangent in, tangent out, and rules. Tangents determine the incoming and outgoing slopes of the curves and can be flat, linear, smooth, or specified using a step rule. Cubic coefficients are precomputed from tangents and other data to define the span between two successive keyframes. The document also covers the importance of keyframes in animation systems, curve fitting, and the matrix form of hermite curves.
Typology: Slides
1 / 41
This page cannot be seen from the preview
Don't miss anything!


































Time
Value
Tangent In
Tangent Out
Keyframe (time,value)
Keyframes are usually drawn so that the incoming tangent points to the left (earlier in time) The arrow drawn is just for visual representation and it should be remembered that if the two arrows are exactly opposite, that actually means the tangents are the same! Also remember that we are only dealing with 1D curves now, so the tangent really just a slope
Keyframes can be generated automatically from sampled data such as motion capture This process is called ‘curve fitting’, as it involves finding curves that fit the data reasonably well Fitting algorithms allow the user to specify tolerances that define the acceptable quality of the fit This allows two way conversion between keyframe and raw formats, although the data might get slightly distorted with each translation
Rather than store explicit numbers for tangents, it is often more convenient to store a ‘rule’ and recompute the actual tangent as necessary Usually, separate rules are stored for the incoming and outgoing tangents Common rules for Hermite tangents include: Flat (tangent = 0) Linear (tangent points to next/last key) Smooth (automatically adjust tangent for smooth results) Fixed (user can arbitrarily specify a value) Remember that the tangent equals the rate of change of the DOF (or the velocity) Note: I use ‘v’ for tangents (velocity) instead of ‘t’ which is used for time
Flat tangents are particularly useful for making ‘slow in’ and ‘slow out’ motions (acceleration from a stop and deceleration to a stop)
1
out
2 0
2 0 1 1 t t
p p v v
in out −
− = =
(p 2 ,t 2 )
(p 0 ,t 0 )
Keep in mind that this won’t work on the first or last tangent (just use the linear rule)
Occasionally, one comes across the ‘step’ tangent rule This is a special case that just forces the entire span to a constant This requires hacking the cubic coefficients (a=b=c=0, d=p 0 ) It can only be specified on the outgoing tangent and it nullifies whatever rule is on the next incoming tangent
v 1
p 1 p 0
v 0
t 0 =0 t 1 =
1
0
1
0
1
0
1
0
−
1
0
1
0
1
0
1
0
1
v
v
p
p
d
c
b
a
v
v
p
p
d
c
b
a