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

3d模型的添加与设置

在cesium中我们可以手动在地图中添加3d模型,通过准备好的资源进行添加,我们这里以飞机为例

// 定义一个名为 createModel 的函数,用于在 Cesium 场景中创建和显示一个 3D 模型
// 参数 url 是模型文件的路径,height 是模型的初始高度
function createModel(url, height) {// 清除场景中已有的所有实体,避免模型过多导致混乱viewer.entities.removeAll();// 根据给定的经纬度和高度,计算模型在地球上的初始位置// 这里使用了 Cesium 提供的 Cartesian3.fromDegrees 方法,将经纬度和高度转换为笛卡尔坐标const position = Cesium.Cartesian3.fromDegrees(-123.0744619, // 经度44.0503706,   // 纬度height,       // 高度);// 定义模型的初始朝向,这里使用了四元数来表示方向// heading 是绕 z 轴的旋转角度,单位是弧度,这里设置为 135 度const heading = Cesium.Math.toRadians(135);const pitch = 0;  // pitch 是绕 y 轴的旋转角度,这里设置为 0const roll = 0;   // roll 是绕 x 轴的旋转角度,这里设置为 0const hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);// 根据位置和朝向计算模型的四元数方向const orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr);// 在场景中添加一个新的实体,用于表示模型const entity = viewer.entities.add({name: url, // 将模型文件的路径作为实体的名称,方便识别position: position, // 设置实体的位置orientation: orientation, // 设置实体的方向model: { // 配置模型的相关属性uri: url, // 模型文件的路径minimumPixelSize: 128, // 模型在屏幕上的最小像素大小,保证模型在远处也能清晰显示maximumScale: 20000, // 模型的最大缩放比例,防止模型过大},});// 将新添加的模型实体设置为当前跟踪的实体,使场景的视角聚焦在该模型上viewer.trackedEntity = entity;
}

保存运行后如下

http://www.xdnf.cn/news/412525.html

相关文章:

  • VMware虚拟机实例-docker启动失败
  • Linux文件编程——read函数与lseek函数
  • 火狐浏览器安装自定义插件
  • 人工智能的哲学与社会影响
  • 【时时三省】(C语言基础)字符数组的输入输出
  • 做好的QT软件,换一个笔记本打开后发现字体很小,部分字体还被控件遮挡
  • 提示工程实战指南:Google白皮书关键内容一文讲清
  • 第二十二天打卡
  • #将一个 .c 文件转变为可直接运行的文件过程及原理
  • CTF实战秘籍:跨平台文件合并与数据重构技术
  • linux-进程信号的产生
  • OJ判题系统第4期之判题机模块架构——设计思路、实现步骤、代码实现(工厂模式、代理模式的实践)
  • 嵌入式MCU和Linux开发哪个好?
  • FreeRTOS的学习记录(基础知识)
  • FPGA----petalinux开机启动自定义脚本/程序的保姆级教程(二)
  • 【超详细教程】安卓模拟器如何添加本地文件?音乐/照片/视频一键导入!
  • 利用基于LLM的概念提取和FakeCTI数据集提升网络威胁情报对抗虚假信息活动的能力
  • 区块链+农业:从田间到餐桌的信任革命
  • Ref是什么
  • 洛谷 P1082:[NOIP 2012 提高组] 同余方程 ← 求逆元
  • 代码随想录训练营第二十二天| 101.对称二叉树 100.相同的树
  • 综合实验二之grub2密文加密
  • (leetcode) 力扣100 10.和为K的子数组(前缀和+哈希)
  • 【Bootstrap V4系列】学习入门教程之 组件-模态框(Modal)
  • css 点击后改变样式
  • Megatron系列——张量并行
  • 我们来学mysql -- 安装8.4版本
  • 在CentOS 7上仅安装部署MySQL 8.0客户端
  • 将arduino开发的Marlin部署到stm32(3D打印机驱动)
  • 【GESP】C++三级练习 luogu-B2156 最长单词 2