computer animation algorithms and techniques chapter 4 interpolation-based animation
TRANSCRIPT
Computer AnimationAlgorithms and Techniques
Chapter 4Interpolation-based animation
Interpolation based animation
• Key-frame systems – in general
• Interpolating shapesDeforming an single shape3D interpolation between two shapesMorphing – deforming an image
Keyframing – interpolating values
Keyframing
• keys, in-betweens• track-based• Avars – articulation variables
Sample interface for specifying interpolation of key values and tangents as segment boundaries.
Keyframing curves
Time-Curve interpolation
Implement using surface patch technology
Two key frames showing a curve to be interpolated.
Time-Curve interpolation
Establish point correspondence
Time-Curve interpolation
Define time – space-curve “patches”
Interpolate in one dimension for curve (spatially)Interpolate in other dimension temporally
Object interpolation
1. Modify shape of object interpolate vertices of different shapes
Correspondence problemInterpolation problem
2. Interpolate one object into second object
3. Interpolate one image into second image
Object Modification
Vertex warping
2D grid-based deforming
Skeletal bending
Free Form Deformations
Modify the vertices directly
OR
Modify the space the vertices lie in
Global transforms
Warping
Power functionsFor attenuating warping effects
1
1
)1
0.1(
)1
(0.1)(
k
k
n
in
iiS
0
0
k
k
Space Warping
Deform the object by deforming the space it is in
Two main techniques: Nonlinear Deformation Free Form Deformation (FFD)
Independent of object representation
2D grid-based deforming
AssumptionEasier to deform grid points than object vertices
2D grid-based deforming
Inverse bilinear mapping (determine u,v from points)
2D grid-based deforming
Global Transformations
ppMp )('
Mpp 'Common linear transform of space
In GT, Transform is a function of where you are in space
Global Transformations
Global Transformations
Global Transformations
z below zmin: no rotation
z between zmin ,zmax : Rotate from 0 to Q
z above zmin: rotate Q
Compound global transformations
Nonlinear Global Deformation
Objects are defined in a local object space
Deform this space using a combination of: Non-uniform Scaling Tapering Twisting Bending
Nonlinear Global Deformation
Nonlinear Global Deformation
Good for modeling [Barr 87]
Animation is harder
Free Form Deformation (FFD)
Deform space by deforming a lattice around an object
The deformation is defined by moving the control points
Imagine it as if the object were encased in rubber
Free Form Deformation (FFD)
The lattice defines a Bezier volume
ijk
ijk wBvBuBwvu )()()(),,( pQ
Compute lattice coordinates
Alter the control points
Compute the deformed points
),,( wvu
ijkp
),,( wvuQ
),,( wvu
),,( wvu
FFD Example
FFD Example
Free-Form Deformations: Continuity
As in Bezier curve interpolationContinuity controlled by coplanarity of control points
FFDs: alternate grid organizations
FFDs: Bulging & Bending
FFDs:hierarchical
FFDs – as tools to design shapes
FFD Animation
Animate a reference and a deformed latticereference deformed morphed
FFDs Animate by passing over object
FFD Animation
Animate the object through the latticereference deformed morphed
FFDs
Animate by passing object through FFD
FFDs Exo-muscular systemSkeleton -> changes FFD -> changes skin
FFD: Examples
From “Fast Volume-Preserving Free Form DeformationUsing Multi-Level Optimization” appeared in ACM Solid Modelling ‘99
FFD: Examples
From “Fast Volume-Preserving Free Form DeformationUsing Multi-Level Optimization” appeared in ACM Solid Modelling ‘99
FFD: Examples
From “Fast Volume-Preserving Free Form DeformationUsing Multi-Level Optimization” appeared in ACM Solid Modelling ‘99
Interpolate between 2 objects
Correspondence problem: what part of one object to map into what part of the other object.
Some surface-based approachesSlice along one dimension; interpolate in other twoMap both to sphereRecursively divide into panels
How to handle objects of different genus?Volumetric approaches with remeshing
Object interpolation
Object interp.
Object interpolation
For cylinder-like objects
Object interpolation
1. Map to sphere2. Intersect arc-edges3. Re-triangulate4. Remap to object shapes5. Vertex-to-vertex interpolation
Spherical mapping to establish matching edge-vertex topology