日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cesium|xt3d 雷达追踪圆锥体

發(fā)布時間:2024/1/8 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cesium|xt3d 雷达追踪圆锥体 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Cesium|xt3d 雷達(dá)追蹤圓錐體

  • 效果
  • 代碼
  • 預(yù)覽地址

效果

代碼

<!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>cesium|xt3d</title><!-- 引入Cesium --><script src="https://unpkg.com/cesium@1.84.0/Build/Cesium/Cesium.js"></script><link rel="stylesheet" href="https://unpkg.com/cesium@1.84.0/Build/Cesium/Widgets/widgets.css"><!-- 引入xt3d --><script src="http://www.xt3d.cn/xt3dlib/xt3d.min.js"></script><style>html,body,#map3d {width: 100%;height: 100%;margin: 0px;padding: 0px;}</style> </head><body><div id="map3d"></div><script>let xt3dInit = {init(el) {this.initViewer(el);this.load3dtiles();//源點坐標(biāo)this.originPoint = [106.45531788088708, 29.50637660924465, 35];this.originPosition = Cesium.Cartesian3.fromDegrees(this.originPoint[0], this.originPoint[1], this.originPoint[2] + 20);this.conicSensor = new xt3d.SpacePlugin.ConicSensor(this.viewer, this.originPosition);this.addRadarModel();this.addTarget();this.setView();},//初始化viewerinitViewer(el) {this.viewer = new Cesium.Viewer(el, {infoBox: false,selectionIndicator: false,navigation: false,animation: false,timeline: false,baseLayerPicker: false,geocoder: false,homeButton: false,sceneModePicker: false,navigationHelpButton: false,shouldAnimate: true,imageryProvider: new Cesium.ArcGisMapServerImageryProvider({url: 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'}),});this.viewer.scene.globe.depthTestAgainstTerrain = true;},//設(shè)置視角setView() {this.viewer.scene.camera.setView({duration: 1,destination: {x: -2168792.734068365,y: 6881947.030631928,z: 2564864.3138284963},orientation: {heading: 6.2092497690218975,pitch: -0.8489176138360675,roll: 0.0001151687477829455}});},//添加雷達(dá)模型addRadarModel() {var entity = this.viewer.entities.add({name: "leida",position: Cesium.Cartesian3.fromDegrees(this.originPoint[0], this.originPoint[1], this.originPoint[2]),model: {uri: "/data.xt3d.cn/assets/glb/leida.glb",scale: 0.5,maximumScale: 1,silhouetteColor: Cesium.Color.fromAlpha(Cesium.Color.YELLOW, 0.8), //設(shè)置模型外輪廓顏色與透明度silhouetteSize: 1 //設(shè)置模型外輪廓線寬度},});},//添加目標(biāo) ,這里以運行的飛機為例addTarget() {var start = Cesium.JulianDate.fromDate(new Date(2015, 2, 25, 16));var stop = Cesium.JulianDate.addSeconds(start,360,new Cesium.JulianDate());this.viewer.clock.startTime = start.clone();this.viewer.clock.stopTime = stop.clone();this.viewer.clock.currentTime = start.clone();this.viewer.clock.clockRange = Cesium.ClockRange.LOOP_STOP;this.viewer.clock.multiplier = 10;var position = this.computeCirclularFlight(this.originPoint[0], this.originPoint[1], 5, start);this.targetEntity = this.viewer.entities.add({availability: new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({start: start,stop: stop,}),]),position: position,orientation: new Cesium.VelocityOrientationProperty(position),model: {uri: "/data.xt3d.cn/assets/glb/Cesium_Air.glb",minimumPixelSize: 128,},path: {resolution: 1,material: new Cesium.PolylineGlowMaterialProperty({glowPower: 0.1,color: Cesium.Color.YELLOW,}),width: 10,},});this.targetEntity.position.setInterpolationOptions({interpolationDegree: 2,interpolationAlgorithm: Cesium.HermitePolynomialApproximation,})this.addTickEvent(); //注冊事件 獲取飛機的實時位置},//生成目標(biāo)的運行軌跡computeCirclularFlight(lon, lat, radius, start) {var property = new Cesium.SampledPositionProperty();for (var i = 0; i <= 360; i += 45) {var radians = Cesium.Math.toRadians(i);var time = Cesium.JulianDate.addSeconds(start,i,new Cesium.JulianDate());var position = Cesium.Cartesian3.fromDegrees(lon + radius * 1.5 * Math.cos(radians),lat + radius * Math.sin(radians),300000);property.addSample(time, position);this.viewer.entities.add({position: position,point: {pixelSize: 8,color: Cesium.Color.TRANSPARENT,outlineColor: Cesium.Color.YELLOW,outlineWidth: 3,},});}return property;},//動態(tài)獲取目標(biāo)點位置addTickEvent() {this.viewer.clock.onTick.addEventListener(e => {const targetPosition = this.targetEntity.position.getValue(this.viewer.clock.currentTime);this.conicSensor.updateTargetPosition(targetPosition);}, this);},//加載3dtiles數(shù)據(jù)load3dtiles() {let tileset = this.viewer.scene.primitives.add(new Cesium.Cesium3DTileset({url: "http://www.xt3d.cn/data/offset_3dtiles/tileset.json",}));tileset.readyPromise.then(tileset => {xt3d.TilesetPlugin.setTilesetHeight(tileset, 55);}).otherwise(function(error) {console.log(error);});},destroy() {this.viewer.entities.removeAll();this.viewer.imageryLayers.removeAll(true);this.viewer.destroy();}}xt3dInit.init("map3d");</script> </body></html>

預(yù)覽地址

xt3d 在線預(yù)覽地址

總結(jié)

以上是生活随笔為你收集整理的Cesium|xt3d 雷达追踪圆锥体的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。