包含將位置轉換為各種參考幀的函數。
Methods
(static) computeFixedToIcrfMatrix(date, result) → {Matrix3}
計算旋轉矩陣,在給定時間將點或矢量從地球固定框架軸(ITRF)轉換為國際天體參考框架(GCRF/ICRF)慣性框架軸。如果尚未加載進行轉換所需的數據,則此函數可能返回未定義的。
Parameters:
Example
// Transform a point from the ICRF axes to the Fixed axes.
var now = bmgl.JulianDate.now();
var pointInFixed = bmgl.Cartesian3.fromDegrees(0.0, 0.0);
var fixedToIcrf = bmgl.Transforms.computeIcrfToFixedMatrix(now);
var pointInInertial = new bmgl.Cartesian3();
if (bmgl.defined(fixedToIcrf)) {
pointInInertial = bmgl.Matrix3.multiplyByVector(fixedToIcrf, pointInFixed, pointInInertial);
}
計算旋轉矩陣,在給定時間將點或矢量從國際天體參考系(GCRF/ICRF)慣性系軸轉換為地球固定系軸(ITRF)。如果尚未加載進行轉換所需的數據,則此函數可能返回未定義的。
Parameters:
Example
scene.postUpdate.addEventListener(function(scene, time) {
// View in ICRF.
var icrfToFixed = bmgl.Transforms.computeIcrfToFixedMatrix(time);
if (bmgl.defined(icrfToFixed)) {
var offset = bmgl.Cartesian3.clone(camera.position);
var transform = bmgl.Matrix4.fromRotationTranslation(icrfToFixed);
camera.lookAtTransform(transform, offset);
}
});
計算旋轉矩陣,將一個點或向量在給定時間從真正的赤道平均點(Teme)軸轉換為偽固定軸。此方法將UT1時間標準視為等同于UTC。
Parameters:
Example
//Set the view to the inertial frame.
scene.postUpdate.addEventListener(function(scene, time) {
var now = bmgl.JulianDate.now();
var offset = bmgl.Matrix4.multiplyByPoint(camera.transform, camera.position, new bmgl.Cartesian3());
var transform = bmgl.Matrix4.fromRotationTranslation(bmgl.Transforms.computeTemeToPseudoFixedMatrix(now));
var inverseTransform = bmgl.Matrix4.inverseTransformation(transform, new bmgl.Matrix4());
bmgl.Matrix4.multiplyByPoint(inverseTransform, offset, offset);
camera.lookAtTransform(transform, offset);
});
計算一個4x4變換矩陣,從一個以給定原點為中心的東北向上軸的參考坐標系到給定橢球體的固定參考坐標系。局部軸定義為:
- 在局部東方向上的
x
軸點。 - 在局部北方向上的
y
軸點。 - 在穿過該位置的橢球面法線的方向上為
z
軸點。
Parameters:
Example
// Get the transform from local east-north-up at cartographic (0.0, 0.0) to Earth's fixed frame.
var center = bmgl.Cartesian3.fromDegrees(0.0, 0.0);
var transform = bmgl.Transforms.eastNorthUpToFixedFrame(center);
根據特定參考幀中的變換計算航向縱搖角。航向是從正角度向東增加的局部北向旋轉。螺距是指從局部的東北平面開始的旋轉。正俯仰角在平面上方。負的螺距角在平面以下。滾動是圍繞局部東軸應用的第一個旋轉。
Parameters:
fixedFrameTransform
(Transforms~LocalFrameToFixedFrame)
(default Transforms.eastNorthUpToFixedFrame
)
從參考坐標系到提供的橢球固定參考坐標系的4x4變換矩陣
從參考坐標系計算四元數,坐標軸是從以提供的原點為中心的航向俯仰滾轉角度計算得出的。航向是從正角度向東增加的局部北向旋轉。螺距是指從局部的東北平面開始的旋轉。正俯仰角在平面上方。負的螺距角在平面以下。滾動是圍繞局部東軸應用的第一個旋轉。
Parameters:
fixedFrameTransform
(Transforms~LocalFrameToFixedFrame)
(default Transforms.eastNorthUpToFixedFrame
)
從參考坐標系到提供的橢球固定參考坐標系的4x4變換矩陣
Example
// Get the quaternion from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
var center = bmgl.Cartesian3.fromDegrees(0.0, 0.0);
var heading = -bmgl.Math.PI_OVER_TWO;
var pitch = bmgl.Math.PI_OVER_FOUR;
var roll = 0.0;
var hpr = new HeadingPitchRoll(heading, pitch, roll);
var quaternion = bmgl.Transforms.headingPitchRollQuaternion(center, hpr);
從參考坐標系計算4x4變換矩陣,坐標軸從以提供的原點為中心的航向縱搖角計算到提供的橢球固定參考坐標系。航向是從正角度向東增加的局部北向旋轉。螺距是指從局部的東北平面開始的旋轉。正俯仰角在平面上方。負的螺距角在平面以下。滾動是圍繞局部東軸應用的第一個旋轉。
Parameters:
fixedFrameTransform
(Transforms~LocalFrameToFixedFrame)
(default Transforms.eastNorthUpToFixedFrame
)
從參考坐標系到提供的橢球固定參考坐標系的4x4變換矩陣
Example
// Get the transform from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
var center = bmgl.Cartesian3.fromDegrees(0.0, 0.0);
var heading = -bmgl.Math.PI_OVER_TWO;
var pitch = bmgl.Math.PI_OVER_FOUR;
var roll = 0.0;
var hpr = new bmgl.HeadingPitchRoll(heading, pitch, roll);
var transform = bmgl.Transforms.headingPitchRollToFixedFrame(center, hpr);
生成一個函數,該函數計算4x4轉換矩陣,該矩陣從以提供的原點為中心的參考幀到提供的橢球的固定參考幀。
Parameters:
firstAxis
(String)
本地參考幀的第一個軸的名稱。必須是“東”、“北”、“上”、“西”、“南”或“下”。
secondAxis
(String)
本地參考框架的第二個軸的名稱。必須是“東”、“北”、“上”、“西”、“南”或“下”。
計算從以給定原點為中心的東北下軸的參考坐標系到給定橢球體的固定參考坐標系的4x4變換矩陣。局部軸定義為:
- 在局部北方向上的
x
軸點。 - 在局部東方向
y
軸點。 - 軸{ }軸點在穿過該位置的橢球面法線的相反方向。
Parameters:
Example
// Get the transform from local north-east-down at cartographic (0.0, 0.0) to Earth's fixed frame.
var center = bmgl.Cartesian3.fromDegrees(0.0, 0.0);
var transform = bmgl.Transforms.northEastDownToFixedFrame(center);
計算一個4x4變換矩陣,該矩陣從一個坐標系,該坐標系的東北軸以提供的原點為中心,到提供的橢球體的固定坐標系。局部軸定義為:
x
軸指向局部北向。y
軸指向穿過該位置的橢球面法向。- 軸指向局部東向。
Parameters:
Example
// Get the transform from local north-up-east at cartographic (0.0, 0.0) to Earth's fixed frame.
var center = bmgl.Cartesian3.fromDegrees(0.0, 0.0);
var transform = bmgl.Transforms.northUpEastToFixedFrame(center);
計算一個4x4變換矩陣,該矩陣從一個以提供的原點為中心的西北向上軸坐標系到提供的橢球體的固定參照系。局部軸定義為:
x
軸指向局部北向。y
軸指向局部西向。- 軸指向穿過位置的橢球面法向。
Parameters:
Example
// Get the transform from local north-West-Up at cartographic (0.0, 0.0) to Earth's fixed frame.
var center = bmgl.Cartesian3.fromDegrees(0.0, 0.0);
var transform = bmgl.Transforms.northWestUpToFixedFrame(center);
將點從模型坐標轉換為窗口坐標。
Parameters:
在給定的間隔內,在任意方向預加載在ICRF和固定軸之間轉換所需的數據。此函數返回一個承諾,即當解決此問題時,表示預加載已完成。
Parameters:
Example
var interval = new bmgl.TimeInterval(...);
when(bmgl.Transforms.preloadIcrfFixed(interval), function() {
// the data is now loaded
});
Type Definitions
LocalFrameToFixedFrame(origin, ellipsoid, result) → {Matrix4}
計算一個4x4變換矩陣,從一個以提供的原點為中心的參考幀到提供的橢球的固定參考幀。