AnimationConventional AnimationComputer-Assisted AnimationSlide 4OverviewKeyframingInterpolating PositionsLinear InterpolationPolynomial InterpolationSpline InterpolationSlide 11Slide 12Hermite SplinesSlide 14Interpolating Key FramesTraditional Animation PrinciplesSquash and stretchTimingAnticipationArticulated ModelsForward KinematicsSkeleton HierarchySlide 23Inverse KinematicsReal IK ProblemOptimizationUnconstrained OptimizationNumerical SolutionGradient ComputationConstrained OptimizationExampleNonlinear ProgrammingDifferential ConstraintsIK with Differential ConstraintsQuadratic ProgramKinematics vs. DynamicsNextLecture 10 Slide 1 6.837 Fall 2003AnimationLecture 10 Slide 2 6.837 Fall 2003Conventional AnimationDraw each frame of the animationgreat controltediousReduce burden with cel animationlayerkeyframeinbetweencel panoramas (Disney’s Pinocchio)...ACM © 1997 “Multiperspective panoramas for cel animation”Lecture 10 Slide 3 6.837 Fall 2003Computer-Assisted AnimationKeyframing automate the inbetweeninggood controlless tediouscreating a good animationstill requires considerable skilland talentProcedural animationdescribes the motion algorithmicallyexpress animation as a function of small number of parameteresExample: a clock with second, minute and hour handshands should rotate togetherexpress the clock motions in terms of a “seconds” variablethe clock is animated by varying the seconds parameterExample 2: A bouncing ballAbs(sin(t+0))*e-ktACM © 1987 “Principles of traditional animation applied to 3D computer animation”Lecture 10 Slide 4 6.837 Fall 2003Computer-Assisted AnimationPhysically Based AnimationAssign physical properties to objects (masses, forces, inertial properties) Simulate physics by solving equationsRealistic but difficult to controlMotion CaptureCaptures style, subtle nuances and realismYou must observe someone do somethingACM© 1988 “Spacetime Constraints”Lecture 10 Slide 5 6.837 Fall 2003OverviewHermite SplinesKeyframingTraditional PrinciplesArticulated ModelsForward KinematicsInverse KinematicsOptimizationDifferential ConstraintsLecture 10 Slide 6 6.837 Fall 2003KeyframingDescribe motion of objects as a function of time from a set of key object positions. In short, compute the inbetween frames.ACM © 1987 “Principles of traditional animation applied to 3D computer animation”( )s tLecture 10 Slide 7 6.837 Fall 2003Interpolating PositionsGiven positions:find curve such that( , , ), 0, ,i i ix y t i n= K� �=� �� �( )( )( )x tty tC� �=� �� �( )iiixtyC0u0 0 0( , , )x y t1 1 1( , , )x y t2 2 2( , , )x y t( )tCLecture 10 Slide 8 6.837 Fall 2003Linear InterpolationSimple problem: linear interpolation between first two points assuming :The x-coordinate for the complete curve in the figure:0 0 0( , , )x y t1 1 1( , , )x y t2 2 2( , , )x y t)010 1 0 11 0 1 02 11 2 1 22 1 2 1, ,( ), ,t tt tx x t t tt t t tx tt t t tx x t t tt t t t--�+ ����- -�=�- -�+ �� �� ��- -�0 1=0 and =1t t( )= - +0 1( ) 1x t x t x tDerivation?Lecture 10 Slide 9 6.837 Fall 2003Polynomial InterpolationAn n-degree polynomial can interpolate any n+1 points. The Lagrange formula gives the n+1 coefficients of an n-degree polynomial that interpolates n+1 points. The resulting interpolating polynomials are called Lagrange polynomials. On the previous slide, we saw the Lagrange formula for n = 1. 0 0 0( , , )x y t1 1 1( , , )x y t2 2 2( , , )x y tparabolaLecture 10 Slide 10 6.837 Fall 2003Spline InterpolationLagrange polynomials of small degree are fine but high degree polynomials are too wiggly. How many n-degree polynomials interpolate n+1 points?( )x ttt t8-degree polynomialspline spline vs. polynomialLecture 10 Slide 11 6.837 Fall 2003Spline InterpolationLagrange polynomials of small degree are fine but high degree polynomials are too wiggly. Spline (piecewise cubic polynomial) interpolation produces nicer interpolation.( )x ttt t8-degree polynomialspline spline vs. polynomialLecture 10 Slide 12 6.837 Fall 2003Spline InterpolationA cubic polynomial between each pair of points:Four parameters (degrees of freedom) for each spline segment.Number of parameters:n+1 points n cubic polynomials 4n degrees of freedomNumber of constraints:interpolation constraintsn+1 points 2 + 2 (n-1) = 2n interpolation constraints“endpoints” + “each side of an internal point”rest by requiring smooth velocity, acceleration, etc.2 30 1 2 3( )x t c c t c t c t= + + +Lecture 10 Slide 13 6.837 Fall 2003Hermite SplinesWe want to support general constraints: not just smooth velocity and acceleration. For example, a bouncing ball does not always have continuous velocity:Solution: specify position AND velocity at each pointDerivation? = = =0 1 2 3 0 0 0 1 1 1, , , ? for , : and , :c c c c x v t t x v t tLecture 10 Slide 14 6.837 Fall 2003KeyframingGiven keyframesfind curves such thatWhat are parameters ?position, orientation, size, visibility, …Interpolate each curve separately( )= =K K0 1, , , , 0, ,i i i iK p p t i n( )( )� �� �=� �� �� �M01( )p tt p tK( )i it =K KK0 1, ,i ip pLecture 10 Slide 15 6.837 Fall 2003Interpolating Key FramesInterpolation is not fool proof. The splines may undershoot and cause interpenetration. The animator must also keep an eye out for these types of side-effects.Lecture 10 Slide 16 6.837 Fall 2003Traditional Animation PrinciplesThe in-betweening, was once a job for apprentice animators. We described the automatic interpolation techniques that accomplish these tasks automatically. However, the animator still has to draw the key frames. This is an art form and precisely why the experienced animators were spared the in-betweening work even before automatic techniques.The classical paper on animation by John Lasseter from Pixar surveys some the standard animation techniques: "Principles of Traditional Animation Applied to 3D Computer Graphics,“ SIGGRAPH'87, pp. 35-44.Lecture 10 Slide 17 6.837 Fall 2003Squash and stretchSquash: flatten an object or character by pressure or by its own powerStretch: used to increase the sense of speed and emphasize the squash by contrastLecture 10 Slide 18 6.837 Fall 2003TimingTiming affects weight:Light object move quicklyHeavier objects move slowerTiming completely changes the interpretation of the motion. Because
View Full Document