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实例(如果未提供)。
预加载在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实例(如果未提供)。