Computer Animation Algorithms and Techniques Chapter 4 Interpolation-based animation.

Post on 04-Jan-2016

287 views 7 download

Tags:

Transcript of Computer Animation Algorithms and Techniques Chapter 4 Interpolation-based animation.

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