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

mars3d的V2版本的Video2D与V3版本的Video2D实现数据快速迁移

场景:

目前是v2和v3的两个相机视角的不同格式,在Mars3d的V2的旧数据想可以快速迁移到V3版本。

 V2版本的数据:

{"camera": {"fov": 1.0471975511965976,"dis": 20,"stRotation": 0,"showFrustum": true,"aspectRatio": 1.6022099447513811,"camera": {"position": {"x": -2177820.3029543245,"y": 4388724.089003264,"z": 4070105.7812721003},"direction": {"x": 0.64574289308262001,"y": 0.56956514491665855,"z": -0.50853875145297822},"up": {"x": -0.24582927592774592,"y": 0.78563308172943203,"z": 0.56775754331330175},"right": {"x": 0.72289977391760774,"y": -0.2416116855377268,"z": 0.64733276626592173}}}
}

迁移示例地址:V3的示例:
http://mars3d.cn/editor-vue.html?key=ex_7_10_4&id=graphic/video/video2D

迁移代码参考:

function addDemoGraphic1() {const video2D = new mars3d.graphic.Video2D({position: [117.205459, 31.842988, 64.3],style: oldStyle2New({camera: {"position": {"x": -2177820.3029543245,  "y": 4388724.089003264, "z": 4070105.7812721003},direction: { x: -0.20300781957546601, y: 0.3881445982693198, z: -0.8989613985180693 },up: { x: -0.41112481743883666, y: 0.7994469141644973, z: 0.43801942413407347 },right: { x: 0.8886867894129509, y: 0.4585067090754624, z: -0.0027180978075245542 }},dis: 70,fov: 52,aspectRatio: 3,stRotationDegree: 0})})graphicLayer.addGraphic(video2D) 
}// 历史参数转为当前最新版本的参数
function oldStyle2New(oldStyle) {const camera = new Cesium.Camera(map.scene)camera.position = oldStyle.camera.positioncamera.direction = oldStyle.camera.directioncamera.up = oldStyle.camera.upcamera.right = oldStyle.camera.rightconst angle = Cesium.Math.toDegrees(oldStyle.fov/ 2)return {distance: oldStyle.dis,angle: angle,angle2: angle / oldStyle.aspectRatio,heading: Cesium.Math.toDegrees(camera.heading) - 90,pitch: Cesium.Math.toRadians(camera.pitch),roll: Cesium.Math.toRadians(camera.roll)}
}

相关文章:

  • Springboot阶段项目---《书城项目》
  • 大厂程序员离职,开发一个盲盒小程序2万,一周开发完!
  • centos 安装mysql8 客户端
  • SpringBoot集成腾讯云敏感词校验API流程
  • vlan综合实验
  • 运维笔记.MySQL.基于mysqldump数据备份与恢复
  • 【Linux】- HBase集群部署 [19]
  • Ubuntu 22.04 docker方式启动artifactory相关
  • linux替换文件中的字符串
  • C语言 | Leetcode C语言题解之第108题将有序数组转换为二叉搜索树
  • 网上的面经【面试准备】
  • Docker打包nginx镜像丢失挂载的配置文件
  • Vue3实现上传照片以及回显
  • Linux--进程概念
  • 配置yum源
  • 10个确保微服务与容器安全的最佳实践
  • Android 架构优化~MVP 架构改造
  • android 一些 utils
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Java 多线程编程之:notify 和 wait 用法
  • javascript 总结(常用工具类的封装)
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • maya建模与骨骼动画快速实现人工鱼
  • mockjs让前端开发独立于后端
  • nodejs调试方法
  • overflow: hidden IE7无效
  • 初识MongoDB分片
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 从零开始在ubuntu上搭建node开发环境
  • 动态魔术使用DBMS_SQL
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 软件开发学习的5大技巧,你知道吗?
  • 实现菜单下拉伸展折叠效果demo
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 怎样选择前端框架
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • #Ubuntu(修改root信息)
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (3)nginx 配置(nginx.conf)
  • (C语言)fread与fwrite详解
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (苍穹外卖)day03菜品管理
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)甲方乙方——赵民谈找工作
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .NET_WebForm_layui控件使用及与webform联合使用
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET企业级应用架构设计系列之应用服务器
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)