Transforms

Transforms

Contains functions for transforming positions to various reference frames.

Source:

Members

<static> :EarthOrientationParameters

The source of Earth Orientation Parameters (EOP) data, used for computing the transformation between the Fixed and ICRF axes. By default, zero values are used for all EOP values, yielding a reasonable but not completely accurate representation of the ICRF axes.
See:

<static> :Iau2006XysData

The source of IAU 2006 XYS data, used for computing the transformation between the Fixed and ICRF axes.
See:

Methods

<static>

Computes a rotation matrix to transform a point or vector from the Earth-Fixed frame axes (ITRF) to the International Celestial Reference Frame (GCRF/ICRF) inertial frame axes at a given time. This function may return undefined if the data necessary to do the transformation is not yet loaded.

Parameters:
Name Type Argument Description
date JulianDate The time at which to compute the rotation matrix.
result Matrix3 <optional>
The object onto which to store the result. If this parameter is not specified, a new instance is created and returned.
Throws:
DeveloperError : date is required.
Returns:
Matrix3 The rotation matrix, or undefined if the data necessary to do the transformation is not yet loaded.
Example
// Transform a point from the ICRF axes to the Fixed axes.
var now = new JulianDate();
var pointInFixed = new Cartesian3(...);
var fixedToIcrf = Transforms.computeIcrfToFixedMatrix(now);
var pointInInertial;
if (typeof fixedToIcrf !== 'undefined') {
    pointInInertial = fixedToIcrf.multiplyByVector(pointInFixed);
}
See:

<static>

Computes a rotation matrix to transform a point or vector from the International Celestial Reference Frame (GCRF/ICRF) inertial frame axes to the Earth-Fixed frame axes (ITRF) at a given time. This function may return undefined if the data necessary to do the transformation is not yet loaded.

Parameters:
Name Type Argument Description
date JulianDate The time at which to compute the rotation matrix.
result Matrix3 <optional>
The object onto which to store the result. If this parameter is not specified, a new instance is created and returned.
Throws:
DeveloperError : date is required.
Returns:
Matrix3 The rotation matrix, or undefined if the data necessary to do the transformation is not yet loaded.
Example
//Set the view to the inertial frame.
function updateAndRender() {
    var now = new JulianDate();
    scene.initializeFrame();
    scene.setSunPosition(Simon1994PlanetaryPositions.ComputeSunPositionInEarthInertialFrame(now));
    var icrfToFixed = Transforms.computeIcrfToFixedMatrix(now);
    if (typeof icrfToFixed !== 'undefined') {
        scene.getCamera().transform = Matrix4.fromRotationTranslation(icrfToFixed, Cartesian3.ZERO);
    }
    scene.render();
    requestAnimationFrame(updateAndRender);
}
updateAndRender();
See:

<static>

Computes a rotation matrix to transform a point or vector from True Equator Mean Equinox (TEME) axes to the pseudo-fixed axes at a given time. This method treats the UT1 time standard as equivalent to UTC.

Parameters:
Name Type Argument Description
date JulianDate The time at which to compute the rotation matrix.
result Matrix3 <optional>
The object onto which to store the result.
Throws:
DeveloperError : date is required.
Returns:
Matrix3 The modified result parameter or a new Matrix3 instance if none was provided.
Example
//Set the view to in the inertial frame.
function updateAndRender() {
    var now = new JulianDate();
    scene.initializeFrame();
    scene.setSunPosition(Simon1994PlanetaryPositions.ComputeSunPositionInEarthInertialFrame(now));
    scene.getCamera().transform = Matrix4.fromRotationTranslation(Transforms.computeTemeToPseudoFixedMatrix(now), Cartesian3.ZERO);
    scene.render();
    requestAnimationFrame(updateAndRender);
}
updateAndRender();

<static>

Computes a 4x4 transformation matrix from a reference frame with an east-north-up axes centered at the provided origin to the provided ellipsoid's fixed reference frame. The local axes are defined as:

  • The x axis points in the local east direction.
  • The y axis points in the local north direction.
  • The z axis points in the direction of the ellipsoid surface normal which passes through the position.

Parameters:
Name Type Argument Default Description
origin Cartesian3 The center point of the local reference frame.
ellipsoid Ellipsoid <optional>
Ellipsoid.WGS84 The ellipsoid whose fixed frame is used in the transformation.
result Matrix4 <optional>
The object onto which to store the result.
Throws:
DeveloperError : origin is required.
Returns:
Matrix4 The modified result parameter or a new Matrix4 instance if none was provided.
Example
// Get the transform from local east-north-up at cartographic (0.0, 0.0) to Earth's fixed frame.
var ellipsoid = Ellipsoid.WGS84;
var center = ellipsoid.cartographicToCartesian(Cartographic.ZERO);
var transform = Transforms.eastNorthUpToFixedFrame(center);

<static>

Computes a 4x4 transformation matrix from a reference frame with an north-east-down axes centered at the provided origin to the provided ellipsoid's fixed reference frame. The local axes are defined as:

  • The x axis points in the local north direction.
  • The y axis points in the local east direction.
  • The z axis points in the opposite direction of the ellipsoid surface normal which passes through the position.

Parameters:
Name Type Argument Default Description
origin Cartesian3 The center point of the local reference frame.
ellipsoid Ellipsoid <optional>
Ellipsoid.WGS84 The ellipsoid whose fixed frame is used in the transformation.
result Matrix4 <optional>
The object onto which to store the result.
Throws:
DeveloperError : origin is required.
Returns:
Matrix4 The modified result parameter or a new Matrix4 instance if none was provided.
Example
// Get the transform from local north-east-down at cartographic (0.0, 0.0) to Earth's fixed frame.
var ellipsoid = Ellipsoid.WGS84;
var center = ellipsoid.cartographicToCartesian(Cartographic.ZERO);
var transform = Transforms.northEastDownToFixedFrame(center);

<static>

Transform a point from model coordinates to window coordinates.

Parameters:
Name Type Argument Description
modelViewProjectionMatrix Matrix4 The 4x4 model-view-projection matrix.
viewportTransformation Matrix4 The 4x4 viewport transformation.
point Cartesian3 The point to transform.
result Cartesian2 <optional>
The object onto which to store the result.
Throws:
Returns:
Cartesian2 The modified result parameter or a new Cartesian2 instance if none was provided.
See:

<static>

Preloads the data necessary to transform between the ICRF and Fixed axes, in either direction, over a given interval. This function returns a promise that, when resolved, indicates that the preload has completed.

Parameters:
Name Type Description
timeInterval TimeInterval The interval to preload.
Returns:
Promise A promise that, when resolved, indicates that the preload has completed and evaluation of the transformation between the fixed and ICRF axes will no longer return undefined for a time inside the interval.
Example
var interval = new TimeInterval(...);
when(preloadIcrfFixed(interval), function() {
    // the data is now loaded
});
See: