Transforms

包含用于将位置转换为各种参考系的功能。

Methods

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

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

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

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

static LSGlobe.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) {
   var now = LSGlobe.JulianDate.now();
   var offset = LSGlobe.Matrix4.multiplyByPoint(camera.transform, camera.position, new LSGlobe.Cartesian3());
   var transform = LSGlobe.Matrix4.fromRotationTranslation(LSGlobe.Transforms.computeTemeToPseudoFixedMatrix(now));
   var inverseTransform = LSGlobe.Matrix4.inverseTransformation(transform, new LSGlobe.Matrix4());
   LSGlobe.Matrix4.multiplyByPoint(inverseTransform, offset, offset);
   camera.lookAtTransform(transform, offset);
});

static LSGlobe.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.
var center = LSGlobe.Cartesian3.fromDegrees(0.0, 0.0);
var transform = LSGlobe.Transforms.eastNorthUpToFixedFrame(center);

static LSGlobe.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 LSGlobe.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:
修改后的结果参数或新的Quaternion实例(如果未提供)。
Example:
// Get the quaternion from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
var center = LSGlobe.Cartesian3.fromDegrees(0.0, 0.0);
var heading = -LSGlobe.Math.PI_OVER_TWO;
var pitch = LSGlobe.Math.PI_OVER_FOUR;
var roll = 0.0;
var hpr = new HeadingPitchRoll(heading, pitch, roll);
var quaternion = LSGlobe.Transforms.headingPitchRollQuaternion(center, hpr);

static LSGlobe.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.
var center = LSGlobe.Cartesian3.fromDegrees(0.0, 0.0);
var heading = -LSGlobe.Math.PI_OVER_TWO;
var pitch = LSGlobe.Math.PI_OVER_FOUR;
var roll = 0.0;
var hpr = new LSGlobe.HeadingPitchRoll(heading, pitch, roll);
var transform = LSGlobe.Transforms.headingPitchRollToFixedFrame(center, hpr);

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

生成一个函数,该函数根据参考帧计算4x4转换矩阵以提供的原点为中心,以提供的椭球的固定参考系为中心。
Name Type Description
firstAxis String 本地参考系的第一个轴的名称。一定是 '东','北','上','西','南'或'下'。
secondAxis String 本地参考系第二条轴的名称。一定是 '东','北','上','西','南'或'下'。
Returns:
该函数将计算参考轴的4x4变换矩阵,其第一轴和第二轴符合参数,

static LSGlobe.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.
var center = LSGlobe.Cartesian3.fromDegrees(0.0, 0.0);
var transform = LSGlobe.Transforms.northEastDownToFixedFrame(center);

static LSGlobe.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.
var center = LSGlobe.Cartesian3.fromDegrees(0.0, 0.0);
var transform = LSGlobe.Transforms.northUpEastToFixedFrame(center);

static LSGlobe.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.
var center = LSGlobe.Cartesian3.fromDegrees(0.0, 0.0);
var transform = LSGlobe.Transforms.northWestUpToFixedFrame(center);

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

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

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

预加载在ICRF和固定轴之间转换所需的数据方向,在给定的时间间隔内。此函数返回一个承诺,该承诺在解决后,表示预加载已完成。
Name Type Description
timeInterval TimeInterval 预加载的时间间隔。
Returns:
解决后的承诺,表明预加载已完成 并评估固定和ICRF轴之间的转换 在间隔内的一段时间内不再返回undefined。
Example:
var interval = new LSGlobe.TimeInterval(...);
when(LSGlobe.Transforms.preloadIcrfFixed(interval), function() {
    // the data is now loaded
});
See:

static LSGlobe.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

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

根据参考帧计算4x4转换矩阵以提供的原点为中心,以提供的椭球的固定参考系为中心。
Name Type Default Description
origin Cartesian3 本地参考系的中心点。
ellipsoid Ellipsoid Ellipsoid.WGS84 可选 其固定框架用于变换的椭圆体。
result Matrix4 可选 将结果存储到的对象。
Returns:
修改后的结果参数或新的Matrix4实例(如果未提供)。