CN111429559B - 基于图形学的gis系统模拟水体的数据处理方法及装置 - Google Patents
基于图形学的gis系统模拟水体的数据处理方法及装置 Download PDFInfo
- Publication number
- CN111429559B CN111429559B CN202010180967.8A CN202010180967A CN111429559B CN 111429559 B CN111429559 B CN 111429559B CN 202010180967 A CN202010180967 A CN 202010180967A CN 111429559 B CN111429559 B CN 111429559B
- Authority
- CN
- China
- Prior art keywords
- water body
- water
- parameter
- parameters
- simulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A10/00—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
- Y02A10/40—Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及基于图形学的GIS系统模拟水体的数据处理方法及装置,方法包括:以一自定义多边形实体为载体作为模拟水体特效的基础数据;通过水体不同的地理特征边界绘制水体的轮廓结构;分别输入多个参数作为水体模拟的可调式参数;通过柏林噪声算法,输入一个变化的二维向量uv作为基础参数进行特征计算,得到模拟水体的参数数据;根据提供的参数进行调试,模拟各种水体的效果并输出显示。本发明实现了可编写一些特效来辅助呈现业务事件中描述的事态,以实现各种描述的水体模拟,并有区分度体现,能让使用者从视觉上就判断出水体的种类情况,方便用户操作使用,并且实现简单,可靠性高。
Description
技术领域
本申请涉及网络地理信息系统技术领域,特别是涉及一种基于图形学的GIS系统模拟水体的数据处理方法及装置、计算机设备、可读存储介质。
背景技术
在webgis(网络地理信息系统)领域常需要对一些事件或效果进行可视化呈现、还原。例如呈现还原各种水体的流动效果,这些特效往往较难实现,或实现效率很差导致无法集成使用。
现有技术的webgis系统本身更倾向于专业的地理属性功能,基本没有提供一些生动特效的集成,但实际在应用webgis系统进行业务开发时会遇到一些需求,例如在水利相关项目需要根据数据表达各种类型的水体,海洋、湖泊、水库、河水甚至是污染水源,webgis系统在表达水体效果时明显缺乏表现力,常见的解决方案是绘制一块蓝色的半透明多边形代替,死板且没有区分度,不能让使用者从视觉上就判断出水体的种类情况,有时不方便用户使用。
因此,现有技术有待改进。
发明内容
本发明针对上述现有技术中的技术问题,提供一种基于图形学的GIS系统模拟水体的数据处理方法及装置、计算机设备、可读存储介质,本发明实现了可编写一些特效来辅助呈现业务事件中描述的事态,以实现各种描述的水体模拟,并有区分度体现,能让使用者从视觉上就判断出水体的种类情况,方便用户操作使用,并且实现简单,可靠性高。
本发明的技术方案如下:
一种基于图形学的GIS系统模拟水体的数据处理方法,其中,所述方法包括:
预先将实体和表现分别抽象成几何体和材质;水体模拟效果针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;
以一自定义多边形实体为载体作为模拟水体特效的基础数据;
通过水体不同的地理特征边界绘制水体的轮廓结构;
分别输入多个参数作为水体模拟的可调式参数;
通过柏林噪声算法,输入一个变化的二维向量u作为基础参数进行特征计算,得到模拟水体的参数数据;
根据提供的参数进行调试,模拟各种水体的效果并输出显示。
所述基于图形学的GIS系统模拟水体的数据处理方法,其中,所述预先将实体和表现分别抽象成几何体和材质;水体模拟效果针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义的步骤之前还包括:
选用开源图形引擎mapboxgl.js和three.js作为开发工具;选用webgis领域的地图开源引擎mapboxgl.js作为开发工具,用作地理信息系统;选用web端通用引擎的three.js作为开发工具,支持图形学底层接口webgl的开发;
进行水体模拟的程序设计;以一个自定义着色器为载体,编写模拟水体流动的程序。
所述基于图形学的GIS系统模拟水体的数据处理方法,其中,所述通过水体不同的地理特征边界绘制水体的轮廓结构的步骤包括:
以一个自定义着色器为载体,为水体模拟效果设置着色器;将水体模拟效果的程序目标分解为着色器程序中改变顶点变化的程序目标;
使平面上每个顶点,按照一定规则进行变化,规律体现在水波纹的连续性、浪潮的节律、水体的反光、水体的颜色。
所述基于图形学的GIS系统模拟水体的数据处理方法,其中,所述分别输入多个参数作为水体模拟的可调式参数步骤中的可调式参数包括:
用于模拟连续变化的水体滚动的当前时间参数time,用于表示水体反光剧烈程度的反光程度参数heighlightreflect,以及水体流淌速度参数speed,水体波动频度参数freq,汹涌程度参数choppy,全局光照颜色参数lightcolor,以及海水颜色参数watercolor,以及分辨率参数iResolution。
所述基于图形学的GIS系统模拟水体的数据处理方法,其中,所述通过柏林噪声算法,输入一个变化的二维向量uv作为基础参数进行特征计算,得到模拟水体的参数数据的步骤包括:
输入一变化的二维向量uv作为参数作为基础进行特征计算;
模拟的水体是自定义多边形实体,近似于一个平面;
通过噪声算法的变化的二维向量参数uv参数,选择为vec2(0.0+(1.0+time*speed))*freq,3.5+(1.0+time*speed))*freq);
其中vec2为通过片元着色器的一个二维向量,第一个分量是0.0+(1.0+time*speed))*freq,含义是1.0+当前连续变化的时间参数乘以当前水体流淌速度,其结构再乘以水体波动频率;作为噪声算法的uv参数包含了当前时间、水体流淌速度、水体波动频率,第二个分量将最前面1.0换成了3.5,相对第一分量体现出一定的变化;
将uv参数输入噪声算法进行计算,片元着色器逐片元工作计算噪声值时,得到的结果是一个浮点值float,该值即是噪声算法的结果;该结果表示水体当前哪个位置该显示什么灰度的一个数值,每个片元位置一个值;将上述结果作为参数一;
再使用一个自然变化的向量,平面uv坐标/分辨率*一个随机三维向量得到参数二;一个随机三维向量为:vec3ang=vec3(sin(time*3.0)*0.1,sin(time)*0.2+0.3,time);该随机三维向量即表达了水体的随机波动性;
根据参数一和参数二共同在片元着色器中计算出随时间time和各设定值下,水体各位置应该呈现的灰度或颜色、波动细节、连续性特征,完成模拟。
所述基于图形学的GIS系统模拟水体的数据处理方法,其中,所述根据提供的参数进行调试,模拟各种水体的效果并输出显示的步骤包括:
根据不同水体的开发提供的参数选择和入口,进行调试,模拟各种水体的效果并输出显示。
所述基于图形学的GIS系统模拟水体的数据处理方法,其中,所述分别输入多个参数作为水体模拟的可调式参数的步骤还包括:
定义各种水体模拟参数,用于噪声算法调用计算模拟。
一种根据所述的基于图形学的GIS系统模拟水体的数据处理方法的装置,其中,所述装置包括:
预先设置模块,用于预先将实体和表现分别抽象成几何体和材质;水体模拟效果针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;
基础数据处理模块,用于以一自定义多边形实体为载体作为模拟水体特效的基础数据;
描绘模块,用于通过水体不同的地理特征边界绘制水体的轮廓结构;
参数预处理模块,用于分别输入多个参数作为水体模拟的可调式参数;
水体模拟模块,用于通过柏林噪声算法,输入一个变化的二维向量(uv)作为参数作为基础进行特征计算,得到模拟水体的参数数据;
调式输出模块,用于根据提供的参数进行调试,模拟各种水体的效果并输出显示。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现任一项所述基于图形学的GIS系统模拟水体的数据处理方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现任一项所述的基于图形学的GIS系统模拟水体的数据处理方法的步骤。
与现有技术相比,本发明实施例具有以下优点:
提供一种基于图形学的GIS系统模拟水体的数据处理方法及装置、计算机设备、可读存储介质,本发明实现了可编写一些特效来辅助呈现业务事件中描述的事态,以实现各种描述的水体模拟,并有区分度体现,能让使用者从视觉上就判断出水体的种类情况,方便用户操作使用,并且实现简单,可靠性高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1的一种基于图形学的GIS系统模拟水体的数据处理方法的流程示意图。
图2为本发明实施例2的一种基于图形学的GIS系统模拟水体的数据处理方法的流程示意图。
图3为本发明实施例3的一种基于图形学的GIS系统模拟水体的数据处理方法的流程示意图。
图4、图6、图8、图10、图12为本发明实施例3的一种基于图形学的GIS系统模拟水体的数据处理方法的参数设置示意图。
图5为设置图4所示参数得到的水库效果图。
图7为设置图6所示参数得到的河水效果图。
图9为设置图8所示参数得到的湖水效果图。
图11为设置图10所示参数得到的海水效果图。
图13为设置图12所示参数得到的污染水效果图。
图14为本发明实施例中一种基于图形学的GIS系统模拟水体的数据处理装置的结构示意图。
图15为本发明实施例中计算机设备的内部结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人经过研究发现,现有技术的webgis系统本身更倾向与专业的地理属性功能,基本没有提供一些生动特效的集成,但实际在应用webgis系统进行业务开发时会遇到一些需求,例如在水利相关项目需要根据数据表达各种类型的水体,海洋、湖泊、水库、河水甚至是污染水源,webgis系统在表达水体效果时明显缺乏表现力,常见的解决方案是绘制一块蓝色的半透明多边形代替,死板且没有区分度,不能让使用者从视觉上就判断出水体的种类情况,有时不方便用户使用。
为了解决上述问题,在本发明实施例中实现了可编写一些特效来辅助呈现业务事件中描述的事态,以实现各种描述的水体模拟,并有区分度体现,能让使用者从视觉上就判断出水体的种类情况,方便用户操作使用,并且实现简单,可靠性高,下面结合附图,详细说明本发明的各种非限制性实施方式。
实施例1、本发明实施例提供的基于图形学的GIS系统模拟水体的数据处理方法,可以概括为图1所示的流程步骤:
如图1所示,实施例1提供的基于图形学的GIS系统模拟水体的数据处理方法包括以下步骤:
步骤10、选择mapboxgl.js和three.js作为开发工具。
步骤20、设计水体模拟程序的具体效果和目标,包括步骤21、自定义多边形实体;及步骤22、自定义着色程序;以及步骤23、通过柏林噪声算法。
步骤30、编写具体片元着色器程序实现效果,包括步骤31、定义各种水体模拟参数;以及步骤32、噪声算法调用、计算模拟。
步骤40、得到模拟效果。
实施例2、本发明实施例2的一种基于图形学的GIS系统模拟水体的数据处理方法,如图2所示,实施例2提供的基于图形学的GIS系统模拟水体的数据处理方法包括以下步骤:
步骤S100、预先将实体和表现分别抽象成几何体和材质;水体模拟效果针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;
本发明在步骤S100之前还包括:选用开源图形引擎mapboxgl.js和three.js作为开发工具;选用webgis领域的地图开源引擎mapboxgl.js作为开发工具,用作地理信息系统;选用web端通用引擎的three.js作为开发工具,支持图形学底层接口webgl的开发;
进行水体模拟的程序设计;以一个自定义着色器为载体,编写模拟水体流动的程序。
选用合适的开发环境工具。选择mapboxgl.js和three.js作为开发工具。
mapboxgl.js和three.js均是世界级开源图形引擎。mapboxgl.js是webgis领域的地图开源引擎,用作地理信息系统。three.js是web端通用引擎,有丰富的社区开发组件和积累,高度抽象的图形绘制和拓展丰富的接口。
该步骤的好处是:采用开源技术能够在最短时间内搭建webgis系统,具备相当的成熟度和扩展性。其中mapboxgl.js可以将three.js作为一个图层单独渲染在地图中,而three.js丰富的接口支持图形学底层接口webgl的开发,利用webgl的管线编程可以调用GPU(图形加速器)的并行渲染力量计算模拟出逼真的水体模拟特效,从而使mapboxgl.js搭建的webgis系统拥有直通底层的能力,利用GPU(图形加速器)渲染出高效稳定特效。
在three.js的接口中,将实体和表现分别抽象成了geometry(几何体)和material(材质)。水体模拟效果主要针对material(材质)进行编写,利用THREE.ShaderMaterial直接编写顶点着色器和片元着色器代码进行材质定义。
步骤S200、以一自定义多边形实体为载体作为模拟水体特效的基础数据;
本发明实施例中,可以一个自定义多边形实体(ExtrudeGeometry)为载体,常见的水体一般都有其固定的地理坐标,并进入步骤S300;
本发明,所述分别输入多个参数作为水体模拟的可调式参数的步骤还包括:
定义各种水体模拟参数,用于噪声算法调用计算模拟。
步骤S300、通过水体不同的地理特征边界绘制水体的轮廓结构;
即本发明中可以通过水体不同的地理特征边界绘制水体的轮廓结构。
例如以一个自定义着色器为载体,为水体模拟效果设置着色器;将水体模拟效果的程序目标分解为着色器程序中改变顶点变化的程序目标;使平面上每个顶点,按照一定规则进行变化,规律体现在水波纹的连续性、浪潮的节律、水体的反光、水体的颜色。
步骤S400、分别输入多个参数作为水体模拟的可调式参数;
其中,所述分别输入多个参数作为水体模拟的可调式参数步骤中的可调式参数包括:用于模拟连续变化的水体滚动的当前时间参数time,用于表示水体反光剧烈程度的反光程度参数heighlightreflect,以及水体流淌速度参数speed,水体波动频度参数freq,汹涌程度参数choppy,全局光照颜色参数lightcolor,以及海水颜色参数watercolor,以及分辨率参数iResolution。
步骤S500、通过柏林噪声算法,输入一个变化的二维向量uv作为基础参数进行特征计算,得到模拟水体的参数数据;
其中,所述通过柏林噪声算法,输入一个变化的二维向量uv作为基础参数基础进行特征计算,得到模拟水体的参数数据的步骤具体包括:
输入一变化的二维向量uv作为参数作为基础进行特征计算;
将模拟的水体自定义多边形实体为近似于一个平面;
通过噪声算法的变化的二维向量参数uv参数,选择为vec2(0.0+(1.0+time*speed))*freq,3.5+(1.0+time*speed))*freq);
其中vec2为通过片元着色器的一个二维向量,第一个分量是0.0+(1.0+time*speed))*freq,含义是1.0+当前连续变化的时间参数乘以当前水体流淌速度,其结构再乘以水体波动频率;作为噪声算法的uv参数包含了当前时间、水体流淌速度、水体波动频率,第二个分量将最前面1.0换成了3.5,相对第一分量体现出一定的变化;
将uv参数输入噪声算法进行计算,片元着色器逐片元工作计算噪声值时,得到的结果是一个浮点值float,该值即是噪声算法的结果;该结果表示水体当前哪个位置该显示什么灰度的一个数值,每个片元位置一个值;将上述结果作为参数一;
再使用一个自然变化的向量,平面uv坐标/分辨率*一个随机三维向量得到参数二;一个随机三维向量为:vec3ang=vec3(sin(time*3.0)*0.1,sin(time)*0.2+0.3,time);该随机三维向量即表达了水体的随机波动性;
根据参数一和参数二共同在片元着色器中计算出随时间time和各设定值下,水体各位置应该呈现的灰度或颜色,波动细节,连续性特征,完成模拟。
步骤S600、根据提供的参数进行调试,模拟各种水体的效果并输出显示。
其中,所述根据提供的参数进行调试,模拟各种水体的效果并输出显示的步骤包括:
根据不同水体的开发提供的参数选择和入口,进行调试,模拟各种水体的效果并输出显示。
实施例3、以下通过一具体的应用实施例对本发明做进一步详细说明:
请参阅图3,图3示出了本发明实施例3的一种基于图形学的GIS系统模拟水体的数据处理方法具体应用实施流程图,本实施例所述方法包括以下步骤:
步骤S1、选用开源图形引擎mapboxgl.js和three.js作为开发工具;
本发明中,首先需要选用合适的开发环境工具。本发明较佳地选择mapboxgl.js和three.js作为开发工具。例如选用webgis领域的地图开源引擎mapboxgl.js作为开发工具,用作地理信息系统;选用web端通用引擎的three.js作为开发工具,支持图形学底层接口webgl的开发。
three.js是JavaScript编写的WebGL第三方库。提供了非常多的3D显示功能。Mapbox是一款矢量地图。
mapboxgl.js和three.js均是世界级开源图形引擎。mapboxgl.js是webgis领域的地图开源引擎,用作地理信息系统。three.js是web端通用引擎,有丰富的社区开发组件和积累,高度抽象的图形绘制和拓展丰富的接口。
该步骤的好处是:采用开源技术能够在最短时间内搭建webgis系统,具备相当的成熟度和扩展性。其中mapboxgl.js可以将three.js作为一个图层单独渲染在地图中,而three.js丰富的接口支持图形学底层接口webgl的开发,利用webgl的管线编程可以调用GPU(图形加速器)的并行渲染力量计算模拟出逼真的水体模拟特效,从而使mapboxgl.js搭建的webgis系统拥有直通底层的能力,利用GPU(图形加速器)渲染出高效稳定特效。
步骤S2、在three.js的接口中,将实体和表现分别抽象成了几何体和材质;水体模拟效果主要针对材质进行编写,利用自定义着色器直接编写顶点着色器和片元着色器代码进行材质定义。
本实施例中,在three.js的接口中,将实体和表现分别抽象成了geometry(几何体)和material(材质)。水体模拟效果主要针对material(材质)进行编写,利用THREE.ShaderMaterial直接编写顶点着色器和片元着色器代码进行材质定义。
具体地,可以以一个自定义多边形实体(ExtrudeGeometry)为载体,常见的水体一般都有其固定的地理坐标,可以通过水体不同的地理特征边界绘制水体的轮廓结构。
以一个自定义着色器(ShaderMaterial)为载体,编写模拟水体流动的程序。
进一步的细化步骤,水体模拟效果设计的着色器要实现该效果必须做到:
使平面上每个顶点,必须按照一定规则进行变化,规律体现在水波纹的连续性、浪潮的节律、水体的反光、水体的颜色。必须使这些成一个整体进行计算才符合水体的特征,可以达到如此效果,否则效果会过于随机,不像见到的水。
本步骤的好处是:明确了实现水体模拟效果的程序目标,将水体模拟的效果分解为着色器程序中改变顶点变化的程序,以及说清其变化规律,接下来只需要用代码的方式实现即可。
步骤S3、通过使用算法和程序具体实现水体效果模拟;
使用算法和程序具体实现水体效果模拟。
经验证,实现步骤二所说顶点规律变化效果有一个成熟算法:噪声算法。
噪声算法是计算机图形学中模拟各种仿真材质的算法,例如水纹、火焰、云朵等,由于其计算量大,对计算过程不做记录要求,结果需要一定随机性的特定,往往需要在GPU进行运算。本方法就使用了其中一种经典噪声算法-柏林噪声算法,下面叙述整个实现过程。
1)、分别输入多个参数作为水体模拟的可调式参数,分别是:当前时间time(以模拟连续变化的水体滚动),反光程度heighlightreflect(水体反光剧烈程度),speed(水体流淌速度),freq(水体波动频度),汹涌程度(choppy),全局光照颜色(lightcolor),海水颜色(watercolor,以及分辨率(iResolution)。
2)、噪声算法在模拟水体时需要输入一个变化的二维向量(uv)作为参数作为基础进行特征计算,这个变化的二维向量需要同时体现两个特点:稳定性和连续变化性。稳定性体现在水体的整体波动必须是相对稳定而不是全部随机的,连续变化性体现在水体的流动不是瞬间移动,需要随时间参数渐渐变化,产生连续流动的感觉。所需要模拟的水体是自定义多边形实体(ExtrudeGeometry),近似于一个平面,经过实践,此处噪声算法的uv参数(变化的二维向量参数)的选择为vec2(0.0+(1.0+time*speed))*freq,3.5+(1.0+time*speed))*freq)。
其中vec2告诉片元着色器的一个二维向量,第一个分量是0.0+(1.0+time*speed))*freq,含义是1.0+当前连续变化的时间参数乘以当前水体流淌速度,其结构再乘以水体波动频率,其结果从直观感受来看,可以体会出这个作为噪声算法的uv参数已经包含了当前时间、水体流淌速度、水体波动频率,第二个分量只不过将最前面1.0换成了3.5,相对第一分量体现出一定的变化。
3)、将这个uv参数输入噪声算法进行计算,片元着色器逐片元工作计算噪声值时,得到的结果是一个浮点值(float),该值即是噪声算法的结果。该结果是表示水体当前哪个位置该显示什么灰度的一个数值,每个片元位置一个值。
将该结果作为参数一,再使用一个自然变化的向量,平面uv坐标/分辨率*一个随机三维向量得到参数2。
一个随机三维向量为:vec3ang=vec3(sin(time*3.0)*0.1,sin(time)*0.2+0.3,time)。
该随机三维向量即表达了水体的随机波动性。
4)、根据参数1和参数2共同在片元着色器中计算出随时间time和各设定值下,水体各位置应该呈现的灰度(也可以有颜色),波动细节,连续性等特征,完成模拟。
本步骤的好处是:使用合理的随机值和噪声算法作为参数,具体完成了水体模拟实现,为后续不同水体的开发提供了参数选择和入口。
步骤S4、根据提供的参数进行调试,模拟各种水体的效果并输出显示。
本发明实施例中根据步骤S3提供的参数进行调试,以模拟各种水体的效果。
例如,设置如图4所示的参数可以得到图5所示的水库效果图。
再例如设置如图6所示的参数就可以得到图7所示的河水效果图。
例如,设置图8所示参数可以得到图9所示湖水效果图。
例如,设置图10所示参数可以得到图11所示海水效果图。
例如,设置图12所示参数可以得到图13所示污染水效果。
当然还支持很多效果,只需要设置合理的参数即可得到,这里就不在一一举例了。
本发明提供一种基于图形学的GIS系统模拟水体的数据处理方法,本发明实现了可编写一些特效来辅助呈现业务事件中描述的事态,以实现各种描述的水体模拟,并有区分度体现,能让使用者从视觉上就判断出水体的种类情况,方便用户操作使用,并且实现简单,可靠性高。
在一个实施例中,本发明提供了一种基于图形学的GIS系统模拟水体的数据处理装置,如图14所示,所述装置包括:
预先设置模块41,用于预先将实体和表现分别抽象成几何体和材质;水体模拟效果针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;
基础数据处理模块42,用于以一自定义多边形实体为载体作为模拟水体特效的基础数据;
描绘模块43,用于通过水体不同的地理特征边界绘制水体的轮廓结构;
参数预处理模块44,用于分别输入多个参数作为水体模拟的可调式参数;
水体模拟模块45,用于通过柏林噪声算法,输入一个变化的二维向量uv作为参数作为基础进行特征计算,得到模拟水体的参数数据;
调式输出模块46,用于根据提供的参数进行调试,模拟各种水体的效果并输出显示;具体如上所述。
在一个实施例中,本发明提供了一种计算机设备,该设备可以是终端,内部结构如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种自然语言模型的生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图15所示的仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现以下步骤:
预先将实体和表现分别抽象成几何体和材质;水体模拟效果针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;
以一自定义多边形实体为载体作为模拟水体特效的基础数据;
通过水体不同的地理特征边界绘制水体的轮廓结构;
分别输入多个参数作为水体模拟的可调式参数;
通过柏林噪声算法,输入一个变化的二维向量uv作为基础参数进行特征计算,得到模拟水体的参数数据;
根据提供的参数进行调试,模拟各种水体的效果并输出显示;具体如上所述。
综上所述,与现有技术相比,本发明实施例具有以下优点:
本发明的一种基于图形学的GIS系统模拟水体的数据处理方法及装置、计算机设备、可读存储介质,包括:以一自定义多边形实体为载体作为模拟水体特效的基础数据;通过水体不同的地理特征边界绘制水体的轮廓结构;分别输入多个参数作为水体模拟的可调式参数;通过柏林噪声算法,输入一个变化的二维向量uv作为参数作为基础进行特征计算,得到模拟水体的参数数据;根据提供的参数进行调试,模拟各种水体的效果并输出显示。本发明实现了可编写一些特效来辅助呈现业务事件中描述的事态,以实现各种描述的水体模拟,并有区分度体现,能让使用者从视觉上就判断出水体的种类情况,方便用户操作使用,并且实现简单,可靠性高。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种基于图形学的GIS系统模拟水体的数据处理方法,其特征在于,所述方法包括:
预先将实体和表现分别抽象成几何体和材质;水体模拟效果针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;
以一自定义多边形实体为载体作为模拟水体特效的基础数据;
通过水体不同的地理特征边界绘制水体的轮廓结构;
分别输入多个参数作为水体模拟的可调式参数;
通过柏林噪声算法,输入一个变化的二维向量uv作为基础参数进行特征计算,得到模拟水体的参数数据;
根据提供的参数进行调试,模拟各种水体的效果并输出显示;
所述分别输入多个参数作为水体模拟的可调式参数步骤中的可调式参数包括:
用于模拟连续变化的水体滚动的当前时间参数time,用于表示水体反光剧烈程度的反光程度参数heighlightreflect,以及水体流淌速度参数speed,水体波动频度参数freq,汹涌程度参数choppy,全局光照颜色参数lightcolor,以及海水颜色参数watercolor,以及分辨率参数iResolution;
所述通过柏林噪声算法,输入一个变化的二维向量uv作为基础参数进行特征计算,得到模拟水体的参数数据的步骤包括:
输入一变化的二维向量uv作为参数作为基础进行特征计算;
模拟的水体是自定义多边形实体,近似于一个平面;
噪声算法的uv参数,选择为vec2(0.0+(1.0+time*speed))*freq,3.5+(1.0+time*speed))*freq);
其中vec2为通过片元着色器的一个二维向量,第一个分量是0.0+(1.0+time*speed))*freq,含义是1.0+当前连续变化的时间参数乘以当前水体流淌速度,其结构再乘以水体波动频度;噪声算法中的uv参数包含了当前时间、水体流淌速度、水体波动频度,第二个分量将最前面1.0换成了3.5,相对第一分量体现出一定的变化;
将uv参数输入噪声算法进行计算,片元着色器逐片元工作计算噪声值时,得到的结果是一个浮点值float,该值即是噪声算法的结果;该结果表示水体当前哪个位置该显示什么灰度的一个数值,每个片元位置一个值;将上述结果作为参数一;
再使用一个自然变化的向量,平面uv坐标/分辨率*一个随机三维向量得到参数二;一个随机三维向量为:vec3 ang=vec3(sin(time*3.0)*0.1,sin(time)*0.2+0.3,time);该随机三维向量即表达了水体的随机波动性;
根据参数一和参数二共同在片元着色器中计算出随时间time和各设定值下,水体各位置应该呈现的灰度或颜色、波动细节、连续性特征,完成模拟。
2.根据权利要求1所述基于图形学的GIS系统模拟水体的数据处理方法,其特征在于,所述预先将实体和表现分别抽象成几何体和材质;水体模拟效果针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义的步骤之前还包括:
选用开源图形引擎mapboxgl.js和three.js作为开发工具;选用webgis领域的地图开源引擎mapboxgl.js作为开发工具,用作地理信息系统;选用web端通用引擎的three.js作为开发工具,支持图形学底层接口webgl的开发;
进行水体模拟的程序设计;以一个自定义着色器为载体,编写模拟水体流动的程序。
3.根据权利要求1所述基于图形学的GIS系统模拟水体的数据处理方法,其特征在于,所述通过水体不同的地理特征边界绘制水体的轮廓结构的步骤包括:
以一个自定义着色器为载体,为水体模拟效果设置着色器;将水体模拟效果的程序目标分解为着色器程序中改变顶点变化的程序目标;
使平面上每个顶点,按照一定规则进行变化,规律体现在水波纹的连续性、浪潮的节律、水体的反光、水体的颜色。
4.根据权利要求1所述基于图形学的GIS系统模拟水体的数据处理方法,其特征在于,所述根据提供的参数进行调试,模拟各种水体的效果并输出显示的步骤包括:
根据不同水体的开发提供的参数选择和入口,进行调试,模拟各种水体的效果并输出显示。
5.根据权利要求1所述基于图形学的GIS系统模拟水体的数据处理方法,其特征在于,所述分别输入多个参数作为水体模拟的可调式参数的步骤还包括:
定义各种水体模拟参数,用于噪声算法调用计算模拟。
6.一种根据权利要求1所述的基于图形学的GIS系统模拟水体的数据处理方法的装置,其特征在于,所述装置包括:
预先设置模块,用于预先将实体和表现分别抽象成几何体和材质;水体模拟效果针对材质进行编写,利用自定义着色器材质直接编写顶点着色器和片元着色器代码进行材质定义;
基础数据处理模块,用于以一自定义多边形实体为载体作为模拟水体特效的基础数据;
描绘模块,用于通过水体不同的地理特征边界来进行绘制水体的轮廓结构;
参数预处理模块,用于分别输入多个参数作为水体模拟的可调式参数;
水体模拟模块,用于通过柏林噪声算法,输入一个变化的二维向量uv作为基础参数进行特征计算,得到模拟水体的参数数据;
调式输出模块,用于根据提供的参数进行调试,模拟各种水体的效果并输出显示。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述基于图形学的GIS系统模拟水体的数据处理方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的基于图形学的GIS系统模拟水体的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010180967.8A CN111429559B (zh) | 2020-03-16 | 2020-03-16 | 基于图形学的gis系统模拟水体的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010180967.8A CN111429559B (zh) | 2020-03-16 | 2020-03-16 | 基于图形学的gis系统模拟水体的数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111429559A CN111429559A (zh) | 2020-07-17 |
CN111429559B true CN111429559B (zh) | 2023-08-29 |
Family
ID=71547913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010180967.8A Active CN111429559B (zh) | 2020-03-16 | 2020-03-16 | 基于图形学的gis系统模拟水体的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111429559B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103700143A (zh) * | 2013-12-30 | 2014-04-02 | 四川九洲电器集团有限责任公司 | 一种基于gpu多遍绘制的三维动态海洋模拟方法 |
CN109377541A (zh) * | 2018-08-22 | 2019-02-22 | 山东捷瑞数字科技股份有限公司 | 一种基于着色器实时表现气象变化的虚拟仿真系统和方法 |
CN110163945A (zh) * | 2019-05-25 | 2019-08-23 | 北京工业大学 | 一种实时渲染中的水面仿真方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10685473B2 (en) * | 2017-05-31 | 2020-06-16 | Vmware, Inc. | Emulation of geometry shaders and stream output using compute shaders |
-
2020
- 2020-03-16 CN CN202010180967.8A patent/CN111429559B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103700143A (zh) * | 2013-12-30 | 2014-04-02 | 四川九洲电器集团有限责任公司 | 一种基于gpu多遍绘制的三维动态海洋模拟方法 |
CN109377541A (zh) * | 2018-08-22 | 2019-02-22 | 山东捷瑞数字科技股份有限公司 | 一种基于着色器实时表现气象变化的虚拟仿真系统和方法 |
CN110163945A (zh) * | 2019-05-25 | 2019-08-23 | 北京工业大学 | 一种实时渲染中的水面仿真方法 |
Non-Patent Citations (1)
Title |
---|
付帅 ; 艾波 ; 柳诚 ; .海洋地理信息系统中动态海面仿真方法研究.海洋信息.2017,(第01期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111429559A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Telea | Data visualization: principles and practice | |
Hughes | Computer graphics: principles and practice | |
JP5371221B2 (ja) | 粒子法シミュレーションのためのスライスデータ構造、およびスライスデータ構造を利用した粒子法シミュレーションのgpuへの実装方法 | |
Kryachko | Using vertex texture displacement for realistic water rendering | |
WO2010088029A2 (en) | Single-pass bounding box calculation | |
CN103180818A (zh) | 动画页面翻转 | |
Kang et al. | Mesh-based morphing method for rapid hull form generation | |
EP2709068A1 (en) | Image processing apparatus | |
CN110428504B (zh) | 文本图像合成方法、装置、计算机设备和存储介质 | |
CN110276816A (zh) | 区域填色方法、装置、电子设备及计算机可读存储介质 | |
CN111091620B (zh) | 基于图形学的地图动态路网处理方法及系统、计算机设备 | |
Peng et al. | Higher Dimensional Vector Field Visualization: A Survey. | |
Nelson et al. | Gpu-based interactive cut-surface extraction from high-order finite element fields | |
TW200805199A (en) | 2D/3D combined rendering | |
CN114820972A (zh) | 等值线和/或等值面生成方法、系统、设备及存储介质 | |
CN111311761B (zh) | 基于图形学在gis系统模拟爆炸火焰效果处理方法及装置 | |
CN104463937A (zh) | 基于不规则物体的动画生成方法及装置 | |
CN111354061B (zh) | 基于图形学在gis系统模拟下雪场景处理方法及装置 | |
CN111429559B (zh) | 基于图形学的gis系统模拟水体的数据处理方法及装置 | |
JPWO2009104218A1 (ja) | 地図表示装置 | |
JP3326051B2 (ja) | 模擬海洋波画像の生成方法および生成装置 | |
KR101234761B1 (ko) | Efdc 모델 대용량 결과자료의 gis기반 가시화를 위한 후처리 시스템 | |
CN111563963A (zh) | 一种龙卷风气象模拟方法、智能终端及存储介质 | |
Lee et al. | Adaptive synthesis of distance fields | |
Zhou et al. | Rendering interior-filled polygonal vector data in a virtual globe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |