System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及前端,具体为一种三维网格数据场计算及动态可视化的实现方法。
技术介绍
1、opengl的出现,使得计算机图形学在绘制的效果、交互能力、可移植性等方面的性能都得到了急速的发展。正是opengl的众多优点,使得opengl越来越受到程序员们的热爱。现代社会互联网发展的脚步越来越快,图形学也逐渐渗入到我们生活的各个领域中,如3d图像设计、仿真,人脸识别、图形图像处理等各种领域。在现实生活中,三维网格数据可视化常用于医学、油藏数值模拟、地质体研究、热力场分析等应用中。
2、现有技术中,当在进行地质体研究时,通常会面对大量的地质层数据,这时研究人员对这些数据进行插值处理以及三维构图都会比较困难。而opengl的产生可以让人们很轻便的利用计算机强大的数据处理能力得到正确的三维网格数据,并可以快速将计算过程中产生的数据转化为可以显示的图形图像。opengl的应用为研究人员节省了大量的人力、物力和财力。所以三维数据可视化是当代科学计算发展的必然需求。
技术实现思路
1、本专利技术的目的在于提供一种三维网格数据场计算及动态可视化的实现方法,以解决上述
技术介绍
中提出的问题。
2、为实现上述目的,本专利技术提供如下技术方案:一种三维网格数据场计算及动态可视化的实现方法,所述方法包括以下步骤:
3、将三维空间的离散采样点通过普通克里金、反距离加权法进行空间插值计算,通过空间插值计算生成了空间网格数据;
4、根据网格属性值的分布,在设定的颜色范围
5、基于glsl的双线性插值进行平滑色彩的处理;
6、通过对shader程序的改进达到更好的平滑效果;
7、通过使用着色器shader程序将绘制程序通过gpu完成,提高了绘制速度;
8、通过通过对比直接绘制网格、中心点为角点绘制网格、双线性插值绘制网格三种平滑处理方式,证实了线性插值绘制网格的优越性。
9、优选的,opengl接收来自用户提供的几何数据,随后将这些数据输入到着色器阶段进行处理,着色器阶段包括了顶点着色器、细分控制着色器、细分计算着色器以及几何着色器;经着色阶段处理过的数据会被送入光栅化单元中,光栅化单元会对在剪切区域内的图元生成片元数据,然后用片元着色器去处理这些片元数据。
10、优选的,顶点缓存中的顶点指出了顶点的位置属性,这些位置属性通常指的是每个3d模型本身的坐标,顶点着色器将这些位置信息转换为屏幕位置,以便正确的显示。
11、优选的,顶点着色器对场景中几何图形坐标进行矩阵变换,顶点的坐标作为一个矩阵输入到顶点着色器中,将vertexbuffer中的所有顶点进行矩阵变换。
12、优选的,片段着色器负责接收顶点着色器传来的顶点数据和颜色数据,输出每个像素的最终颜色,片段着色器将顶点着色器输出的片段作为输入,片段的顶点属性已被光栅化单元进行了插值处理。
13、优选的,创建shader的步骤如下:
14、(1)创建并编译着色器首先通过下面的语句去创建着色器对象;
15、vertexshader=glcreateshader(gl_vertex_shader);//创建顶点着色器;
16、fragmentshader=glcreateshader(gl_fragment_shader);//创建片断着色器;
17、将着色器的源码和着色器对象相关联,并编译着色器对象;
18、glcompileshader(vertexshader);//编译顶点着色器对象;
19、glcompileshader(fragmentshader);//编译片段着色器对象;
20、(2)链接着色器对象
21、创建着色器程序;
22、gluint programhandle=glcreateprogram();//创建着色器程序;
23、将所创建的着色器程序链接到着色器对象中;
24、glattachshader(programhandle,vertexshader);//链接顶点着色器对象;
25、glattachshader(programhandle,fragmentshader);//链接着色器对象;
26、链接成一个可执行程序;
27、gllinkprogram(programhandle);
28、在链接成功之后,就可以使用gluseprogram()语句在opengl渲染管线中去渲染程序。
29、优选的,在不对三维网格的中心点的属性进行任何处理,用opengl自带的线性插值方法进行直接绘制。
30、与现有技术相比,本专利技术的有益效果是:
31、本专利技术提出的三维网格数据场计算及动态可视化的实现方法,通过将三维空间的离散采样点通过普通克里金、反距离加权法进行空间插值计算,通过空间插值计算生成了空间网格数据,同时使用着色器shader程序提高绘制速率,实现了事实绘制。此方案为医学、油藏数值模拟、地质体研究、热力场分析等行业里的研究人员提供了更好的统计方法,提高了研究人员的工作效率。与此同时,此方案也大幅度提高了数据处理和三维绘制的速度、提高了用户使用体验。
本文档来自技高网...【技术保护点】
1.一种三维网格数据场计算及动态可视化的实现方法,其特征在于:所述方法包括以下步骤:
2.根据权利要求1所述的一种三维网格数据场计算及动态可视化的实现方法,其特征在于:OpenGL接收来自用户提供的几何数据,随后将这些数据输入到着色器阶段进行处理,着色器阶段包括了顶点着色器、细分控制着色器、细分计算着色器以及几何着色器;经着色阶段处理过的数据会被送入光栅化单元中,光栅化单元会对在剪切区域内的图元生成片元数据,然后用片元着色器去处理这些片元数据。
3.根据权利要求1所述的一种三维网格数据场计算及动态可视化的实现方法,其特征在于:顶点缓存中的顶点指出了顶点的位置属性,这些位置属性通常指的是每个3D模型本身的坐标,顶点着色器将这些位置信息转换为屏幕位置,以便正确的显示。
4.根据权利要求1所述的一种三维网格数据场计算及动态可视化的实现方法,其特征在于:顶点着色器对场景中几何图形坐标进行矩阵变换,顶点的坐标作为一个矩阵输入到顶点着色器中,将VertexBuffer中的所有顶点进行矩阵变换。
5.根据权利要求1所述的一种三维网格数据场计算及动
6.根据权利要求1所述的一种三维网格数据场计算及动态可视化的实现方法,其特征在于:创建Shader的步骤如下:
7.根据权利要求1所述的一种三维网格数据场计算及动态可视化的实现方法,其特征在于:在不对三维网格的中心点的属性进行任何处理,用OpenGL自带的线性插值方法进行直接绘制。
...【技术特征摘要】
1.一种三维网格数据场计算及动态可视化的实现方法,其特征在于:所述方法包括以下步骤:
2.根据权利要求1所述的一种三维网格数据场计算及动态可视化的实现方法,其特征在于:opengl接收来自用户提供的几何数据,随后将这些数据输入到着色器阶段进行处理,着色器阶段包括了顶点着色器、细分控制着色器、细分计算着色器以及几何着色器;经着色阶段处理过的数据会被送入光栅化单元中,光栅化单元会对在剪切区域内的图元生成片元数据,然后用片元着色器去处理这些片元数据。
3.根据权利要求1所述的一种三维网格数据场计算及动态可视化的实现方法,其特征在于:顶点缓存中的顶点指出了顶点的位置属性,这些位置属性通常指的是每个3d模型本身的坐标,顶点着色器将这些位置信息转换为屏幕位置,以便正确的显示。
4.根据权利要求1所述的一种三维网格数据...
【专利技术属性】
技术研发人员:宋天奇,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。