当前位置: 首页 > news >正文

威客网站开发需求中国三大搜索引擎

威客网站开发需求,中国三大搜索引擎,小程序模板使用,基于微信小程序的毕业设计题目先看效果: 在cesium中,我们有时需要倾斜相机视角去观察物体,如相机俯视45观察物体。 cesium的api提供了倾斜相机视角的配置,但是直接使用cesium的api不能达到我们想要的效果。 函数如下: function flyToBox() {let l…

先看效果:
在这里插入图片描述
在cesium中,我们有时需要倾斜相机视角去观察物体,如相机俯视45观察物体。
cesium的api提供了倾斜相机视角的配置,但是直接使用cesium的api不能达到我们想要的效果。
函数如下:

function flyToBox() {let longitude = -114;let latitude = 40;let pitch = -45;let height = 4000;// 创建一个蓝色盒子const blueBox = viewer.entities.add({name: "Blue box",position: Cesium.Cartesian3.fromDegrees(longitude, latitude, height / 2),box: {dimensions: new Cesium.Cartesian3(1000.0, 1000.0, 1000.0),material: Cesium.Color.BLUE,},});let center = Cesium.Cartesian3.fromDegrees(longitude, latitude, height);// 相机飞行到指定位置viewer.camera.flyTo({destination: center,orientation: {// 定义相机朝向(方向,俯仰角,横滚角)heading: Cesium.Math.toRadians(360),pitch: Cesium.Math.toRadians(pitch),roll: Cesium.Math.toRadians(0),},duration: 2,});
}

效果如下在这里插入图片描述
可以看到物体已经不在视口范围内了。
why?
原因很简单,我们看到了视野都是相机的视野。
cesium相机默认的角度(picth=-90)如下:
在这里插入图片描述
在这里插入图片描述

当配置了orientation,将相机偏移了-45度,因此物体超出了相机的视野,我们也就看不到物体了。
在这里插入图片描述

想要看到物体也很简单,将相机平移x距离即可。回忆一下高中的知识,在直角三角形中,已知了一个角α和边h,可以求x。即:

x = tanα * h

接下来又是另一个难题。我们算出来需要平移x距离,x单位是米(因为h单位是米),而相机的位置的以经纬度确认的,因此需要做米到经纬度的转换,这里不必赘述,请看我之前的博客。完整代码如下:

function flyToBox() {let longitude = -114;let latitude = 40;let pitch = -45;let height = 4000;// 创建一个蓝色盒子const blueBox = viewer.entities.add({name: "Blue box",position: Cesium.Cartesian3.fromDegrees(longitude, latitude, 0),box: {dimensions: new Cesium.Cartesian3(1000.0, 1000.0, 1000.0),material: Cesium.Color.BLUE,},});// 计算相机的偏移量let offset = tan(90 + pitch) * height * 1;// 向南偏移,计算新的经纬度let { latitude: newLat, longitude: newLon } = offsetToLatLon(latitude,longitude,0,offset);let center = Cesium.Cartesian3.fromDegrees(newLon, newLat, height);//   let center = Cesium.Cartesian3.fromDegrees(longitude, latitude, height);// 相机飞行到指定位置viewer.camera.flyTo({destination: center,orientation: {// 定义相机朝向(方向,俯仰角,横滚角)heading: Cesium.Math.toRadians(360),pitch: Cesium.Math.toRadians(pitch),roll: Cesium.Math.toRadians(0),},duration: 2,});
}/*** 计算给定角度的正切值* * @param {number} degrees 输入的角度值* @returns {number} 返回计算得到的正切值*/
function tan(degrees) {// 将角度转换为弧度const angleInRadians = degrees * (Math.PI / 180);return Math.tan(angleInRadians);
}
http://www.qdjiajiao.com/news/3310.html

相关文章:

  • 榆林免费做网站公司常用seo站长工具
  • 腾讯企业网站建设湖南长沙最新疫情
  • 网站建设与管理实训seo81
  • 郑州网站建设哪家最好18款禁用网站app直播
  • 淘宝上做淘宝客的网站百度推广步骤
  • 公关公司服务的特点包括石家庄百度快照优化排名
  • 做网站多久才会有收益武汉seo计费管理
  • 聊城做网站推广费用安卓优化大师旧版
  • 网站网址黄页大全免费seo研究中心论坛
  • 做的好的大学生旅行有哪些网站好营销活动推广策划
  • seo网站结构站长之家 站长工具
  • 网站建设公司如何做大腾讯搜索引擎入口
  • 网站报价表对比表怎么做整合营销传播
  • 做网站的风险分析情感营销案例
  • 微网站定制多久河南今日头条最新消息
  • 龙岗做棋牌网站建设快速优化seo
  • 网站推广策划评估工具7免费网页在线客服制作
  • 做资讯的网站谷歌seo零基础教程
  • 网站开发测试过程怎么seo网站关键词优化
  • 安徽六安天气预报郑州seo
  • 专门做电路图的网站福建seo关键词优化外包
  • 易语言怎么把网站音乐做进去品牌营销咨询公司
  • ie浏览器哪个做网站稳定小程序运营推广公司
  • 潍坊网站建设官网关键词规划师
  • 网站推广的网站作用公众号怎么推广和引流
  • 南宁网络推广方法seo导航站
  • 自助网站建设厦门网站制作站长域名查询工具
  • 织梦网站建设上海排名优化推广工具
  • 自考网站建设与管理资料怎样做一个产品营销方案
  • 2015帝国cms网站如何在百度做免费推广产品