Transforms

包含将位置转换为各种参考系的函数。

Methods

static Cesium.Transforms.computeFixedToIcrfMatrix (date, result ) Matrix3

计算旋转矩阵以在给定时间将点或矢量从地球固定坐标系轴 (ITRF) 转换为国际天体参考系 (GCRF/ICRF) 惯性坐标系轴。如果尚未加载进行转换所需的数据,则此函数可能会返回 undefined。
Name Type Description
date JulianDate 计算旋转矩阵的时间。
result Matrix3 可选 存储结果的对象。如果未指定此参数,则创建并返回一个新实例。
Returns:
旋转矩阵,如果尚未加载进行转换所需的数据,则为未定义。
Example:
// Transform a point from the ICRF axes to the Fixed axes.
const now = Cesium.JulianDate.now();
const pointInFixed = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const fixedToIcrf = Cesium.Transforms.computeIcrfToFixedMatrix(now);
let pointInInertial = new Cesium.Cartesian3();
if (Cesium.defined(fixedToIcrf)) {
    pointInInertial = Cesium.Matrix3.multiplyByVector(fixedToIcrf, pointInFixed, pointInInertial);
}
See:

static Cesium.Transforms.computeIcrfToFixedMatrix (date, result ) Matrix3

计算旋转矩阵以在给定时间将点或矢量从国际天体参考系 (GCRF/ICRF) 惯性系轴转换为地球固定系轴 (ITRF)。如果尚未加载进行转换所需的数据,则此函数可能会返回 undefined。
Name Type Description
date JulianDate 计算旋转矩阵的时间。
result Matrix3 可选 存储结果的对象。如果未指定此参数,则创建并返回一个新实例。
Returns:
旋转矩阵,如果尚未加载进行转换所需的数据,则为未定义。
Example:
scene.postUpdate.addEventListener(function(scene, time) {
  // View in ICRF.
  const icrfToFixed = Cesium.Transforms.computeIcrfToFixedMatrix(time);
  if (Cesium.defined(icrfToFixed)) {
    const offset = Cesium.Cartesian3.clone(camera.position);
    const transform = Cesium.Matrix4.fromRotationTranslation(icrfToFixed);
    camera.lookAtTransform(transform, offset);
  }
});
See:

static Cesium.Transforms.computeTemeToPseudoFixedMatrix (date, result ) Matrix3

计算旋转矩阵以在给定时间将点或向量从真赤道均分 (TEME) 轴转换为伪固定轴。此方法将 UT1 时间标准视为等同于 UTC。
Name Type Description
date JulianDate 计算旋转矩阵的时间。
result Matrix3 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 Matrix3 实例。
Example:
//Set the view to the inertial frame.
scene.postUpdate.addEventListener(function(scene, time) {
   const now = Cesium.JulianDate.now();
   const offset = Cesium.Matrix4.multiplyByPoint(camera.transform, camera.position, new Cesium.Cartesian3());
   const transform = Cesium.Matrix4.fromRotationTranslation(Cesium.Transforms.computeTemeToPseudoFixedMatrix(now));
   const inverseTransform = Cesium.Matrix4.inverseTransformation(transform, new Cesium.Matrix4());
   Cesium.Matrix4.multiplyByPoint(inverseTransform, offset, offset);
   camera.lookAtTransform(transform, offset);
});

static Cesium.Transforms.eastNorthUpToFixedFrame (origin, ellipsoid , result ) Matrix4

计算从具有以提供的原点为中心的东西向上轴的参考系到提供的椭圆体的固定参考系的 4x4 变换矩阵。局部轴定义为:
  • x 轴指向当地的东方向。
  • y 轴指向当地的北方向。
  • z 轴指向通过该位置的椭球面法线方向。
Name Type Default Description
origin Cartesian3 局部参考系的中心点。
ellipsoid Ellipsoid Ellipsoid.WGS84 可选 在变换中使用其固定框架的椭球。
result Matrix4 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 Matrix4 实例。
Example:
// Get the transform from local east-north-up at cartographic (0.0, 0.0) to Earth's fixed frame.
const center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const transform = Cesium.Transforms.eastNorthUpToFixedFrame(center);

static Cesium.Transforms.fixedFrameToHeadingPitchRoll (transform, ellipsoid , fixedFrameTransform , result ) HeadingPitchRoll

根据特定参考系中的变换计算航向-俯仰-滚动角。航向是从当地的北向旋转,正角向东增加。俯仰是当地东西向平面的旋转。正俯仰角在平面上方。负俯仰角位于平面下方。滚动是围绕局部东轴应用的第一个旋转。
Name Type Default Description
transform Matrix4 变换
ellipsoid Ellipsoid Ellipsoid.WGS84 可选 在变换中使用其固定框架的椭球。
fixedFrameTransform Transforms.LocalFrameToFixedFrame Transforms.eastNorthUpToFixedFrame 可选 从参考系到提供的椭球固定参考系的 4x4 变换矩阵
result HeadingPitchRoll 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 HeadingPitchRoll 实例。

static Cesium.Transforms.headingPitchRollQuaternion (origin, headingPitchRoll, ellipsoid , fixedFrameTransform , result ) Quaternion

从参考坐标系计算四元数,坐标轴从以提供的原点为中心的航向-俯仰-滚动角计算。航向是从当地的北向旋转,正角向东增加。俯仰是当地东西向平面的旋转。正俯仰角在平面上方。负俯仰角位于平面下方。滚动是围绕局部东轴应用的第一个旋转。
Name Type Default Description
origin Cartesian3 局部参考系的中心点。
headingPitchRoll HeadingPitchRoll 航向、俯仰和滚动。
ellipsoid Ellipsoid Ellipsoid.WGS84 可选 在变换中使用其固定框架的椭球。
fixedFrameTransform Transforms.LocalFrameToFixedFrame Transforms.eastNorthUpToFixedFrame 可选 从参考系到提供的椭球固定参考系的 4x4 变换矩阵
result Quaternion 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的四元数实例。
Example:
// Get the quaternion from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
const center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const heading = -Cesium.Math.PI_OVER_TWO;
const pitch = Cesium.Math.PI_OVER_FOUR;
const roll = 0.0;
const hpr = new HeadingPitchRoll(heading, pitch, roll);
const quaternion = Cesium.Transforms.headingPitchRollQuaternion(center, hpr);

static Cesium.Transforms.headingPitchRollToFixedFrame (origin, headingPitchRoll, ellipsoid , fixedFrameTransform , result ) Matrix4

从参考坐标系计算一个 4x4 变换矩阵,坐标轴从以提供的原点为中心的航向-俯仰-滚动角到提供的椭圆体的固定参考坐标系计算。航向是从当地北向的旋转,其中正角向东增加。俯仰是当地东西向平面的旋转。正俯仰角在平面上方。负俯仰角位于平面下方。滚动是围绕局部东轴应用的第一个旋转。
Name Type Default Description
origin Cartesian3 局部参考系的中心点。
headingPitchRoll HeadingPitchRoll 航向、俯仰和滚动。
ellipsoid Ellipsoid Ellipsoid.WGS84 可选 在变换中使用其固定框架的椭球。
fixedFrameTransform Transforms.LocalFrameToFixedFrame Transforms.eastNorthUpToFixedFrame 可选 从参考系到提供的椭球固定参考系的 4x4 变换矩阵
result Matrix4 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 Matrix4 实例。
Example:
// Get the transform from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
const center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const heading = -Cesium.Math.PI_OVER_TWO;
const pitch = Cesium.Math.PI_OVER_FOUR;
const roll = 0.0;
const hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);
const transform = Cesium.Transforms.headingPitchRollToFixedFrame(center, hpr);

static Cesium.Transforms.localFrameToFixedFrameGenerator (firstAxis, secondAxis) Transforms.LocalFrameToFixedFrame

生成一个函数,该函数计算从以提供的原点为中心的参考系到提供的椭圆体的固定参考系的 4x4 变换矩阵。
Name Type Description
firstAxis String 局部参考系的第一个轴的名称。必须是'东'、'北'、'上'、'西'、'南'或'下'。
secondAxis String 局部参考系的第二个轴的名称。必须是'东'、'北'、'上'、'西'、'南'或'下'。
Returns:
该函数将从参考框架计算 4x4 变换矩阵,第一轴和第二轴符合参数,

static Cesium.Transforms.northEastDownToFixedFrame (origin, ellipsoid , result ) Matrix4

计算从具有以提供的原点为中心的东北向下轴的参考系到提供的椭圆体的固定参考系的 4x4 变换矩阵。局部轴定义为:
  • x 轴指向当地的北方向。
  • y 轴指向当地的东方向。
  • z 轴指向与通过该位置的椭球表面法线相反的方向。
Name Type Default Description
origin Cartesian3 局部参考系的中心点。
ellipsoid Ellipsoid Ellipsoid.WGS84 可选 在变换中使用其固定框架的椭球。
result Matrix4 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 Matrix4 实例。
Example:
// Get the transform from local north-east-down at cartographic (0.0, 0.0) to Earth's fixed frame.
const center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const transform = Cesium.Transforms.northEastDownToFixedFrame(center);

static Cesium.Transforms.northUpEastToFixedFrame (origin, ellipsoid , result ) Matrix4

计算从具有以提供的原点为中心的东北上东轴的参考系到提供的椭圆体的固定参考系的 4x4 变换矩阵。局部轴定义为:
  • x 轴指向当地的北方向。
  • y 轴指向通过该位置的椭球面法线方向。
  • z 轴指向当地的东方向。
Name Type Default Description
origin Cartesian3 局部参考系的中心点。
ellipsoid Ellipsoid Ellipsoid.WGS84 可选 在变换中使用其固定框架的椭球。
result Matrix4 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 Matrix4 实例。
Example:
// Get the transform from local north-up-east at cartographic (0.0, 0.0) to Earth's fixed frame.
const center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const transform = Cesium.Transforms.northUpEastToFixedFrame(center);

static Cesium.Transforms.northWestUpToFixedFrame (origin, ellipsoid , result ) Matrix4

计算从具有以提供的原点为中心的西北向上轴的参考系到提供的椭圆体的固定参考系的 4x4 变换矩阵。局部轴定义为:
  • x 轴指向当地的北方向。
  • y 轴指向当地的西方向。
  • z 轴指向通过该位置的椭球面法线方向。
Name Type Default Description
origin Cartesian3 局部参考系的中心点。
ellipsoid Ellipsoid Ellipsoid.WGS84 可选 在变换中使用其固定框架的椭球。
result Matrix4 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 Matrix4 实例。
Example:
// Get the transform from local north-West-Up at cartographic (0.0, 0.0) to Earth's fixed frame.
const center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const transform = Cesium.Transforms.northWestUpToFixedFrame(center);

static Cesium.Transforms.pointToWindowCoordinates (modelViewProjectionMatrix, viewportTransformation, point, result ) Cartesian2

将点从模型坐标转换为窗口坐标。
Name Type Description
modelViewProjectionMatrix Matrix4 4x4 模型-视图-投影矩阵。
viewportTransformation Matrix4 4x4 视口转换。
point Cartesian3 转型的重点。
result Cartesian2 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 Cartesian2 实例。

static Cesium.Transforms.preloadIcrfFixed (timeInterval) Promise.<void>

在给定的时间间隔内,在任一方向上预加载 ICRF 和固定轴之间转换所需的数据。这个函数返回一个承诺,当它被解析时,表明预加载已经完成。
Name Type Description
timeInterval TimeInterval 预加载的间隔。
Returns:
解决后表示预加载已完成并且对固定轴和 ICRF 轴之间的转换的评估将不再在间隔内返回 undefined 的承诺。
Example:
const interval = new Cesium.TimeInterval(...);
Promise.resolve(Cesium.Transforms.preloadIcrfFixed(interval)).then(function() {
    // the data is now loaded
});
See:

static Cesium.Transforms.rotationMatrixFromPositionVelocity (position, velocity, ellipsoid , result ) Matrix3

将位置和速度转换为旋转矩阵。
Name Type Default Description
position Cartesian3 要变换的位置。
velocity Cartesian3 要变换的速度矢量。
ellipsoid Ellipsoid Ellipsoid.WGS84 可选 在变换中使用其固定框架的椭球。
result Matrix3 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 Matrix3 实例。

Type Definitions

Cesium.Transforms.LocalFrameToFixedFrame (origin, ellipsoid , result ) Matrix4

计算从以提供的原点为中心的参考系到提供的椭圆体的固定参考系的 4x4 变换矩阵。
Name Type Default Description
origin Cartesian3 局部参考系的中心点。
ellipsoid Ellipsoid Ellipsoid.WGS84 可选 在变换中使用其固定框架的椭球。
result Matrix4 可选 存储结果的对象。
Returns:
如果未提供修改的结果参数或新的 Matrix4 实例。