1. 程式人生 > >cesium——根據航向俯仰角滾動角設定實體方向

cesium——根據航向俯仰角滾動角設定實體方向

 在已知實體的航向俯仰角滾動角時設定實體的方向可使用方法

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

其中,

origin: 中心點

headingPitchRoll: 航向,俯仰和滾轉

ellipsoid: (可選)三維場景的橢球體

fixedFrameTransform: (可選)從參考幀到提供的橢球的固定參考幀的4x4變換矩陣

result: (可選)要儲存結果的物件

下面是官網的示例

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);

具體到實體設定,下面以新增模型實體為例設定實體的方向

var position = Cesium.Cartesian3.fromDegrees(116.39, 39.9, 0)
viewer.entities.add({
    show: true,
    position: position,
    orientation: Cesium.Transforms.headingPitchRollQuaternion(
        position,
        {
            heading: Cesium.Math.toRadians(10),
            pitch: Cesium.Math.toRadians(0),
            roll: Cesium.Math.toRadians(0)
        }
    ),
    model: {
        uri : '/static/model/leida.gltf',
        scale: 1000
    }
})