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,
        new Cesium.HeadingPitchRoll(
            Cesium.Math.toRadians(10),
            Cesium.Math.toRadians(0),
            Cesium.Math.toRadians(0)
        )
    ),
    model: {
        uri : '/static/model/leida.gltf',
        scale: 1000
    }
})

 


版权声明:本文为Yel_Liu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。