Cesium中camera的视角问题

    由于最近接触到的内容需要使用到camera,花了点时间简单地研究了下这个东西.

    在camera这个对象了,有很多方法,我觉得比较好用常用的有setView\lookAt\flyTo.首先谈一谈flyTo

viewer.camera.flyTo({
    camera.flyTo({
                destination: Cesium.Cartesian3.fromDegrees(-122.19, 46.25, 5000.0),
                duration: 1,
                orientation: {
                    heading: Cesium.Math.toRadians(),
                    pitch: Cesium.Math.toRadians(),
                    roll: Cesium.Math.toRadians()
                },
            });
});

flyTo方法可以产生相机视角飞行一段时间到达目的地的效果.

destination-相机目标位置.

duration-相机飞行的时间,秒为单位,值越小,速度越快.

orientation-相机镜头对准的方法.

    heading-代表镜头左右方向,正值为右,负值为左,360度和0度是一样的

    pitch-代表镜头上下方向,正值为上,负值为下.

    roll-代表镜头左右倾斜.正值,向右倾斜,负值向左倾斜

 

camera.lookAt(target,offset):

这个方法使相机的镜头直接对准目标,target为焦点的位置,offset为偏移量(焦距).

target是世界坐标系下的位置,offset是在target为原点的基础上建立的x-y-z坐标(对应east-north-up)

比如:

var center = Cesium.Cartesian3.fromDegrees(-98.0, 40.0);
viewer.camera.lookAt(center, new Cesium.Cartesian3(0.0, -4790000.0, 3930000.0));

center就是镜头的目标位置

后面的offset值为(0,-4790000,3930000)意味着 相机离center X轴方向0,Y轴负方向4790000,Z轴正方向3930000.

转载于:https://my.oschina.net/nuistmyx/blog/634414

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值