
 Usage

This class is used to interpolate a series of quaternions
representing the rotations of a 3D object. The interpolation
may be linear in form (using spherical linear interpolation
SLERP), or via spline interpolation (using SQUAD). In either
case the interpolation is specialized to quaternions since
the interpolation occurs on the surface of the unit
quaternion sphere.
To use this class, specify at least two pairs of (t,q[4])
with the AddQuaternion() method. Next interpolate the tuples
with the InterpolateQuaternion(t,q[4]) method, where "t"
must be in the range of (t_min,t_max) parameter values
specified by the AddQuaternion() method (t is clamped
otherwise), and q[4] is filled in by the method.
There are several important background references. Ken
Shoemake described the practical application of quaternions
for the interpolation of rotation (K. Shoemake, "Animating
rotation with quaternion curves", Computer Graphics
(Siggraph '85) 19(3):245&ndash;254, 1985). Another fine
reference (available on-line) is E. B. Dam, M. Koch, and M.
Lillholm, Technical Report DIKU-TR-98/5, Dept. of Computer
Science, University of Copenhagen, Denmark.
To create an instance of class vtkQuaternionInterpolator,
simply invoke its constructor as follows

    obj = vtkQuaternionInterpolator



 Methods

The class vtkQuaternionInterpolator has several methods that
can be used. They are listed below. Note that the
documentation is translated automatically from the VTK
sources, and may not be completely intelligible. When in
doubt, consult the VTK website. In the methods listed below,
obj is an instance of the vtkQuaternionInterpolator class.

* string = obj.GetClassName ()
* int = obj.IsA (string name)
* vtkQuaternionInterpolator = obj.NewInstance ()
* vtkQuaternionInterpolator = obj.SafeDownCast (vtkObject o)
* int = obj.GetNumberOfQuaternions () - Return the number of
  quaternions in the list of quaternions to be interpolated.
* double = obj.GetMinimumT () - Obtain some information
  about the interpolation range. The numbers returned
  (corresponding to parameter t, usually thought of as time)
  are undefined if the list of transforms is empty. This is
  a convenience method for interpolation.
* double = obj.GetMaximumT () - Obtain some information
  about the interpolation range. The numbers returned
  (corresponding to parameter t, usually thought of as time)
  are undefined if the list of transforms is empty. This is
  a convenience method for interpolation.
* obj.Initialize () - Reset the class so that it contains no
  data; i.e., the array of (t,q[4]) information is
  discarded.
* obj.AddQuaternion (double t, double q[4]) - Add another
  quaternion to the list of quaternions to be interpolated.
  Note that using the same time t value more than once
  replaces the previous quaternion at t. At least one
  quaternions must be added to define an interpolation
  functios.
* obj.RemoveQuaternion (double t) - Delete the quaternion at
  a particular parameter t. If there is no quaternion tuple
  defined at t, then the method does nothing.
* obj.InterpolateQuaternion (double t, double q[4]) -
  Interpolate the list of quaternions and determine a new
  quaternion (i.e., fill in the quaternion provided). If t
  is outside the range of (min,max) values, then t is
  clamped to lie within the range.
* obj.SetInterpolationType (int ) - Specify which type of
  function to use for interpolation. By default
  (SetInterpolationFunctionToSpline()), cubic spline
  interpolation using a modifed Kochanek basis is employed.
  Otherwise, if SetInterpolationFunctionToLinear() is
  invoked, linear spherical interpolation is used between
  each pair of quaternions.
* int = obj.GetInterpolationTypeMinValue () - Specify which
  type of function to use for interpolation. By default
  (SetInterpolationFunctionToSpline()), cubic spline
  interpolation using a modifed Kochanek basis is employed.
  Otherwise, if SetInterpolationFunctionToLinear() is
  invoked, linear spherical interpolation is used between
  each pair of quaternions.
* int = obj.GetInterpolationTypeMaxValue () - Specify which
  type of function to use for interpolation. By default
  (SetInterpolationFunctionToSpline()), cubic spline
  interpolation using a modifed Kochanek basis is employed.
  Otherwise, if SetInterpolationFunctionToLinear() is
  invoked, linear spherical interpolation is used between
  each pair of quaternions.
* int = obj.GetInterpolationType () - Specify which type of
  function to use for interpolation. By default
  (SetInterpolationFunctionToSpline()), cubic spline
  interpolation using a modifed Kochanek basis is employed.
  Otherwise, if SetInterpolationFunctionToLinear() is
  invoked, linear spherical interpolation is used between
  each pair of quaternions.
* obj.SetInterpolationTypeToLinear () - Specify which type
  of function to use for interpolation. By default
  (SetInterpolationFunctionToSpline()), cubic spline
  interpolation using a modifed Kochanek basis is employed.
  Otherwise, if SetInterpolationFunctionToLinear() is
  invoked, linear spherical interpolation is used between
  each pair of quaternions.
* obj.SetInterpolationTypeToSpline ()


* FreeMat_Documentation
* Visualization_Toolkit_Rendering_Classes
* Generated on Thu Jul 25 2013 17:18:35 for FreeMat by
  doxygen_ 1.8.1.1

