Cesium中实现倾斜斜面压平 实现原理 倾斜斜面压平其实就是倾斜压平的一个小改版。 倾斜压平实现过程可以简单的规划成: 传入范围和范围对应的压平高度 根据范围修改3DTiles的包围盒剔除规则(非必须,但是如果不更改可能会出现视椎体剔除错误) 将范围和压平高度信息传入着色器 顶点着色器中判断当前顶点是否在范围内 如果在范围内,则修改顶点位置到指定高度 倾斜斜面压平实现过程类似,可以简单的规划成: 传入平面范围 根据范围修 2023-08-10 Cesium #Cesium #图形学 #算法 #JavaScript
Cesium中获取地形最高等级瓦片的三角网进行土方计算 获取最高精度的地形在文章 Cesium 中获取地形三角网并进行土方计算 中已经可以获取到当前显示的地形瓦片的三角网。 但是如果想分析大范围的地形,就需要将相机移动到能够显示所有地形的位置,那么此时由于 LOD 的关系,地形瓦片以较低精细度的等级显示,无法做到高精度的分析。 同时如果想分析不在视野里面的地形,上述文章的方法也无法分析。 要解决上面的问题,需要先解决如何获取范围内最高精度的地形瓦片。 2023-06-26 Cesium #Cesium #图形学 #算法 #JavaScript
Cesium中实现限高分析 限高分析该功能主要是仿照超图的限高分析实现的。 限高分析实际上就只是对ClassificationPrimitive的应用罢了,直接看效果。 实现效果 其他 2023-06-02 Cesium #Cesium #图形学 #算法 #JavaScript
Cesium中实现仿超图的开敞度分析 开敞度分析 该功能主要是仿照超图的开敞度分析实现的。 开敞度分析实际上就是可视域分析的改版,主要实现思路是绘制球面,并计算球面上每个像素是否在球心位置可见,并根据可见性设置颜色。 实现思路很简单,直接看效果 其他 2023-06-02 Cesium #Cesium #图形学 #算法 #JavaScript
Cesium中绘制仿超图的天际线体 天际线体 该功能主要是仿照超图的天际线体实现的。 超图的功能分为获取天际线以及绘制天际线体,这两个功能点唯一需要解决的技术难题是如何提取天际线。 而事实上提取天际线的方式非常简单,即获取场景的深度图,从深度图上提取天际线的世界坐标,最后按顺序连接这些坐标点即可。 实现效果 2023-06-02 Cesium #Cesium #图形学 #算法 #JavaScript
Cesium实现瓦片颜色滤镜 仿火星科技的 瓦片颜色滤镜 示例实现的效果。 该效果可以通过修改颜色实现夜景效果,而不必发布夜景的影响服务。 实现思路 实现思路其实很简单,火星科技的示例和 API 文档里都已经提供了计算方法 因此只需要在源码中仿照 ImageryLayer 原本就有的 brightness 、contrast 等参数实现如上的两个参数即可。 实际效果 2023-05-04 Cesium #Cesium #图形学 #算法 #JavaScript
Cesium中实现阴影率分析 看到群里有人在研究这个,所以看了一下。主要是模仿超图的 阴影率分析 ,实现原理超图有做回答: 但其实超图的这个实现方式还是过于复杂,原因是:既然是获取太阳的日照阴影,而 Cesium 中原本就存在太阳,且能投射阴影,因此其实并不需要再次计算太阳位置并计算视锥获取深度图,直接使用 Cesium 原生的太阳深度图即可。 改进后的实现原理 改进的方向主要是直接利用原本就存在的太阳阴影深度图: 生成测 2023-04-18 Cesium #Cesium #图形学 #算法 #JavaScript
Cesium中实现影像贴3Dtiles Cesium 中我们经常使用的图层服务除了常见的遥感影像,还会包括一些矢量数据(如宗地范围、规划用地、道路信息等),这些图层服务通常经过 ArcGIS Server / GeoServer 之类的服务器渲染、切片供 Cesium 展示。 但在实际应用中会发现,这些图层服务的内容会被 3DTiles 遮盖(特别是渲染大片倾斜数据时),这个时候,如果我们想获取这些图层上面的信息,就必须将上层的 3DT 2023-04-13 Cesium #Cesium #图形学 #算法 #JavaScript
Cesium中支持任意数据的土方计算 利用三角网的土方量计算在之前的文章 Cesium 中获取地形三角网并进行土方计算 中提到了通过获取地形三角网来进行土方量计算的方法,这种方法的优点是计算效率高,并且结果一定是准确的,但缺点是只能针对地形进行计算。 最近时不时就有人问我有没有能够支持 3DTiles 的土方量计算。这里统一回答,Cesium 为了保证性能,在解析 3DTiles 时,将解析完成的信息推送到 GPU 之后,就将这些信息 2023-04-07 Cesium #Cesium #图形学 #算法 #JavaScript
Cesium加载ArcGIS的PBF矢量切片服务 矢量切片(Vector Tiles) 在 Cesium 中,我们使用的地图服务均为传统的栅格切片服务。即在服务端渲染好图片并进行切片,客户端请求获取图片后直接显示。 而矢量切片则有别于传统的栅格切片,它在服务端切片存储的是矢量数据的描述文件,最终的渲染在客户端完成。 事实上矢量切片技术目前已成为互联网地图的主流技术,无论是 Mapbox 还是高德地图、百度地图,如今打开控制台看到的数据源请求不是当 2023-03-16 Cesium #Cesium #图形学 #算法 #JavaScript