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

Vue.js2+Cesium1.103.0 十四、绘制视锥,并可实时调整视锥姿态

Vue.js2+Cesium1.103.0 十四、绘制视锥,并可实时调整视锥姿态

Demo

<template><divid="cesium-container"style="width: 100%; height: 100%;"><divclass="control"style="position: absolute;right: 50px;top: 50px;z-index: 999;width: 200px;color: #fff;"><div><span>width</span><el-sliderv-model="width":min="0":max="1000"@input="handleChange"/></div><div><span>height</span><el-sliderv-model="height":min="0":max="1000"@input="handleChange"/></div><div><span>fov</span><el-sliderv-model="fov":min="0":max="179"@input="handleChange"/></div><div><span>near</span><el-sliderv-model="near":min="0":max="10000"@input="handleChange"/></div><div><span>far</span><el-sliderv-model="far":min="0":max="near"@input="handleChange"/></div><div><span>heading</span><el-sliderv-model="heading":min="0":max="360"@input="handleChange"/></div><div><span>pitch</span><el-sliderv-model="pitch":min="0":max="360"@input="handleChange"/></div><div><span>roll</span><el-sliderv-model="roll":min="0":max="360"@input="handleChange"/></div></div></div>
</template><script>
/* eslint-disable no-undef */
/* eslint-disable new-cap */
import CreateFrustum from './CreateFrustum'
export default {name: 'ConeOfVision',data() {return {longitude: 117,latitude: 39,altitude: 100,width: 150,height: 100,fov: 90.0,near: 200.0,far: 10.0,roll: 0,pitch: 0,heading: 0,frustum: null}},computed: {},watch: {},mounted() {window.$InitMap()viewer.camera.flyTo({destination: Cesium.Cartesian3.fromDegrees(117, 38.992, 1000.0),orientation: {heading: Cesium.Math.toRadians(0.0),pitch: Cesium.Math.toRadians(-45.0),roll: 0.0}})// * 创建视锥体(primitive,根据坐标和 heading,pitch,roll 实时更新椎体姿态)this.frustum = new CreateFrustum({position: {longitude: this.longitude,latitude: this.latitude,altitude: this.altitude},fov: this.fov, // 视场的角度(FOV),以弧度表示near: this.near, // 近平面的距离far: this.far, // 远平面的距离heading: this.heading,pitch: this.pitch,roll: this.roll,width: this.width,height: this.height})},methods: {handleChange() {this.frustum.UpdateWidth(this.width)this.frustum.UpdateHeight(this.height)this.frustum.UpdateHeading(this.heading)this.frustum.UpdatePitch(this.pitch)this.frustum.UpdateRoll(this.roll)this.frustum.UpdateFov(this.fov)this.frustum.UpdateNear(this.near)this.frustum.UpdateFar(this.far)}}
}
</script><style></style>
http://www.lryc.cn/news/236052.html

相关文章:

  • 批量替换WordPress文章内图片链接
  • 关于DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC的一些发现
  • MatrixOne 支持多样化生态工具
  • 力扣刷题篇之位运算
  • asp.net core mvc 控制器使用配置
  • Hadoop学习总结(MapRdeuce的词频统计)
  • PPT基础入门
  • Java 语言关键字有哪些
  • Go vs Rust:文件上传性能比较
  • C# NAudio 音频库
  • springcloudalibaba-3
  • 异步复位同步释放与同步复位打拍
  • 使用Python进行二维图像的三维重建
  • go-zero微服务的使用
  • Java排序算法之基数排序
  • Ubuntu20.0中安装Gradle
  • 【Java并发编程六】多线程越界问题
  • 聊聊httpclient的disableConnectionState
  • Tomcat web.xml文件中的mime-mapping
  • 【Java 进阶篇】JQuery 事件绑定:`on` 与 `off` 的奇妙舞曲
  • 模块化Common JS 和 ES Module
  • 基于java web个人财务管理系统
  • soc估计:DESIGN AND DEVELOPMENT OF SoC ESTIMATION MODEL USING MACHINE LEARNING
  • 2、LeetCode之两数相加
  • redis三种集群方式
  • Java --- JVM之垃圾回收相关算法
  • CentOS 7.9 安装 nginx
  • Newman
  • Transformer中WordPiece/BPE等不同编码方式详解以及优缺点
  • Ubuntu20.04安装Beyond Compare 4.4.7