Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Quaternion
    • Quaternion

Index

Constructors

constructor

  • new Quaternion(x?: number, y?: number, z?: number, w?: number): Quaternion
  • Parameters

    • Optional x: number
    • Optional y: number
    • Optional z: number
    • Optional w: number

    Returns Quaternion

Properties

w

w: number

The W component.

x

x: number

The X component.

y

y: number

The Y component.

z

z: number

The Z component.

Static Readonly IDENTITY

IDENTITY: Quaternion

An immutable Quaternion instance initialized to (0.0, 0.0, 0.0, 1.0).

Static Readonly ZERO

ZERO: Quaternion

An immutable Quaternion instance initialized to (0.0, 0.0, 0.0, 0.0).

Static packedInterpolationLength

packedInterpolationLength: number

The number of elements used to store the object into an array in its interpolatable form.

Static packedLength

packedLength: number

The number of elements used to pack the object into an array.

Methods

clone

  • clone(result?: Quaternion): Quaternion
  • Duplicates this Quaternion instance.

    Parameters

    • Optional result: Quaternion

    Returns Quaternion

    The modified result parameter or a new Quaternion instance if one was not provided.

equals

  • equals(right?: Quaternion): boolean
  • Compares this and the provided quaternion componentwise and returns true if they are equal, false otherwise.

    Parameters

    • Optional right: Quaternion

    Returns boolean

    true if left and right are equal, false otherwise.

equalsEpsilon

  • equalsEpsilon(right?: Quaternion, epsilon?: number): boolean
  • Compares this and the provided quaternion componentwise and returns true if they are within the provided epsilon, false otherwise.

    Parameters

    • Optional right: Quaternion
    • Optional epsilon: number

    Returns boolean

    true if left and right are within the provided epsilon, false otherwise.

toString

  • toString(): string
  • Returns a string representing this quaternion in the format (x, y, z, w).

    Returns string

    A string representing this Quaternion.

Static add

  • add(left: Quaternion, right: Quaternion, result: Quaternion): Quaternion
  • Computes the componentwise sum of two quaternions.

    Parameters

    • left: Quaternion

      The first quaternion.

    • right: Quaternion

      The second quaternion.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static clone

  • clone(quaternion: Quaternion, result?: Quaternion): Quaternion
  • Duplicates a Quaternion instance.

    Parameters

    • quaternion: Quaternion

      The quaternion to duplicate.

    • Optional result: Quaternion

    Returns Quaternion

    The modified result parameter or a new Quaternion instance if one was not provided. (Returns undefined if quaternion is undefined)

Static computeAngle

  • computeAngle(quaternion: Quaternion): number
  • Computes the angle of rotation of the provided quaternion.

    Parameters

    • quaternion: Quaternion

      The quaternion to use.

    Returns number

    The angle of rotation.

Static computeAxis

  • computeAxis(quaternion: Quaternion, result: Cartesian3): Cartesian3
  • Computes the axis of rotation of the provided quaternion.

    Parameters

    • quaternion: Quaternion

      The quaternion to use.

    • result: Cartesian3

      The object onto which to store the result.

    Returns Cartesian3

    The modified result parameter.

Static computeInnerQuadrangle

  • computeInnerQuadrangle(q0: Quaternion, q1: Quaternion, q2: Quaternion, result: Quaternion): Quaternion
  • Computes an inner quadrangle point.

    This will compute quaternions that ensure a squad curve is C1.

    Parameters

    • q0: Quaternion

      The first quaternion.

    • q1: Quaternion

      The second quaternion.

    • q2: Quaternion

      The third quaternion.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static conjugate

  • conjugate(quaternion: Quaternion, result: Quaternion): Quaternion
  • Computes the conjugate of the provided quaternion.

    Parameters

    • quaternion: Quaternion

      The quaternion to conjugate.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static convertPackedArrayForInterpolation

  • convertPackedArrayForInterpolation(packedArray: number[], startingIndex?: number, lastIndex?: number, result?: number[]): void
  • Converts a packed array into a form suitable for interpolation.

    Parameters

    • packedArray: number[]

      The packed array.

    • Optional startingIndex: number
    • Optional lastIndex: number
    • Optional result: number[]

    Returns void

Static divideByScalar

  • divideByScalar(quaternion: Quaternion, scalar: number, result: Quaternion): Quaternion
  • Divides the provided quaternion componentwise by the provided scalar.

    Parameters

    • quaternion: Quaternion

      The quaternion to be divided.

    • scalar: number

      The scalar to divide by.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static dot

  • dot(left: Quaternion, right: Quaternion): number
  • Computes the dot (scalar) product of two quaternions.

    Parameters

    • left: Quaternion

      The first quaternion.

    • right: Quaternion

      The second quaternion.

    Returns number

    The dot product.

Static equals

  • equals(left?: Quaternion, right?: Quaternion): boolean
  • Compares the provided quaternions componentwise and returns true if they are equal, false otherwise.

    Parameters

    • Optional left: Quaternion
    • Optional right: Quaternion

    Returns boolean

    true if left and right are equal, false otherwise.

Static equalsEpsilon

  • equalsEpsilon(left?: Quaternion, right?: Quaternion, epsilon?: number): boolean
  • Compares the provided quaternions componentwise and returns true if they are within the provided epsilon, false otherwise.

    Parameters

    • Optional left: Quaternion
    • Optional right: Quaternion
    • Optional epsilon: number

    Returns boolean

    true if left and right are within the provided epsilon, false otherwise.

Static exp

  • exp(cartesian: Cartesian3, result: Quaternion): Quaternion
  • The exponential quaternion function.

    Parameters

    • cartesian: Cartesian3

      The cartesian.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static fastSlerp

  • fastSlerp(start: Quaternion, end: Quaternion, t: number, result: Quaternion): Quaternion
  • Computes the spherical linear interpolation or extrapolation at t using the provided quaternions. This implementation is faster than {@link Quaternion#slerp}, but is only accurate up to 10-6.

    Parameters

    • start: Quaternion

      The value corresponding to t at 0.0.

    • end: Quaternion

      The value corresponding to t at 1.0.

    • t: number

      The point along t at which to interpolate.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static fastSquad

  • fastSquad(q0: Quaternion, q1: Quaternion, s0: Quaternion, s1: Quaternion, t: number, result: Quaternion): Quaternion
  • Computes the spherical quadrangle interpolation between quaternions. An implementation that is faster than {@link Quaternion#squad}, but less accurate.

    Parameters

    • q0: Quaternion

      The first quaternion.

    • q1: Quaternion

      The second quaternion.

    • s0: Quaternion

      The first inner quadrangle.

    • s1: Quaternion

      The second inner quadrangle.

    • t: number

      The time in [0,1] used to interpolate.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter or a new instance if none was provided.

Static fromAxisAngle

  • fromAxisAngle(axis: Cartesian3, angle: number, result?: Quaternion): Quaternion
  • Computes a quaternion representing a rotation around an axis.

    Parameters

    • axis: Cartesian3

      The axis of rotation.

    • angle: number

      The angle in radians to rotate around the axis.

    • Optional result: Quaternion

    Returns Quaternion

    The modified result parameter or a new Quaternion instance if one was not provided.

Static fromHeadingPitchRoll

  • fromHeadingPitchRoll(headingPitchRoll: HeadingPitchRoll, result?: Quaternion): Quaternion
  • Computes a rotation from the given heading, pitch and roll angles. Heading is the rotation about the negative z axis. Pitch is the rotation about the negative y axis. Roll is the rotation about the positive x axis.

    Parameters

    • headingPitchRoll: HeadingPitchRoll

      The rotation expressed as a heading, pitch and roll.

    • Optional result: Quaternion

    Returns Quaternion

    The modified result parameter or a new Quaternion instance if none was provided.

Static fromRotationMatrix

  • fromRotationMatrix(matrix: Matrix3, result?: Quaternion): Quaternion
  • Computes a Quaternion from the provided Matrix3 instance.

    Parameters

    • matrix: Matrix3

      The rotation matrix.

    • Optional result: Quaternion

    Returns Quaternion

    The modified result parameter or a new Quaternion instance if one was not provided.

Static inverse

  • inverse(quaternion: Quaternion, result: Quaternion): Quaternion
  • Computes the inverse of the provided quaternion.

    Parameters

    • quaternion: Quaternion

      The quaternion to normalize.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static lerp

  • lerp(start: Quaternion, end: Quaternion, t: number, result: Quaternion): Quaternion
  • Computes the linear interpolation or extrapolation at t using the provided quaternions.

    Parameters

    • start: Quaternion

      The value corresponding to t at 0.0.

    • end: Quaternion

      The value corresponding to t at 1.0.

    • t: number

      The point along t at which to interpolate.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static log

  • log(quaternion: Quaternion, result: Cartesian3): Cartesian3
  • The logarithmic quaternion function.

    Parameters

    • quaternion: Quaternion

      The unit quaternion.

    • result: Cartesian3

      The object onto which to store the result.

    Returns Cartesian3

    The modified result parameter.

Static magnitude

  • magnitude(quaternion: Quaternion): number
  • Computes magnitude for the provided quaternion.

    Parameters

    • quaternion: Quaternion

      The quaternion to conjugate.

    Returns number

    The magnitude.

Static magnitudeSquared

  • magnitudeSquared(quaternion: Quaternion): number
  • Computes magnitude squared for the provided quaternion.

    Parameters

    • quaternion: Quaternion

      The quaternion to conjugate.

    Returns number

    The magnitude squared.

Static multiply

  • multiply(left: Quaternion, right: Quaternion, result: Quaternion): Quaternion
  • Computes the product of two quaternions.

    Parameters

    • left: Quaternion

      The first quaternion.

    • right: Quaternion

      The second quaternion.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static multiplyByScalar

  • multiplyByScalar(quaternion: Quaternion, scalar: number, result: Quaternion): Quaternion
  • Multiplies the provided quaternion componentwise by the provided scalar.

    Parameters

    • quaternion: Quaternion

      The quaternion to be scaled.

    • scalar: number

      The scalar to multiply with.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static negate

  • negate(quaternion: Quaternion, result: Quaternion): Quaternion
  • Negates the provided quaternion.

    Parameters

    • quaternion: Quaternion

      The quaternion to be negated.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static normalize

  • normalize(quaternion: Quaternion, result: Quaternion): Quaternion
  • Computes the normalized form of the provided quaternion.

    Parameters

    • quaternion: Quaternion

      The quaternion to normalize.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static pack

  • pack(value: Quaternion, array: number[], startingIndex?: number): number[]
  • Stores the provided instance into the provided array.

    Parameters

    • value: Quaternion

      The value to pack.

    • array: number[]

      The array to pack into.

    • Optional startingIndex: number

    Returns number[]

    The array that was packed into

Static slerp

  • slerp(start: Quaternion, end: Quaternion, t: number, result: Quaternion): Quaternion
  • Computes the spherical linear interpolation or extrapolation at t using the provided quaternions.

    Parameters

    • start: Quaternion

      The value corresponding to t at 0.0.

    • end: Quaternion

      The value corresponding to t at 1.0.

    • t: number

      The point along t at which to interpolate.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static squad

  • squad(q0: Quaternion, q1: Quaternion, s0: Quaternion, s1: Quaternion, t: number, result: Quaternion): Quaternion
  • Computes the spherical quadrangle interpolation between quaternions.

    example

    // 1. compute the squad interpolation between two quaternions on a curve var s0 = Cesium.Quaternion.computeInnerQuadrangle(quaternions[i - 1], quaternions[i], quaternions[i + 1], new Cesium.Quaternion()); var s1 = Cesium.Quaternion.computeInnerQuadrangle(quaternions[i], quaternions[i + 1], quaternions[i + 2], new Cesium.Quaternion()); var q = Cesium.Quaternion.squad(quaternions[i], quaternions[i + 1], s0, s1, t, new Cesium.Quaternion());

    // 2. compute the squad interpolation as above but where the first quaternion is a end point. var s1 = Cesium.Quaternion.computeInnerQuadrangle(quaternions[0], quaternions[1], quaternions[2], new Cesium.Quaternion()); var q = Cesium.Quaternion.squad(quaternions[0], quaternions[1], quaternions[0], s1, t, new Cesium.Quaternion());

    Parameters

    • q0: Quaternion

      The first quaternion.

    • q1: Quaternion

      The second quaternion.

    • s0: Quaternion

      The first inner quadrangle.

    • s1: Quaternion

      The second inner quadrangle.

    • t: number

      The time in [0,1] used to interpolate.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static subtract

  • subtract(left: Quaternion, right: Quaternion, result: Quaternion): Quaternion
  • Computes the componentwise difference of two quaternions.

    Parameters

    • left: Quaternion

      The first quaternion.

    • right: Quaternion

      The second quaternion.

    • result: Quaternion

      The object onto which to store the result.

    Returns Quaternion

    The modified result parameter.

Static unpack

  • unpack(array: number[], startingIndex?: number, result?: Quaternion): Quaternion
  • Retrieves an instance from a packed array.

    Parameters

    • array: number[]

      The packed array.

    • Optional startingIndex: number
    • Optional result: Quaternion

    Returns Quaternion

    The modified result parameter or a new Quaternion instance if one was not provided.

Static unpackInterpolationResult

  • unpackInterpolationResult(array: number[], sourceArray: number[], firstIndex?: number, lastIndex?: number, result?: Quaternion): Quaternion
  • Retrieves an instance from a packed array converted with convertPackedArrayForInterpolation.

    Parameters

    • array: number[]

      The array previously packed for interpolation.

    • sourceArray: number[]

      The original packed array.

    • Optional firstIndex: number
    • Optional lastIndex: number
    • Optional result: Quaternion

    Returns Quaternion

    The modified result parameter or a new Quaternion instance if one was not provided.