cesium实体姿态控制其三,案例应用

最近有点时间,就想回顾一下cesium的代码案例,在姿态控制这块自己也是比较欠缺的,最终选择从控制实体姿态方面开始,再完成个案例的编写后,看了最近的渔船新闻于是就有了编写一个案例的想法。于是在业余时间就寥寥草草做了一个小案例,也算自己学习巩固,欢迎大家一起学习。

实例效果图

1: 加载雷达防护和导弹阵地

        雷达使用 ellipsoid  
        导弹阵地Model.fromGltf 加载导弹模型

2:加载卫星并创建动态信号

        卫星加载使用czml

        动态信号使用动态线绘制

        监听卫星位置并时刻改变线的位置属性

3:加载飞机并监听位置将信号发送到卫星

        飞机模型加载

c3d_sdk.viewer.entities.add({
          id: d.id,
          availability: new Cesium.TimeIntervalCollection([
            new Cesium.TimeInterval({
              start: start,
              stop: stop,
            }),
          ]),
          position: d.pos,
          orientation: new Cesium.VelocityOrientationProperty(d.pos),
          model: {
              uri: d.uri,
              minimumPixelSize: d.size,
              // modelMatrix:materix,
          },
          path: {
            resolution: 1,
            material: new Cesium.PolylineGlowMaterialProperty({
              glowPower: 0.1,
              color: Cesium.Color.YELLOW,
            }),
            show: false,
            width: 10,
          },
        })
       })

代码监听实时位置

 c3d_sdk.viewer.clock.onTick.addEventListener((tick) => {
            tar1Position = tar1._position.getValue(tick.currentTime)
            tar2Position = tar2._position.getValue(tick.currentTime)
            tar3Position = tar3._position.getValue(tick.currentTime)
            targetPosition = satellite.position.getValue(tick.currentTime)
            if(!tar3Position) {
              return
            }
})

根据姿态控制一 绘制监听敌机的位置。 

效果图

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值