# 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.
Name Type Description
options Object Object with the following properties:
Name Type 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.

### Members

#### readonlyinnerQuadrangles :Array.<Quaternion>

An array of Quaternion inner quadrangles for the control points.

#### readonlypoints :Array.<Quaternion>

An array of Quaternion control points.

#### readonlytimes :Array.<Number>

An array of times for the control points.

### Methods

#### evaluate(time, result) → Quaternion

Evaluates the curve at a given time.
Name Type Description
time Number The time at which to evaluate the curve.
result Quaternion optional The object onto which to store the result.
##### Returns:
The modified result parameter or a new instance of the point on the curve at the given time.
##### Throws:
• DeveloperError : 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.

#### findTimeInterval(time) → Number

Finds an index i in times such that the parameter time is in the interval [times[i], times[i + 1]].
Name Type Description
time Number The time.
##### Returns:
The index for the element at the start of the interval.
##### Throws:
• DeveloperError : 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.