Lecture 13 Slide 1 6.837 Fall 2002AnimationLecture 13 6.837 Fall 2002Computer AnimationAnimation MethodsKeyframingInterpolationKinematicsInverse KinematicsSlides courtesy of Leonard McMillan and Jovan PopovicLecture 13 Slide 3 6.837 Fall 2002AdministrativeAssignment 6 is due Monday 28 at 5pm Ray tracing Shading Shadow, reflection, refraction SupersamplingOffice hours Durand Thursday 4-6pm in 4-035 Ngan Thursday 4-7 in W20-575 Teller Friday 3-5 in W20-575 Ngan Monday 10-12 NE43-256 Durand Monday 2-4pm in NE43-254Final project Deadline for team building: Friday Nov 1 Brainstorming session on ThursdayLecture 13 Slide 4 6.837 Fall 2002Conventional AnimationDraw each frame of the animation great control tediousReduce burden with cel animation layer keyframe inbetween cel panoramas (Disney’s Pinocchio) ...ACM © 1997 “Multiperspective panoramas for cel animation”Lecture 13 Slide 5 6.837 Fall 2002Computer-Assisted AnimationKeyframing automate the inbetweening good control less tedious creating a good animationstill requires considerable skilland talentProcedural animation describes the motion algorithmically express animation as a function of small number of parameteres Example: a clock with second, minute and hour hands hands should rotate together express the clock motions in terms of a “seconds” variable the clock is animated by varying the seconds parameter Example 2: A bouncing ball Abs(sin(ωt+θ0))*e-ktACM © 1987 “Principles of traditional animation applied to 3D computer animation”Lecture 13 Slide 6 6.837 Fall 2002Computer-Assisted AnimationPhysically Based Animation Assign physical properties to objects (masses, forces, inertial properties) Simulate physics by solving equations Realistic but difficult to controlMotion Capture Captures style, subtle nuances and realism You must observe someone do somethingACM© 1988 “Spacetime Constraints”Lecture 13 Slide 7 6.837 Fall 2002OverviewKeyframing and interpolationInterpolation of rotations, quaternionsKimematrics, articulationPhysisally-based simulation & particlesLecture 13 Slide 8 6.837 Fall 2002KeyframingDescribe 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”()stLecture 13 Slide 9 6.837 Fall 2002Interpolating PositionsGiven positions:find curve such that(,,), 0,,iiixyt i n=K=()()()xttytC=()iiixtyC0u000(,,)xyt111(,,)xyt222(,,)xyt()tCLecture 13 Slide 10 6.837 Fall 2002Linear InterpolationSimple problem: linear interpolation between first two points assuming :The x-coordinate for the complete curve in the figure:000(,,)xyt111(,,)xyt222(,,)xyt)01010110 1021121221 21, ,(), ,ttttxxttttt ttxttt ttxxttttt tt−−+∈−−=−−+∈−−01=0 and =1tt()=−+01() 1xt x t xtLecture 13 Slide 11 6.837 Fall 2002Polynomial 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. 000(,,)xyt111(,,)xyt222(,,)xytparabolaLecture 13 Slide 12 6.837 Fall 2002Spline InterpolationLagrange polynomials of small degree are fine but high degree polynomials are too wiggly. How many n-degree polynomials interpolate n+1 points?()xtttt8-degree polynomial spline spline vs. polynomialLecture 13 Slide 13 6.837 Fall 2002Spline InterpolationLagrange polynomials of small degree are fine but high degree polynomials are too wiggly. Spline (piecewise cubic polynomial) interpolation produces nicer interpolation.()xtttt8-degree polynomial spline spline vs. polynomialLecture 13 Slide 14 6.837 Fall 2002Spline 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 continuous velocityn+1 points ⇒ n-1 velocity constraints (one for each interior point) continuous accelerationn+1 points ⇒ n-1 acceleration constraints (one for each interior point)2301 2 3()xt c ct ct ct=++ +Lecture 13 Slide 15 6.837 Fall 2002Interpolation of PositionsSolve an optimization to set remaining degrees of freedom:()()dofmax qualitysubject to constraintstC()()dofmin badnesssubject to constraintstC≡()()()()badness qualitytt=−CCWe want to support general constraints: not just smooth velocity and acceleration. For example, a bouncing ball does not always have continuous velocity:Lecture 13 Slide 16 6.837 Fall 2002Interpolating AnglesGiven anglesfind curve such that(,), 0, ,iiti nθ=K()tθ()iitθθ=0θ1θ2θ2θAngle interpolation is ambiguous. Different angle measurements will produce different motion:Lecture 13 Slide 17 6.837 Fall 2002KeyframingGiven keyframesfind curve such thatInterpolate each parameter separately(),,, , 0,,iiiiiKxyti nθ== K()()()()xttyttθ=K()iit=KKLecture 13 Slide 18 6.837 Fall 2002Interpolating 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 13 Slide 19 6.837 Fall 2002Traditional 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 Pixarsurveys some the standard animation techniques: "Principles of Traditional Animation Applied to 3D ComputerGraphics,“ SIGGRAPH'87, pp. 35-44.Lecture 13 Slide 20 6.837 Fall 2002Squash 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 13 Slide 21 6.837 Fall 2002TimingTiming
View Full Document