System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种在Cesium三维场景的多边形可视域分析方法、设备及存储介质技术_技高网

一种在Cesium三维场景的多边形可视域分析方法、设备及存储介质技术

技术编号:41113945 阅读:3 留言:0更新日期:2024-04-25 14:05
本发明专利技术公开了一种在Cesium三维场景的多边形可视域分析方法、计算机设备和计算机可读存储介质。该方法包括:在三维场景中绘制分析边界,计算分析边界、视锥体与三维场景三者的相交图形;基于相交图形的图形纹理、阴影以及视锥体的属性创建WebGL视图;基于WebGL对图形纹理每个像素的可见性和阴影的可见性进行分析;根据图形纹理每个像素的可见性和阴影的可见性,将图形纹理每个像素渲染在三维场景中,得到可见和不可见的分析效果;该方法不但操作方便、计算效率高、准确度高等优势,还弥补了Cesium不能进行多边形可视域分析的缺口。

【技术实现步骤摘要】

本专利技术涉及计算机图形学,尤其涉及一种在cesium三维场景的多边形可视域分析方法、计算机设备和计算机可读存储介质。


技术介绍

1、cesium是一个用于创建三维地球和地理空间数据交互式可视化应用程序,它基于javascript语言,利用webgl(全写web graphics library)技术在web浏览器中实现高性能的三维地理空间可视化。

2、随着cesium技术的飞速发展和三维地理空间可视化市场需求规模暴涨,城市规划、景观分析、安全规划、军事应用、自动驾驶和交通规划、遥感影像分析等场景中,都需要研究和模拟地表上各种地物的可视性和遮挡关系,即可视域分析,以便合理规划城市的布局、景观设计、评估景观的美感和可达性、设计安全防护措施和监控系统、进行战术规划和作战模拟、设计交通信号系统和交通规划、评估地表上的覆盖物类型和资源分布等。

3、如何精准分析cesium三维场景中圈出区域(由多个点、线、面组成的多边形)和地表上各地物的可视性和遮挡关系,是本领域的难题。目前在cesium三维场景实际进行可视域分析的操作过程中,难以将分析边界设置为实际需要的多边形,且需要大量操作底层api,而底层api使用图形学术语,需要开发人员熟练图形学和opengl编程的知识,操作难度高。


技术实现思路

1、为了克服现有技术的不足,本专利技术的目的在于提供一种在cesium三维场景的多边形可视域分析方法、计算机设备和计算机可读存储介质,具有操作方便、计算效率高、准确度高等优势,还弥补了cesium不能进行多边形可视域分析的缺口。

2、本专利技术的多边形可视域分析方法采用如下技术方案实现:

3、一种在cesium三维场景的多边形可视域分析方法,包括以下步骤:

4、在三维场景中绘制分析边界,计算分析边界、视锥体与三维场景三者的相交图形;

5、基于相交图形的图形纹理、阴影以及视锥体的属性创建webgl视图;

6、基于webgl对图形纹理每个像素的可见性和阴影的可见性进行分析;

7、根据图形纹理每个像素的可见性和阴影的可见性,将图形纹理每个像素渲染在三维场景中,得到可见和不可见的分析效果。

8、进一步地,所述在三维场景中绘制分析边界,计算分析边界、视锥体与三维场景三者的相交图形,包括:

9、步骤1:使用绘制工具,在三维场景中绘制出分析边界;

10、步骤2:获取三维场景中由虚拟相机构建的视锥体;

11、步骤3:使用射线追踪计算视锥体6个面与三维场景的相交图形;

12、步骤4:使用射线追踪计算步骤1结果和步骤3结果的相交图形。

13、进一步地,在步骤1中,绘制出的分析边界为线段或多边形;在步骤3中,计算出的相交图形为相交多边形;在步骤4中,计算出的相交图形为相交线段或相交多边形。

14、进一步地,所述基于相交图形的图形纹理、阴影以及视锥体的属性创建webgl视图,包括:

15、步骤5:将步骤4的结果绘制在canvas上,并加载到cesium场景中,然后通过cesium的texture方法或readpixels方法获取图形纹理,并作为范围参数boundarytexure传入步骤7;

16、步骤6:获取步骤2中视锥体的视点、视角、垂直夹角、水平夹角、投影方式、光源、光源方向和最大距离,以及获取步骤4结果在光源下的阴影shadowmap,作为参数传入步骤7;

17、步骤7:根据步骤5和步骤6传入的参数,创建webgl视图。

18、进一步地,所述基于webgl对图形纹理每个像素的可见性和阴影的可见性进行分析,包括:

19、步骤8:通过webgl的texture2d函数读取boundarytexure每个像素的颜色和深度信息;基于以下的步骤9~步骤14,对boundarytexure每个像素的可见性和shadowmap阴影的可见性进行分析;

20、步骤9:根据像素的深度值判断像素是否超出视野,若是则结束该像素的可视分析;

21、步骤10:根据像素的深度值和纹理坐标,通过cesium内置的toeye方法计算像素的位置和法线信息;

22、步骤11:根据像素的位置和法线信息,以及shadowmap的阴影深度偏差depthbias、阴影深度depth和投影坐标xy参数,计算出像素的阴影可见性;

23、步骤12:根据像素的位置和光源位置计算出阴影空间坐标,并判断该坐标是否在阴影贴图的范围内,若否则结束该像素的可视分析;

24、步骤13:根据视点和光源位置计算出像素到光源的距离,并判断该距离是否大于步骤6中获取的视锥体的最大距离,若是则结束该像素的可视分析;

25、步骤14:根据光源方向、上方向、右方向以及像素和光源的位置,计算出像素和光源之间的水平夹角和垂直夹角,并判断是否超出步骤6中获取的视锥体的水平夹角和垂直夹角,若是则结束该像素的可视分析。

26、进一步地,所述步骤7包括:将步骤5和步骤6获取的结果,以及自定义片源着色器fragmentshader代码,作为参数传入cesium的postprocessstage对象,然后将实例化postprocessstage后得到的postprocessstage,添加到cesium scene的postprocessstages对象中,由cesium场景内部每次更新时执行postprocessstage实例;

27、在步骤8中,所述通过webgl的texture2d函数读取boundarytexure每个像素的颜色和深度信息,包括:postprocessstage实例运行时,执行fragmentshader代码,fragmentshader代码调用webgl的texture2d函数读取boundarytexure每个像素的颜色和深度信息。

28、进一步地,所述步骤9包括:postprocessstage实例运行时,webgl根据boundarytexure中像素的深度值判断像素是否超出视野,如果像素的深度值≥1.0,则该像素超出了视野,结束该像素的可视分析。

29、进一步地,根据图形纹理每个像素的可见性和阴影的可见性,将图形纹理每个像素渲染在三维场景中,得到可见和不可见的分析效果,包括:

30、步骤15:postprocessstage实例运行时,通过循环步骤9~步骤14,得到boundarytexure每个像素的可见性和shadowmap阴影的可见性,根据boundarytexure每个像素的可见性和shadowmap阴影的可见性,通过webgl将boundarytexure每个像素渲染在三维场景中,得到可见和不可见的分析效果。

31、本专利技术的计算机设备采用如下技术方案实现:

32、一种计算机设备,包括存储器、处理器以及存储在存储器上并且可本文档来自技高网...

【技术保护点】

1.一种在Cesium三维场景的多边形可视域分析方法,其特征在于,包括以下步骤:

2.如权利要求1所述的多边形可视域分析方法,其特征在于,所述在三维场景中绘制分析边界,计算分析边界、视锥体与三维场景三者的相交图形,包括:

3.如权利要求2所述的多边形可视域分析方法,其特征在于,在步骤1中,绘制出的分析边界为线段或多边形;在步骤3中,计算出的相交图形为相交多边形;在步骤4中,计算出的相交图形为相交线段或相交多边形。

4.如权利要求2所述的多边形可视域分析方法,其特征在于,所述基于相交图形的图形纹理、阴影以及视锥体的属性创建WebGL视图,包括:

5.如权利要求4所述的多边形可视域分析方法,其特征在于,所述基于WebGL对图形纹理每个像素的可见性和阴影的可见性进行分析,包括:

6.如权利要求5所述的多边形可视域分析方法,其特征在于,所述步骤7包括:将步骤5和步骤6获取的结果,以及自定义片源着色器fragmentShader代码,作为参数传入Cesium的PostProcessStage对象,然后将实例化PostProcessStage后得到的postProcessStage,添加到Cesium scene的postProcessStages对象中,由Cesium场景内部每次更新时执行postProcessStage实例;

7.如权利要求6所述的多边形可视域分析方法,其特征在于,所述步骤9包括:postProcessStage实例运行时,WebGL根据boundaryTexure中像素的深度值判断像素是否超出视野,如果像素的深度值≥1.0,则该像素超出了视野,结束该像素的可视分析。

8.如权利要求7所述的多边形可视域分析方法,其特征在于,根据图形纹理每个像素的可见性和阴影的可见性,将图形纹理每个像素渲染在三维场景中,得到可见和不可见的分析效果,包括:

9.一种计算机设备,包括存储器、处理器以及存储在存储器上并且可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1-8任一项所述的多边形可视域分析方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-8任一项所述的多边形可视域分析方法。

...

【技术特征摘要】

1.一种在cesium三维场景的多边形可视域分析方法,其特征在于,包括以下步骤:

2.如权利要求1所述的多边形可视域分析方法,其特征在于,所述在三维场景中绘制分析边界,计算分析边界、视锥体与三维场景三者的相交图形,包括:

3.如权利要求2所述的多边形可视域分析方法,其特征在于,在步骤1中,绘制出的分析边界为线段或多边形;在步骤3中,计算出的相交图形为相交多边形;在步骤4中,计算出的相交图形为相交线段或相交多边形。

4.如权利要求2所述的多边形可视域分析方法,其特征在于,所述基于相交图形的图形纹理、阴影以及视锥体的属性创建webgl视图,包括:

5.如权利要求4所述的多边形可视域分析方法,其特征在于,所述基于webgl对图形纹理每个像素的可见性和阴影的可见性进行分析,包括:

6.如权利要求5所述的多边形可视域分析方法,其特征在于,所述步骤7包括:将步骤5和步骤6获取的结果,以及自定义片源着色器fragmentshader代码,作为参数传入cesium的postprocessstage对象,然后将实例化postprocessstage后得到...

【专利技术属性】
技术研发人员:石立阳邱伟洋曹琪黄星淮祝昌宝王哲陈洪杰杨建曾庆睿
申请(专利权)人:数元科技广州有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1