-
staticCesium.Transforms.computeFixedToIcrfMatrix(date, result) → Matrix3
-
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.
Name |
Type |
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. |
Returns:
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 = Cesium.JulianDate.now();
var pointInFixed = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
var fixedToIcrf = Cesium.Transforms.computeIcrfToFixedMatrix(now);
var pointInInertial = new Cesium.Cartesian3();
if (Cesium.defined(fixedToIcrf)) {
pointInInertial = Cesium.Matrix3.multiplyByVector(fixedToIcrf, pointInFixed, pointInInertial);
}
See:
-
staticCesium.Transforms.computeIcrfToFixedMatrix(date, result) → Matrix3
-
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.
Name |
Type |
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. |
Returns:
The rotation matrix, or undefined if the data necessary to do the
transformation is not yet loaded.
Example:
scene.preRender.addEventListener(function(scene, time) {
var icrfToFixed = Cesium.Transforms.computeIcrfToFixedMatrix(time);
if (Cesium.defined(icrfToFixed)) {
var offset = Cesium.Matrix4.multiplyByPoint(camera.transform, camera.position, new Cesium.Cartesian3());
var transform = Cesium.Matrix4.fromRotationTranslation(icrfToFixed)
var inverseTransform = Cesium.Matrix4.inverseTransformation(transform, new Cesium.Matrix4());
Cesium.Matrix4.multiplyByPoint(inverseTransform, offset, offset);
camera.lookAtTransform(transform, offset);
}
});
See:
-
staticCesium.Transforms.computeTemeToPseudoFixedMatrix(date, result) → Matrix3
-
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.
Name |
Type |
Description |
date |
JulianDate
|
The time at which to compute the rotation matrix. |
result |
Matrix3
|
optional
The object onto which to store the result. |
Returns:
The modified result parameter or a new Matrix3 instance if none was provided.
Example:
//Set the view to in the inertial frame.
scene.preRender.addEventListener(function(scene, time) {
var now = Cesium.JulianDate.now();
var offset = Cesium.Matrix4.multiplyByPoint(camera.transform, camera.position, new Cesium.Cartesian3());
var transform = Cesium.Matrix4.fromRotationTranslation(Cesium.Transforms.computeTemeToPseudoFixedMatrix(now));
var inverseTransform = Cesium.Matrix4.inverseTransformation(transform, new Cesium.Matrix4());
Cesium.Matrix4.multiplyByPoint(inverseTransform, offset, offset);
camera.lookAtTransform(transform, offset);
});
-
staticCesium.Transforms.headingPitchRollQuaternion(origin, headingPitchRoll, ellipsoid, fixedFrameTransformOrResult, result) → Quaternion
-
Computes a quaternion from a reference frame with axes computed from the heading-pitch-roll angles
centered at the provided origin. Heading is the rotation from the local north
direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles
are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis.
Name |
Type |
Default |
Description |
origin |
Cartesian3
|
|
The center point of the local reference frame. |
headingPitchRoll |
HeadingPitchRoll
|
|
The heading, pitch, and roll. |
ellipsoid |
Ellipsoid
|
Ellipsoid.WGS84
|
optional
The ellipsoid whose fixed frame is used in the transformation. |
fixedFrameTransformOrResult |
Transforms~LocalFrameToFixedFrame
|
Transforms.eastNorthUpToFixedFrame
|
optional
A 4x4 transformation
matrix from a reference frame to the provided ellipsoid's fixed reference frame |
result |
Quaternion
|
|
optional
The object onto which to store the result. |
Returns:
The modified result parameter or a new Quaternion instance if none was provided.
Example:
// Get the quaternion from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
var heading = -Cesium.Math.PI_OVER_TWO;
var pitch = Cesium.Math.PI_OVER_FOUR;
var roll = 0.0;
var hpr = new HeadingPitchRoll(heading, pitch, roll);
var quaternion = Cesium.Transforms.headingPitchRollQuaternion(center, hpr);
-
staticCesium.Transforms.headingPitchRollToFixedFrame(origin, headingPitchRoll, ellipsoid, fixedFrameTransformOrResult, result) → Matrix4
-
Computes a 4x4 transformation matrix from a reference frame with axes computed from the heading-pitch-roll angles
centered at the provided origin to the provided ellipsoid's fixed reference frame. Heading is the rotation from the local north
direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles
are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis.
Name |
Type |
Default |
Description |
origin |
Cartesian3
|
|
The center point of the local reference frame. |
headingPitchRoll |
HeadingPitchRoll
|
|
The heading, pitch, and roll. |
ellipsoid |
Ellipsoid
|
Ellipsoid.WGS84
|
optional
The ellipsoid whose fixed frame is used in the transformation. |
fixedFrameTransformOrResult |
Transforms~LocalFrameToFixedFrame
|
Transforms.eastNorthUpToFixedFrame
|
optional
A 4x4 transformation
matrix from a reference frame to the provided ellipsoid's fixed reference frame |
result |
Matrix4
|
|
optional
The object onto which to store the result. |
Returns:
The modified result parameter or a new Matrix4 instance if none was provided.
Example:
// Get the transform from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
var heading = -Cesium.Math.PI_OVER_TWO;
var pitch = Cesium.Math.PI_OVER_FOUR;
var roll = 0.0;
var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);
var transform = Cesium.Transforms.headingPitchRollToFixedFrame(center, hpr);
-
staticCesium.Transforms.localFrameToFixedFrameGenerator(firstAxis, secondAxis) → localFrameToFixedFrameGenerator~resultat
-
Generates a function that computes a 4x4 transformation matrix from a reference frame
centered at the provided origin to the provided ellipsoid's fixed reference frame.
Name |
Type |
Description |
firstAxis |
String
|
name of the first axis of the local reference frame. Must be
'east', 'north', 'up', 'west', 'south' or 'down'. |
secondAxis |
String
|
name of the second axis of the local reference frame. Must be
'east', 'north', 'up', 'west', 'south' or 'down'. |
Returns:
The function that will computes a
4x4 transformation matrix from a reference frame, with first axis and second axis compliant with the parameters,
-
staticCesium.Transforms.pointToWindowCoordinates(modelViewProjectionMatrix, viewportTransformation, point, result) → Cartesian2
-
Transform a point from model coordinates to window coordinates.
Name |
Type |
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. |
Returns:
The modified result parameter or a new Cartesian2 instance if none was provided.
-
staticCesium.Transforms.preloadIcrfFixed(timeInterval) → Promise.<undefined>
-
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.
Name |
Type |
Description |
timeInterval |
TimeInterval
|
The interval to preload. |
Returns:
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 Cesium.TimeInterval(...);
when(Cesium.Transforms.preloadIcrfFixed(interval), function() {
// the data is now loaded
});
See: