SlideServe
Menu
Préférences
© SlideServe · v2026

Computer Animation Algorithms and Techniques

iona-herrera avatar
82 diapositives · 1.1K Views · Nov 30, 2014

Computer Animation Algorithms and Techniques. Interpolating Values. Animation. Animator specified interpolation key frame Algorithmically controlled Physics-based Behavioral Data-driven motion capture. Motivation. Common problem: given a set of points

Computer Animation Algorithms and Techniques - slide 1
01 / 82Computer Animation Algorithms and Techniques
1 / 17

Télécharger la présentation

Computer Animation Algorithms and Techniques
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Computer AnimationAlgorithms and Techniques Interpolating Values

  2. Animation Animator specified interpolation key frame Algorithmically controlled Physics-based Behavioral Data-driven motion capture

  3. Motivation Common problem: given a set of points Smoothly (in time and space) move an object through the set of points Example additional temporal constraints: From zero velocity at first point, smoothly accelerate until time t1, hold a constant velocity until time t2, then smoothly decelerate to a stop at the last point at time t3

  4. Motivation – solution steps 1. Construct a space curve that interpolates the given points with piecewise first order continuity p=P(u) 2. Construct an arc-length-parametric-value function for the curve u=U(s) s=S(t) 3. Construct time-arc-length function according to given constraints p=P(U(S(t)))

  5. Interpolating function Interpolation v. approximation Complexity: cubic Continuity: first degree (tangential) Local v. global control: local Information requirements: tangents needed?

  6. Interpolation v. Approximation

  7. Complexity Low complexity reduced computational cost Point of Inflection Can match arbitrary tangents at end points CUBIC polynomial

  8. Continuity

  9. Local v. Global Control

  10. Information requirements just the points tangents interior control points just beginning and ending tangents

  11. Curve Formulations Lagrange Polynomial Piecewise cubic polynomials Hermite Catmull-Rom Blended Parabolas Bezier B-spline Tension-Continuity-Bias 4-Point Form

  12. Lagrange Polynomial

  13. Lagrange Polynomial

  14. Polynomial Curve Formulations Need to match real-world data v. design from scratch Information requirements: just points? tangents? Qualities of final curve? Intuitive enough? Other shape controls? Blending Functions Algebraic coefficient matrix Geometric information Coefficient matrix

  15. Hermite

  16. Cubic Bezier Interior control points play the same role as the tangents of the Hermite formulation

  17. Blended Parabolas/Catmull-Rom* * End conditions are handled differently

  18. Controlling Motion along p=P(u) Step 2. Reparameterization by arc length u = U(s) where s is distance along the curve Step 3. Speed control for example, ease-in / ease-out s = ease(t) where t is time

  19. Reparameterizing by Arc Length Analytic Forward differencing Supersampling Adaptive approach Numerically Adaptive Gaussian

  20. Reparameterizing by Arc Length - analytic Can’t always be solved analytically for our curves

  21. Reparameterizing by Arc Length - supersample • Calculate a bunch of points at small increments in u • Compute summed linear distances as approximation to arc length • Build table of (parametric value, arc length) pairs • Notes • Often useful to normalize total distance to 1.0 • Often useful to normalize parametric value for multi-segment curve to 1.0

  22. Build table of approx. lengths

  23. Adaptive Approach How fine to sample? Compare successive approximations and see if they agree within some tolerance Test can fail – subdivide to predefined level, then start testing

  24. Reparameterizing by Arc Length - quadrature Lookup tables of weights and parametric values Can also take adaptive approach here

  25. Reparameterizing by Arc Length Analytic Forward differencing Supersampling Adaptive approach Numerically Adaptive Gaussian Sufficient for many problems

  26. Speed Control distance • Time-distance function • Ease-in • Cubic polynomial • Sinusoidal segment • Segmentedsinusoidal • Constant acceleration • General distance-time functions time

  27. Time Distance Function S s s = S(t) t

  28. Ease-in/Ease-out Function S s 1.0 s = S(t) 0.0 1.0 t 0.0 Normalize distance and time to 1.0 to facilitate reuse

  29. Ease-in: Sinusoidal

  30. Ease-in: Piecewise Sinusoidal

  31. Ease-in: Piecewise Sinusoidal where Provides linear (constant velocity) middle segment

  32. Ease-in: Single Cubic

  33. Ease-in: Constant Acceleration

  34. Ease-in: Constant Acceleration

  35. Ease-in: Constant Acceleration

  36. Ease-in: Constant Acceleration

  37. Constant Acceleration

  38. Motivation – solution steps 1. Construct a space curve that interpolates the given points with piecewise first order continuity p=P(u) 2. Construct an arc-length-parametric-value function for the curve u=U(s) s=S(t) 3. Construct time-arc-length function according to given constraints p=P(U(S(t)))

  39. Arbitrary Speed Control • Animators can work in: • Distance-time space curves • Velocity-time space curves • Acceleration-time space curves • Set time-distance constraints • etc.

  40. Curve fitting to distance-time pairs

  41. Working with time-distance curves

  42. Interpolating distance-time pairs

  43. Frenet Frame – control orientation

  44. Frenet Frame tangent & curvature vector

  45. Frenet Frame tangent & curvature vector

  46. Frenet Frame tangent & curvature vector

  47. Frenet Frame local coordinate system • Directly control orientation of object/camera • v is perpendicular to w if curve is parameterized by arclength; otherwise probably not perpendicular • For general curve must • v = wxu • Use for direction and bank into turn, especially for ground-planar curves (e.g. roads)

  48. Frenet Frame - undefined

  49. Frenet Frame - discontinuity

  50. Other ways to control orientation Use auxiliary curve to define direction or up vector Use point P(s+ds) for direction