自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 Cesium中实现镜头光晕

镜头光晕 (Lens Flares) 是模拟相机镜头内的折射光线的效果,主要作用就是让太阳光/其他光源更加真实,和为您的场景多增添一些气氛。其实 Cesium 里面也是有实现一个镜头光晕效果的,添加方式如下,只是效果嘛,就那样。上有很多成熟的案例,找个喜欢的直接用后处理移植上去就行了。其实实现这个并不复杂,Cesium镜头光晕。

2024-04-19 17:41:21 376

原创 Cesium中加载GaussianSplatting模型

Gaussian Splatting 在保持有竞争力的训练时间的同时实现最先进的视觉质量,重要的是允许在 1080p 分辨率下实现高质量的实时(≥30 fps)的新视图合成。基于 3D Gaussian Splatting 的 SLAM 不仅全面继承了 NeRF-based SLAM 方法的优点,而且全面补足了其短板(渲染速度慢、图像质量不高、定位精度欠佳等),实现了更好的实时性、更好的渲染质量、更精确的定位精度。遗憾的是 Cesium 是没有相关的渲染库的。

2024-04-08 10:42:42 528

原创 Cesium中实现流体模拟

体积随机方法将流体看作是由大量微小的体积元素组成的系统,每个体积元素具有随机的速度和位置。:粒子方法,如经典的分子动力学方法(Molecular Dynamics, MD)和格子Boltzmann方法(Lattice Boltzmann Method, LBM),将流体看作由大量微观粒子组成的系统。它将模拟区域划分为一个或多个离散的网格单元,并根据流体的性质和运动方程,在网格点上进行数值计算。:边界元方法是一种基于势函数和其法向导数在流体边界上的离散化表示,以求解流体行为的方法。

2024-01-26 10:27:42 1553

原创 Cesium中实现全球体积云

体积云的密度计算比较简单,只需要在 RayMarching 的过程中,采样相应的噪声图,并累加噪声结果,直到达到噪声最大值或者结束步进。体渲染通常对性能消耗是很大的,因此为了保证帧数,体积云的渲染会采用较低的步进次数,这样做会导致云渲染出现分层。从该点向摄像机方向做步进,累加噪声值得到该点在摄像机方向的“深度”,深度越大损失的光能越多。与其他渲染云的方式不同,体积云是真正具有体积感的云,一个最简单的区分方式是,在某点向光源方向做 8 次步进,前 3 次在云的内部,后 5 次在云的外部。

2023-12-18 15:28:02 2034 1

原创 Cesium中使用IndexDB缓存数据

是一个简单的操作浏览器数据库的库,它有一个优雅降级策略,若浏览器不支持 IndexedDB 或 WebSQL,则使用 localStorage。IndexedDB 简单的说就是一个运行在浏览器的本地数据库,允许网页在用户的浏览器中存储结构化数据,并且可以高效地进行检索、查询和修改。因此我们只需要将请求回来的数据存储到 IndexDB 中,并且下次请求之前,先尝试从 IndexDB 中获取,如果获取得到,就用 IndexDB 的数据,如果不行才发起请求。这里还是本着会做才是自己的想法,尝试模仿着写了一个。

2023-11-10 10:56:59 885

原创 Cesium中实现顶点吸附

相信大家在 Cesium 应用过程中会遇到过类似这样的问题:如果大家用过CAD或者3DMAX等设计软件,就会发现在这些设计软件里面,我们可以很轻松的拾取到物体的顶点,这是因为开启了软件内置了顶点吸附的功能。简单地说就是鼠标靠近物体的顶点一定范围时,会将鼠标吸附到顶点上,让用户更加精确地点击到顶点的位置。由于在前端,我们很难修改鼠标显示的位置,因此在 Cesium 中我们不使用修改鼠标位置的方式来展示吸附效果。而是通过鼠标靠近时,返回一定范围内的最近顶点来实现。那么怎么获取鼠标位置的最近顶点呢?要解决这个问题

2023-11-08 16:23:53 306

原创 Cesium中实现高度雾效果

高度雾效果是一种在三维建模和渲染中广泛使用的技术,主要用于模拟现实世界中的雾气、烟雾等氛围效果。通过在场景中添加高度雾,可以增加场景的深度感、真实感和立体感,使渲染结果更加接近现实环境。由于csdn无法放置html文件,因此如果想体验效果,请移步。由于采用后处理方式实现,因此适用于场景中所有可见的物体。在Cesium中可以通过后处理的方式实现高度雾效果。Cesium中实现后处理高度雾之《迷雾下的阿美利坚》这里只是简单的使用线性雾的方式实现高度雾效果。

2023-10-20 10:11:07 549

原创 Cesium中实现支持海量范围点的地形裁切

海量的范围点可以利用掩膜的方式来提高地形裁切的渲染效率

2023-09-11 15:30:19 584 2

原创 Cesium中实现倾斜斜面压平

倾斜斜面压平其实就是倾斜压平的一个小改版。Cesium倾斜斜面压平。

2023-08-14 15:25:17 494

原创 Cesium中实现仿超图的开敞度分析

该功能主要是仿照超图的实现的。开敞度分析实际上就是可视域分析的改版,主要实现思路是绘制球面,并计算球面上每个像素是否在球心位置可见,并根据可见性设置颜色。实现思路很简单,直接看效果。

2023-06-02 18:01:46 508 1

原创 Cesium中绘制仿超图的天际线体

该功能主要是仿照超图的实现的。超图的功能分为获取天际线以及绘制天际线体,这两个功能点唯一需要解决的技术难题是如何提取天际线。而事实上提取天际线的方式非常简单,即获取场景的深度图,从深度图上提取天际线的世界坐标,最后按顺序连接这些坐标点即可。

2023-06-02 18:01:40 395 1

原创 Cesium中实现限高分析

该功能主要是仿照超图的实现的。限高分析实际上就只是对ClassificationPrimitive的应用罢了,直接看效果。

2023-06-02 17:57:19 605 2

原创 Cesium中实现阴影率分析

看到群里有人在研究这个,所以看了一下。主要是模仿超图的,实现原理超图有做回答:但其实超图的这个实现方式还是过于复杂,原因是:既然是获取太阳的日照阴影,而Cesium中原本就存在太阳,且能投射阴影,因此其实并不需要再次计算太阳位置并计算视锥获取深度图,直接使用Cesium原生的太阳深度图即可。

2023-04-18 10:02:47 1143 6

原创 Cesium 中实现影像贴 3Dtiles

Cesium中我们经常使用的图层服务除了常见的遥感影像,还会包括一些矢量数据(如宗地范围、规划用地、道路信息等),这些图层服务通常经过GeoServer之类的服务器渲染、切片供Cesium展示。但在实际应用中会发现,这些图层服务的内容会被3DTiles遮盖(特别是渲染大片倾斜数据时),这个时候,如果我们想获取这些图层上面的信息,就必须将上层的3DTiles隐藏。如下图所示(没有合适的矢量图层,用代替)影像有贴3DTiles选项吗?。

2023-04-13 10:05:47 1596

原创 Cesium加载ArcGIS的PBF矢量切片服务

即在服务端渲染好图片并进行切片,客户端请求获取图片后直接显示。而矢量切片则有别于传统的栅格切片,它在服务端切片存储的是矢量数据的描述文件,最终的渲染在服务端完成。事实上矢量切片技术目前已成为互联网地图的主流技术,无论是 Mapbox 还是高德地图、百度地图,如今打开控制台看到的数据源请求不是当年传统的一张张图片切片,而是经过压缩的二进制数据。

2023-03-16 16:36:58 3196 9

原创 Cesium中实现多光源

Cesium中实现延迟渲染多光源

2023-02-04 18:04:53 2704

原创 Cesium中实现地形压平

遇到新需求:地形与倾斜精度不一致,导致部分地形会压盖倾斜。虽然关闭地形深度测试能够解决,但是又会引发新的问题,所以决定对范围内的地形做压平处理。地形压平与倾斜压平类似,目的是将指定范围内的地形顶点修改成设定的高程。

2023-01-16 11:49:17 3258 5

原创 Cesium中获取地形三角网并进行土方计算

Cesium中获取指定范围内的地形三角网,并根据三角网计算土方量

2022-11-30 11:30:28 2146

原创 Cesium中对3D数据集进行体渲染展示

传统意义上我们构建模型都是通过构建物体的外表面去实现的,例如通过三角面构建模型,或者通过方程的形式构建隐式的表面模型。而体渲染则是通过 3d 数据集渲染物体的一种方式,典型的 3D 数据集是医学领域上的 CT,CT 是一组 2d 的切片图像(例如,每毫米深度进行一次切片),因此 3D 数据集也可以理解成一组存放 2d 贴图的数组。通过 3D 数据集可以渲染出具有内部信息的模型。

2022-10-27 08:17:21 2408

原创 Cesium中实现立体热力图

Cesium中实现立体热力图效果

2022-10-09 11:34:27 2871 9

原创 Cesium中实现下雪覆盖效果

在Cesium中实现下雪覆盖有两种实现方式,后处理或修改模型着色器。

2022-09-16 15:48:30 1910 5

原创 Cesium中实现体渲染

本次目的是在Cesium中复现threejs的两个体渲染示例

2022-08-24 10:37:40 3194 3

原创 树莓派基于Gitea搭建代码仓库

在树莓派上利用gitea搭建自己的Git服务器

2022-07-20 16:15:39 724

原创 Cesium中离屏渲染的应用

离屏渲染(Off-Screen Rendering)顾名思义,指的是定义另外一个相机,并让GPU在当前屏幕缓冲区之外再开辟一个新的缓冲区,通过自定义的另一个相机进行渲染操作。这一块新的frame buffer可以用来作为画面输出,也可以用于参与计算。...

2022-06-22 17:08:14 1605

原创 Cesium中的离屏渲染

在Cesium中创建FBO实现离屏渲染

2022-06-22 16:45:08 1313 1

原创 Cesium中实现地形抬升

该地形抬升效果主要是仿照超图的“地形开挖抽出显示”功能实现的。并且最终效果要优于超图。

2022-06-22 16:37:48 2489

原创 树莓派基于Gitea搭建代码仓库

树莓派基于Gitea搭建代码仓库

2022-06-22 16:28:46 531

原创 树莓派开机自动发送IP至QQ邮箱

我的树莓派都是通过wifi进行网络连接的。树莓派会经常挪动位置,且每次重新连接WiFi(不同地方),IP地址都会改变。那么这里就提供一种解决方案。在每次树莓派开机并且连接WiFi成功后就发送邮件到QQ邮箱中。具体操作方式如下:1、首先开启QQ邮箱的SMTP协议。进入邮箱点击设置点击账户开启服务开启时需要发送短信,获取授权码,授权码就是密码,要记下来。2、编写Python脚本mail.py获取IP信息,并发送邮件import smtplibfrom email.mime.te

2021-02-26 14:39:15 756 1

原创 利用docker部署angualr项目到Linux服务器

打包angualr项目:ng build --prod编写Dockerfile文件:# 使用nginx-1.18.0的镜像FROM nginx:1.18.0# 拷贝前端代码到nginx容器中ADD threejs /usr/share/nginx/html# 暴露80端口EXPOSE 80# 容器启动命令CMD ["nginx", "-g", "daemon off;"]将打包完成的项目和Dockerfile文件一起上传至服务器:ssh连接服务器,并cd到的项目和Dockerf

2021-01-07 13:50:33 154

原创 SpringBoot连接MySQL,并通过docker部署至Linux服务器

首先需要在服务器上安装MySQL并且配置好远程连接,安装及配置方式可参考:Ubuntu 20.x 安装 MySQL8.x 并配置远程连接我的MySQL表结构如下:创建SpringBoot项目,并添加下列依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-we

2021-01-07 10:28:07 377

原创 Ubuntu 20.x 安装 MySQL8.x 并配置远程连接

安装MySQL8.x#命令1sudo apt-get update#命令2sudo apt-get install mysql-server配置MySQL开始初始化sudo mysql_secure_installation#1VALIDATE PASSWORD PLUGIN can be used to test passwords...Press y|Y for Yes, any other key for No: N (我的选项) #2Please set the pas

2020-12-28 17:13:29 2197 2

原创 Cesium获取模型姿态的方法

想要获取Cesium中的模型姿态,首先需要获取模型的旋转矩阵。模型矩阵的获取方式如下:glb/gltf类型的模型,模型矩阵为模型对象的modelMatrix字段。3DTileset类型的模型,模型矩阵为模型对象的_clippingPlanesOriginMatrix字段。模型缩放比例:var scale= Cesium.Matrix4.getScale( modelMatrix, new Cesium.Cartesian3() );模型位置:var position = Cesium.Mat

2020-12-09 16:39:32 1680 2

原创 NgRx/Store 使用示例

创建已下文件:index.tsexport * from './video-gis.selector';export * from './video-gis.actions';export * from './video-gis.reducer';export * from './video-gis.module';video-gis.actions.tsimport { Action } from '@ngrx/store';import {VideoInfo } from './vid

2020-09-08 16:41:40 449

原创 在Angular框架中配置Cesium

1).首先我们安装cesium,在webstorm中的Termianl中输入npm install --save cesium2).再安装类型描述文件,让TypeScript认识Cesiumnpm install @types/cesium --save3 )修改内容 打开angular.json文件,添加如下信息4).在main.ts中配置Cesium的环境路径 main.ts中添加以下语句 window['CESIUM_BASE_URL'] = 'src/assets/ces

2020-09-08 16:24:37 558

原创 用迷宫演示的递归与回溯

public class MapTest {//用迷宫演示的递归与回溯 public int[][] createMap() { int[][] Map=new int[8][8]; for(int i=0;i<8;i++){ Map[0][i]=1; Map[7][i]=1; } for(int i=0;i<8;i++){ Map[i][0]=1; Map[i][7]=1; } Map[4][3]=1;Map[4][4]=1;Map[4][

2020-07-05 20:09:17 82

原创 一些常见的排序算法

////////////////////////////复杂度为N^2的排序////////////////////////////////////////////////常见的有:插入排序、冒泡排序、选择排序(地精排序,是插入排序的另一种写法,可以只用一个循环) public static int[] chaRu(int[] ins){//插入排序 时间复杂度:N^2 //小学生排队,每进来一个人就走到自己的相应位置 //当前数前面的数对都是有序数对,只需将当前的数插入前面的数对中

2020-07-05 20:06:33 91

原创 用Java实现的后序表达式计算类,支持科学计算

用Java实现支持科学计算的数学公式运算类通过对现有的后序表达式计算方法,经过稍许改动实现支持科学计算废话不多说,直接上代码计算类代码如下:import java.text.DecimalFormat;import java.util.ArrayList;import java.util.List;import java.util.Stack;public class Expre...

2020-02-01 13:27:50 420 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除