Animation-C4-Interpolation-Based-Animation

Keywords: Interpolation, Quaternion, pipeline

This is the Chapter4 ReadingNotes from book Computer Animation_ Algorithms and Techniques_ Parent-Elsevier (2012).

Key-frame systems

interpolation

It is common for such systems to provide an interactive interface with which the animator can specify the key values and can control the interpolation curve by manipulating tangents or interior control points.

interpolation between point vs between curves

How to interpolate shapes(curves) between key frames?

  1. If both curves were generated with the same type of interpolation information, for example, each is a single, cubic Bezier curve, then intermediate curves could be generated by interpolating the control points and reapplying the Bezier interpolation.

  2. Another alternative would be to use interpolating functions to generate the same number of points on both curves. These points could then be interpolated on a point-by-point basis.

  3. Although these interpolations get the job done, they might not provide sufficient
    control to a user who has specific ideas about how the intermediate curves should look.

interpolation curves using points constraints method

Animation languages

Artist-oriented animation languages

The simple animation language are following examples are from ANIMA II:

1
2
3
4
set position<name><x><y><z>at frame<number>
set rotation<name>[X,Y,Z] to<angle>at frame<number>
change position<name>to<x><y><z>from frame<number>to frame<number>
change rotation<name>[X,Y,Z] by<angle>from frame<number>to frame<number>

One example of such a system is AutoDesk’s Maya. The scripting language is called MEL and there is an associated animation language whose scripts are referred to as expressions [36].

During the first frame, translation values for the objects are initialized.

For each subsequent frame, two of the sphere’s translation values are set as a function of the frame number and the z-rotation of slab is set as a function of the sphere’s z-translation value.

1
2
3
4
5
6
7
8
9
10
if (frame == 1) {
slab1.translateY=0;
sphere1.translateX=-25;
sphere1.translateY=15;
}
else {
sphere1.translateX=25*sin(frame/100);
sphere1.translateZ=25*cos(frame/100) - 25;
slab1.rotateZ=10*sphere1.translateZ + 90;
}

Articulation variables

Then a script, or other type of animation system, when it needs a value of the variable in its computation, passes the time variable to the function, which returns its value for that time to the computation. This technique goes by a variety of names, such as track, channel, or articulation variable.

Graphical languages

hodini-dataflow

Actor-based animation languages

Actor-based languages are an object-oriented approach to animation in which an actor (encapsulated model [24]) is a graphical object with its associated data and procedures, including geometric description, display attributes, and motion control.

Deforming objects

Picking and pulling

Deforming an embedding space

Three-dimensional shape interpolation

Matching topology

Star-shaped polyhedra

Axial slices

Map to sphere

Recursive subdivision

Morphing (two-dimensional)

Coordinate grid approach

Feature-based morphing

Chapter summary

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×