Engines that Interpolate Values
115
When P and Q are pointed in opposite directions, they are on opposite sides of the unit
sphere, and therefore all arcs connecting them on the unit sphere are the same length, so
an infinite number of arcs describe the shortest path between the two points. The
interpolation can be along any one of these arcs.
csNormalInterpolator contains the following fields:
csMFVec3f* keyValue() const;
csMFVec3f value
keyValue() contains the vectors used for the normal interpolation. The number of
elements stored in the value field is equal to the number of elements in the keyValue()
field divided by the number of elements in the key field.
For a further explanation of keyValue(), see, “Interpolator Engine Terminology” on
page 111.
csOrientationInterpolator
A csOrientationInterpolator interpolates between two rotations by computing the
shortest path on the unit sphere between the two rotations. The interpolation will be
linear in arc length along this path.
If two vectors are pointed in opposite directions, they are on opposite sides of the unit
sphere and therefore all arcs connecting them on the unit sphere are the same length, so
an infinite number of arcs describe the shortest path between the two points. The
interpolation can be along any one of these arcs.
csOrientationInterpolator contains the following fields:
csMFRotation* keyValue() const;
csSFRotation value
keyValue() contains the keys used for the coordinate interpolation. The number of
elements stored in the value field is equal to the number of elements in the keyValue()
field divided by the number of elements in the key field.
For more information about keyValue(), see, “Interpolator Engine Terminology” on
page 111.