Cesium 获取 3dtileset的包围盒各顶点坐标

Cesium 获取 3dtileset的包围盒各顶点坐标

在这里插入图片描述


/*** 获取 3dtileset的包围盒各顶点坐标, z 方向取高度最低的位置* @param {*} tileset* @param {*} options* @returns* @ref https://blog.csdn.net/STANDBYF/article/details/135012273* @ref https://community.cesium.com/t/accurate-bounding-box-for-3d-tiles/5890/10*/
export function getTilesetBoudingBoxPoints(tileset, options = {}) {const { center, halfAxes } = tileset._root._boundingVolume._orientedBoundingBox;const pointsVec3 = [];// 获取三个轴的位置const x = new Cartesian3();const y = new Cartesian3();const z = new Cartesian3();Matrix3.getColumn(halfAxes, 0, x);Matrix3.getColumn(halfAxes, 1, y);Matrix3.getColumn(halfAxes, 2, z);const halfXNegative = new Cartesian3();const halfXPositive = new Cartesian3();Cartesian3.subtract(center, x, halfXNegative)Cartesian3.add(center, x, halfXPositive)Cartesian3.subtract(halfXNegative, z, halfXNegative)Cartesian3.subtract(halfXPositive, z, halfXPositive)pointsVec3.push(Cartesian3.add(halfXNegative, y, new Cartesian3()))pointsVec3.push(Cartesian3.subtract(halfXNegative, y, new Cartesian3()))pointsVec3.push(Cartesian3.subtract(halfXPositive, y, new Cartesian3()))pointsVec3.push(Cartesian3.add(halfXPositive, y, new Cartesian3()))const pointsLL = [];pointsVec3.forEach(item=>{const ll = Cartographic.fromCartesian(item);pointsLL.push(Math.toDegrees(ll.longitude),Math.toDegrees(ll.latitude),)})return pointsLL;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/748655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

双指针算法_移动零_

题目: 给定一个数组 num ,编写一个函数将数组内部的数字0都移动到数组的末尾,同时保持非零元素的相对顺序! 同时不能通过复制数组,开辟新的数组空间的情况下原地对数组进行操作 示例: 本题的原理&#x…

【New Release】PostgreSQL小版本(16.2, 15.6, 14.11, 13.14,12.18) 发布了

前言 PostgreSQL遵循小版本的发布规律,这一个季度的小版本又发布了。可以算作是2024年第一个季度的版本发布。如果总结其规律:大概就是2月、5月、8月、11月的样子。通常因为11月配合大版本的发布,它是起点,也有可能就是终点。起点…

Docker 中 Nginx 反向代理

本文主角:Nginx Proxy Manager 。 使用docker安装Nginx Proxy Manager。 1、找到C:\Windows\System32\drivers\etc下的hosts文件,添加 “域名 IP"即可。 使用vscode编辑文件,保存时会提示用管理员权限保存即可。 2、Nginx Proxy Mana…

力扣大厂热门面试算法题 36-38

36. 有效的数独,37. 解数独,38. 外观数列,每题做详细思路梳理,配套Python&Java双语代码, 2024.03.16 可通过leetcode所有测试用例。 目录 36. 有效的数独 解题思路 完整代码 Java Python 37. 解数独 解题思…

leetcode 判断是否为平衡二叉树

这个记得第一次写还是大二用c语言,当时非递归写了好久也没写完,用python递归思路简单,就是难想了一点,人生苦短,我用python哈哈哈.... 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任…

nmcli --help(nmcli -h)nmcli文档、nmcli手册

文章目录 nmcli --helpOPTION解释OBJECT解释1. g[eneral]:查看NetworkManager的状态2. n[etworking]:启用或禁用网络3. r[adio]:查看无线电状态(例如,Wi-Fi)4. c[onnection]:列出所有的网络连接…

【上海大学计算机组成原理实验报告】一、数据传送实验

一、实验目的 了解实验仪器数据总线的控制方式。掌握数据传送的基本原理。掌握各寄存器的结构、工作原理及其控制方法。 二、实验原理 根据实验指导书的相关内容,数据输入到寄存器的过程是先通过指令选择源和目标,再通过数据总线来传送数据&#xff0…

Python强大的库和框架——Pandas

NumPy 和 Pandas 是 Python 中用于科学计算和数据分析的两个重要库。 Pandas: 1. 概述: Pandas 是用于数据处理和分析的库,建立在 NumPy 的基础上,提供了高级的数据结构和数据操作工具。Pandas 的两个主要数据结构是 Series 和 DataFrame。…

Midjourney绘图欣赏系列(九)

Midjourney介绍 Midjourney 是生成式人工智能的一个很好的例子,它根据文本提示创建图像。它与 Dall-E 和 Stable Diffusion 一起成为最流行的 AI 艺术创作工具之一。与竞争对手不同,Midjourney 是自筹资金且闭源的,因此确切了解其幕后内容尚不…

IOS面试题object-c 101-110

101. typeof 和 __typeof,typeof 的区别?__typeof __() 和 __typeof() 是 C语言 的编译器特定扩展,因为标准 C 不包含这样的运算符。 标准 C 要求编译器用双下划线前缀语言扩展(这也是为什么你不应该为自己的函数,变量等做这些) typeof() 与前两者完全相同的,只不过去掉…

C/C++ 知识点:| 与 || 的区别

文章目录 一、|与 || 的区别1、按位或运算符 |2、逻辑或运算符 ||3、区别4、总结 前言 在C编程语言中,逻辑或运算符用于连接两个条件表达式,当至少有一个条件为真时,整个表达式的结果为真。C提供了两种逻辑或运算符:按位或|和逻辑…

VS Code上,QT基于cmake,qmake的构建方法(非常详细)

VS Code上,QT基于cmake,qmake的构建方法 1 前言2 QT基于cmake的构建方法2.1 VS Code关键插件安装2.2 系统环境变量配置2.3 VS Code中,环境变量配置2.4 Cmake新建一个新的Porject 3 QT基于qmake的构建方法 1 前言 最近,由于认证了github的学生…

每日一篇 3.16

on course to 有望 no sign of 没有迹象 its economy continues to hum hum:蓬勃发展 unprecedented international sanctions unprecedented:前所未有的 sanction:制裁 change the constitution:改变宪法 overhauling the law:彻底修…

代码贴--动态顺序表--数据结构

本博客将记录操作系统中的动态顺序表的相关代码 头文件&#xff08;SeList.h&#xff09; #pragma once #include<stdio.h> #include<string.h> #include<stdlib.h> #include<assert.h> typedef int SQDataType; //动态顺序表typedef struct SeqList…

2024年Vue3 面试题小总结

Vue3 面试题小总结 1. OptionsAPI 与 CompositionAPI 的区别&#xff1f; OptionsAPI&#xff1a; 选项式API&#xff0c;通过定义data、computed、watch、method等属性与方法&#xff0c;共同处理页面逻辑&#xff1b;缺点&#xff1a; 当组件变得复杂的时候&#xff0c;导致…

《工厂模式(极简c++)》

本文章属于专栏《设计模式&#xff08;极简c版&#xff09;》 继续上一篇《设计原则》。本章简要说明工厂模式。本文分为模式说明、本质思想、实践建议、代码示例四个部分。 模式说明&#xff1a; 简单工厂模式 方案&#xff1a;对象不直接new&#xff0c;而是通过另一个类&am…

PSCA电源控制集成之隔离和复位控制注意事项

当组件更改电源模式时&#xff0c;隔离可以被应用或移除&#xff0c;并且重置可以被断言。隔离控制和重置是异步控制的。因此&#xff0c;组件输出需要被处理&#xff0c;以便任何潜在的异步变化不会影响它们通信的功能域。 隔离单元在断电或保留电源域的输出上提供恒定值&…

websocket 使用示例

websocket 使用示例 前言html中使用vue3中使用1、安装websocket依赖2、代码 vue2中使用1、安装websocket依赖2、代码 前言 即时通讯webSocket 的使用 html中使用 以下是一个简单的 HTML 页面示例&#xff0c;它连接到 WebSocket 服务器并包含一个文本框、一个发送按钮以及 …

C++初阶:类与对象(尾篇)

目录 1. 构造函数与初始化列表1.1 对象的创建与构造函数的初始化1.2 初始化列表及构造函数存在的意义1.3 explicit关键字与构造函数的类型转换 2. static成员变量与static成员函数2.1 static成员变量2.2 static成员函数 3. 日期类流插入操作符的重载与友元3.1 友元3.2 友元函数…

基于openresty构建运维工具链实践

本文字数&#xff1a;4591字 预计阅读时间&#xff1a;25 01 导读 如今OpenResty已广泛被各个互联网公司在实际生产环境中应用&#xff0c;在保留Nginx高并发、高稳定等特性基础上&#xff0c;通过嵌入Lua来提升在负载均衡层的开发效率并保证其高性能。本文主要介绍接口鉴权、流…