Class: QuaternionSpline

QuaternionSpline

new QuaternionSpline(options)

A spline that uses spherical quadrangle (squad) interpolation to create a quaternion curve. The generated curve is in the class C1.
Parameters:
Name Type Description
options Object Object with the following properties:
Properties
Name Type Attributes Description
times Array.<Number> An array of strictly increasing, unit-less, floating-point times at each point. The values are in no way connected to the clock time. They are the parameterization for the curve.
points Array.<Quaternion> The array of Quaternion control points.
firstInnerQuadrangle Quaternion <optional>
The inner quadrangle of the curve at the first control point. If the inner quadrangle is not given, it will be estimated.
lastInnerQuadrangle Quaternion <optional>
The inner quadrangle of the curve at the last control point. If the inner quadrangle is not given, it will be estimated.
Source:
See:
Throws:

Members

(readonly) innerQuadrangles :Array.<Quaternion>

An array of Quaternion inner quadrangles for the control points.
Type:
Source:

(readonly) points :Array.<Quaternion>

An array of Quaternion control points.
Type:
Source:

(readonly) times :Array.<Number>

An array of times for the control points.
Type:
  • Array.<Number>
Source:

Methods

evaluate(time, resultopt) → {Quaternion}

Evaluates the curve at a given time.
Parameters:
Name Type Attributes Description
time Number The time at which to evaluate the curve.
result Quaternion <optional>
The object onto which to store the result.
Source:
Throws:
time must be in the range [t0, tn], where t0 is the first element in the array times and tn is the last element in the array times.
Type
DeveloperError
Returns:
The modified result parameter or a new instance of the point on the curve at the given time.
Type
Quaternion

findTimeInterval(time) → {Number}

Finds an index i in times such that the parameter time is in the interval [times[i], times[i + 1]].
Parameters:
Name Type Description
time Number The time.
Source:
Throws:
time must be in the range [t0, tn], where t0 is the first element in the array times and tn is the last element in the array times.
Type
DeveloperError
Returns:
The index for the element at the start of the interval.
Type
Number