CtAitiComputer Animation Algorithms And .

2y ago
15 Views
2 Downloads
1.07 MB
82 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Ronan Garica
Transcription

ComputerCt AnimationA i tiAlgorithms and TechniquesInterpolating ValuesRick ParentComputer Animation

AnimationAnimator specifiedinterpolationkey frameAlgorithmically n captureRick ParentComputer Animation

MotivationCommon problem: given a set of pointsSmoothly (in time and space) move an objectthrough the set of pointsExampleEl additionaldditil temporaltl constraints:t i tFrom zero velocity at first point, smoothlyaccelerate until time t1, hold a constantvelocity until time t2, then smoothlydecelerate to a stop at the last point at time t3Rick ParentComputer Animation

Motivation – solution steps11. ConstructC t t a space curve ththattinterpolates the given points withpiecewise first order continuity2. Construct an arc-length-parametricvaluel functionfti forf theth curve33. Construct timetime-arc-lengtharc length functionaccording to given constraintsp P(u)u U(s)uU(s)ss S(t)S(t)p P(U(S(t)))Rick ParentComputer Animation

Interpolating functionInterpolation v. approximationComplexity: cubicContinuity: first degree (tangential)Local v. global control: localInformation requirements: tangents needed?Rick ParentComputer Animation

Interpolation v. ApproximationRick ParentComputer Animation

ComplexityLow complexityreduced computational costPoint of InflectionCan match arbitrary tangents atend pointsCUBIC polynomialRick ParentComputer Animation

ContinuityRick ParentComputer Animation

LLocall v. GlobalGl b l ControlC t lRick ParentComputer Animation

Information requirementsjust the pointstangentsinterior control pointsjust beginning andending tangentsRick ParentComputer Animation

Curve FormulationsLagrange PolynomialPiecewise cubic polynomialsHermiteCatmull-RomBlended ParabolasBezierB-splineTension Continuity BiasTension-Continuity-Bias4-Point FormRick ParentComputer Animation

LagrangeLPolynomialRick Parentx xkPj ( x) y j k 1 x j xkxk jComputer Animation

LagrangeLPolynomialRick Parentx xkPj ( x) y j k 1 x j xkxk jComputer Animation

Polynomial Curve FormulationsNeed to match realreal-worldworld data v. design from scratchInformation requirements: just points? tangents?Qualities of final curve?BlendingIntuitive enough?FunctionsOther shape controls?P U MB FB U AT[u3u2Rick Parent]u efficientmatrixComputer Animation

HermiteP [uRick Parent3u21.0 pi 2.0 2.0 1.0 3.0 3.0 2.0 1.0 p i 1 u 1 0.00 .01.00.0 pi ' 0 .00.00.0 pi 1 1.0 1 ' ]Computer Animation

Cubic BezierP [u3u23.0 3.0 1 .0 3.0 6.0 3.0u 1 3 .0 3 .00.0 0.00.0 1 .0]1.0 pi 0.0 pi 1 0.0 pi 2 0.0 pi 3 3 Interior control points playthe same role as the tangentsof the Hermite formulationRick ParentComputer Animation

Blended Parabolas/Catmull-RomParabolas/Catmull Rom*P [u3u2 0.5 1.5 1.5 0.5 pi 1 1 p 2.52 0.5i u 1 0.500.50 pi 1 100 pi 2 0 2 ]* End conditions are handled differentlyRick ParentComputer Animation

Controllingg Motionalong p P(u)Stepp 2. Reparameterizationpbyy arc lengthgu U(s)where s is distance along the curveStep 3. Speed controlfor example, ease-in / ease-outs ease(t)where t is timeRick ParentComputer Animation

Reparameterizing by Arc LengthAnalyticForward differencingSupersamplingAdaptive approachNumericallyAdaptive GaussianRick ParentComputer Animation

Reparameterizingpg byyArc Length - analyticP (u ) au 3 bu 2 cu du2s dP / duu1dudP / du (dx(u ) / du dy (u ) / du dz (u ) / du )dP / du (dx(u ) / du ) (dy (u ) / du ) (dx(u ) / du )222Can’t alwaysy be solved analyticallyyy for our curvesRick ParentComputer Animation

ReparameterizingRt i i bby AArcLength - supersample1.Calculate a bunch of points at small increments in u2.Compute summed linear distances as approximation to arclength3.Build table of (parametric value, arc length) pairsNotes1.Often useful to normalize total distance to 1.02.Often useful to normalize parametric value formulti-segment curve to 1.0Rick ParentComputer Animation

Buildt bl oftablefapprox.lengthsRick Parenti dindexu00 000.00ArcALength0 0000.00010.050.08020.100.15030.150.230.201 001.001 0001.000Computer Animation

Adaptive ApproachHow fine to sample?Compare successiveapproximationsppand seeif they agree within sometoleranceTest can fail – subdivide topredefined level, then start testingRick ParentComputer Animation

Reparameterizingpg byy ArcLength - quadrature 1 1f (u )du wi f (ui )iP(u ) au 3 bu 2 cu d 1 1Au Bu Cu Du E432Lookup tables of weights and parametric valuesCan also take adaptive approach hereRick ParentComputer Animation

Reparameterizing by Arc LengthAnalyticForward differencingSupersamplingAdaptive approachNumericallyAdaptive GaussianSufficient for many problemsRick ParentComputer Animation

SSpeedd CControlt ldistanceTime-distance functionEase-inEaseinCubic polynomialSinusoidal segmentSegmented sinusoidalConstant accelerationGeneral distance-time functionsRick ParenttimeComputer Animation

Time Distance FunctionSss S(t)tRick ParentComputer Animation

Ease in/Ease out FunctionEase-in/Ease-outsS1.0s S(t)0.00.0101.0tNormalize distance and time to 1.0 to facilitate reuseRick ParentComputer Animation

EEase-in:i SiSinusoidalid ls ease(t ) (sin(tπ π / 2 ) 1) / 2Rick ParentComputer Animation

Ease-in:Easn Piecewisec w s SinusoidalS nuso aRick ParentComputer Animation

Ease-in:Easn Piecewisec w s SinusoidalS nuso atπ π(k1 (sin( )) / fπ2k1 22ease(t ) t k1k1k1( t k1) / fπ /2k12π (t k 2 )( k 2 k1 (1 k 2 ) sin()) / fπ /2π2(1 k 2 )wherehf k12π k 2 k1 (1 k 2 ) t k 2k2 t2πP id linearProvidesli(constant(t t velocity)l it ) middleiddl segmenttRick ParentComputer Animation

EEase-in:i SingleSi l CCubicbis ease(t ) 2t 3t3Rick Parent2Computer Animation

EEase-in:i CConstantt t AccelerationAltiRick ParentComputer Animation

EEase-in:i CConstantt t AccelerationAltiRick ParentComputer Animation

EEase-in:i CConstantt t AccelerationAltiRick ParentComputer Animation

EEase-in:i CConstantt t AccelerationAltiRick ParentComputer Animation

Constant Accelerationt2d v02t1t1d v0 v0 (t t1 )2t1(t t 2 )d v0 v0 (t 2 t1 ) v0 (1 )(t t 2 )22(1 t 2 )Rick Parent0.0 t t1t1 t t 2t 2 t 1.0Computer Animation

Motivation – solution steps11. ConstructC t t a space curve ththattinterpolates the given points withpiecewise first order continuity2. Construct an arc-length-parametricvaluel functionfti forf theth curve33. Construct timetime-arc-lengtharc length functionaccording to given constraintsp P(u)u U(s)uU(s)ss S(t)S(t)p P(U(S(t)))Rick ParentComputer Animation

Arbitrary Speed ControlA i tAnimatorscan workk iin:Distance-time space curvesVelocity-time space curvesAcceleration-time space curvesS t tiSettime-distancedi tconstraintst i tetc.Rick ParentComputer Animation

Curve fittingg to distance-time ppairsRick ParentComputer Animation

WorkingWki withithtime-distancecurvesRick ParentComputer Animation

Interpolating distance-timedistance time pairsRick ParentComputer Animation

Frenet Frame – control orientationRick ParentComputer Animation

Frenet Frametangent & curvature vectorRick ParentComputer Animation

Frenet Frametangent & curvature vectorP(u ) UMBP' (u ) P' ' (u ) [U uRick Parent3u2]u 1Computer Animation

Frenet Frametangent & curvature vectorP(u ) UMBP' (u ) U ' MBP' ' (u ) U ' ' MB[U ' [3uU u3u22]u 12u 1 0U ' ' [6u 2 0 0]Rick Parent]Computer Animation

Fr n t FramFrenetFramelocal coordinate system Directly control orientation ofobject/camera Use for direction and bankinto turn, especially forground-planar curves (e.g.roads)Rick Parent v is perpendicular to w if curveis parameterized by arclength;otherwise probably notperpendicular For general curve mustv wxuComputer Animation

Frenet Frame - undefinedRick ParentComputer Animation

Frenet Frame - discontinuityRick ParentComputer Animation

Other ways to control orientationUse auxiliary curve to define direction or up vectorUse point P(s ds) for directionRick ParentComputer Animation

Direction & Up vectorv uxwwu w x y-axisTo keep ‘headhead up’up , use y-axisto compute over and upvectors perpendicular todi ti vectordirectiontIf up vectort supplied,li d usethat instead of y-axisDirection vectorRick ParentComputer Animation

Orientation interpolationPreliminary note:1. Remember that Rot q (v) Rotkq (v)2 Affects of scale are divided out by the inverse2.appearing in quaternion rotation3.When interpolating quaternions, use UNIT quaternions– otherwisethi magnitudesit d can interferei t fwithith spacingi offresults of interpolationRick ParentComputer Animation

Orientation interpolationQuaternions can be interpolated to produce in-betweenorientations:i t tiq (1 k )q1 kq22 problems analogous to issues when interpolatingpositions:1. How to take equi-distantequi distant steps along orientationpath?2. How to pass through orientations smoothly (1storder continuous)3. And another particular to quaternions: with dualuniti quaternioni representations,iwhichhi h to use?Rick ParentComputer Animation

DualrepresentationRot q (v) Rot kq (v)Dual unit quaternionrepresentationsFor Interpolation between q1 and q2, compute cosine betweenq1 and q2 and between q1 and –q2;q2; choose smallest angleRick ParentComputer Animation

Interpolating quaternionsUnit quaternions form set of points on 4D sphereLinearly interpolating unit quaternions: not equally spacedRick ParentComputer Animation

Interpolating quaternions ingreatt arc equall spacingiRick ParentComputer Animation

Interpolating quaternionswith equal spacingsin(1 u )θsin uθslerp(q1 , q2 , u ) q1 q2sin θsin θwhereq1 q2 cos θ‘slerp’, sphereical linear interpolation is a function of the beginning quaternion orientation, q1 the ending quaternion orientation, q2 the interpolant, uRick ParentComputer Animation

Smooth Orientation interpolationUse quaternionsInterpolate along great arc (in 4-space) using cubic Bezier onsphere1 Select1.Srepresentationi to use fromfduals2. Construct interior control points for cubic Bezierj construction of cubic Bezier3. use DeCastelajueRick ParentComputer Animation

SSmoothth quaternionti iinterpolationtl tiSimilar to first order continuitydesires with positionalinterpolationHow to smoothly interpolatethrough orientations q1, q2,q3, qnBezier interpolation – geometricconstructionRick ParentComputer Animation

B i iinterpolationBeziertl tiRick ParentComputer Animation

Construct interiorcontrol pointsB i iinterpolationBeziertl titnbnpnpnpn-1anpn 2pnn-11anpn 1pn 2pn 1pnpn-1anpn 2pn 1bn 1an 1p1tn 1Rick Parenta0p0p2Computer Animation

Q tQuaternioni operatorstbisect(q1, q2)q2qbSimilar to forming a vectorbetween 2 ppoints,, form therotation between 2 orientationsdouble(q1, q2)Given 2 orientations, form resultoff applyingl i rotationt ti betweenb tthethtwo to 2nd orientationRick Parentq1q2q1qdComputer Animation

Quaternion operators:Qpdouble( p, q ) rGiven p and q, form r‘Double’ where qq’ is the midorientation between p and the yetto-be-determined rIf p and q are unit quaternions,Then q’ cos(θ)q and cos(θ) pqq’p qθθq ' cos((θ )q ( p q )qdouble( p, q ) r q ' (q ' p ) 2( p q )q pbisect ( p, r ) qBisect 2 orientations:if p and r are unit lengthRick ParentGiven p and r, form qbisect ( p, r ) p r qp rComputer Animationr

B i iinterpolationBeziertl tiNeed quaternion-friendly operatorsto form interior control pointsRick ParentComputer Animation

B i iinterpolationBeziertl titnan bisect (double( pn 1 , pn ), pn 1 )pnpn-1Construct interiorcontrol pointsanpn 2bnpnpn 1bn double(an , qn )pn-1anpn 2pn 1pnpn-11anpn 2pn 1bn 1an 1Bezier segment:qn, an, bn 1, qn 1tn 1Rick ParentComputer Animation

Bezierz r constructconstructionon usingus ngquaternion operatorsNeed quaternion-friendly operations to interpolatecubic Bezier curve using ‘quaternion’ pointsde Casteljau geometric construction algorithmRick ParentComputer Animation

Bezierz r constructconstructionon usingus ngquaternion operators For p(1/3)t1 slerp(qn, an,1/3)t2 slerp(an, bn 1,1/3)t3 slerp(bn 1, qn 1,1/3)1/3)Rick Parentt12 slerp(t1, t2,1/3)t23 slerp(t12, t23,1/3)q slerp(t12, t23,1/3)Computer Animation

Working with pathsSmoothing a pathDetermining a path along a surfaceFinding downhill directionRick ParentComputer Animation

Smoothing dataRick ParentComputer Animation

Smoothing dataRick ParentComputer Animation

Smoothing dataRick ParentComputer Animation

Smoothing dataRick ParentComputer Animation

Smoothing dataRick ParentComputer Animation

Smoothing dataRick ParentComputer Animation

Smoothing dataRick ParentComputer Animation

Smoothing dataRick ParentComputer Animation

Smoothing dataRick ParentComputer Animation

Smoothing dataRick ParentComputer Animation

Smoothing dataRick ParentComputer Animation

SmoothinghdataRick ParentComputer Animation

Pathh findingfRick ParentComputer Animation

Pathh findingf- downhillh llRick ParentComputer Animation

CtAitiComputer Animation Algorithms and TechniquesAlgorithms and Techniques Interpolating ValuesInterpolating Values Rick Parent Computer Animation. Animation . Rick Parent Computer Animation. Orientation interpolation Quaternions can be interpolated to produce in-between

Related Documents:

1. Traditional Animation - Cel Animation or hand drawn Animation 2. Stop Motion Animation – Puppet Animation, Clay Animation, Cut-out Animation, Silhouette Animation, Model Animation, Object Animation etc. 3. Computer Animation – 2D Animation, 3D Animation Unit-2: The 12 basic

Here you'll use the Create Time Layer Animation dialog box to create a time layer animation in the display, using a feature class layer as input. 1. If the Animation toolbar isn't present, click View, Point to Toolbars and click Animation. 2. Click Animation and click Create Time Layer Animation.

gamedesigninitiative at cornell university the Animation Basics: The FilmStrip 2 2D Animation Animation is a sequence of hand-drawn frames Smoothly displays action when change quickly Also called flipbook animation Arrange animation in a sprite sheet (one texture) Software chooses which frame to use at any time So programmer is actually the one doing animation

3D character animation teaches students the basic principles of char- acter animation and applies them to their own 3D work. Projects will let students to review and reinforce skills learned in pre-request courses, which includes 3D Animation software and animation workflow. In this course students will learn the essential principles of animation.

4.1 Action design in 2D animation Because of its plane characteristics, two-dimensional(2D), animation can often use more exaggeration than three-dimensional(3D) animation. The exaggeration of character modelling in two-dimensional(2D) animation has evolved from imitating real characters and animals for a long time.

an interest in animation techniques such as hand drawn or stop-frame, and use of design software such as Photoshop or more advanced 3D modelling for Animation (VFX). Include character animation in any technique where possible. 3D modeling is particularly relevant for Animation (VFX). Creature designs are encouraged, particularly for Animation .

Second Animation Press the button to create a new animation in Blender Name the animation "Standing" and press the shield icon Delete the existing keyframes (A, X, Delete Keyframes) Ensure that Standing animation is selected Pose Clear Transform All Create animation as previous. Add head bob in middle

business cases, using the Five Case Model – in a scalable and proportionate way. It recognises and aligns with other best practice in procurement and the delivery of programmes and projects. Experience has demonstrated that when this guidance is embedded in public sector organisations, better more effective and efficient spending decisions and implementation plans are produced. At the same .