一种网格化矢量数据可视化方法及装置与流程

文档序号:24410396发布日期:2021-03-26 19:07阅读:191来源:国知局
一种网格化矢量数据可视化方法及装置与流程

1.本发明涉及矢量数据可视化领域,具体地说,是涉及一种网格化矢量数据可视化方法及装置。


背景技术:

2.数据一般分为矢量数据和标量数据,实际使用时一般会为了精确和更加节省成本而采用网格化的方式来安装设备和测量数据,对于矢量数据的可视化现阶段大多数是采用平面的方式如:利用平面的箭头表示方向,箭头的密集程度和长短来表示数据的大小,或者利用平面箭头的流动来表示三维场的流动等等呈现方式;对于需要多角度呈现的方式时,一般是采用切片的方式,对该数据进行不同角度切片,然后展示该数据;现有网格化矢量数据可视化方法存在如下缺陷:1、大多数网格化矢量数据可视化方式由于其为平面的呈现方式导致矢量场等数据并没有被直观的呈现出来,导致对数据的理解不够全面和清晰,从而导致从数据中获得的判断结果不准确。
3.2、现实世界的真实数据是较为庞大的,我们一般的个人pc对这些数据进行仿真可视化,是具有较大的压力的,如对点的实例化,对庞大的数据进行计算,并且这些操作都是在程序主线程中完成,cpu和gpu都将面对很大的计算压力,易出现程序效率低下,卡顿的情况。
4.故而现有技术的大数据三维可视化系统性能是较为低下的。


技术实现要素:

5.本发明的目的在于提供一种网格化矢量数据可视化方法及装置,以解决现有网格化矢量数据可视化方法存在的从数据中获得判断结果不准确,运算压力大造成的效率低和卡顿的问题。
6.为了解决上述问题,本发明提供如下技术方案:一种网格化矢量数据可视化方法包括以下步骤:s1、根据网格化矢量数据构建立体三维空间,然后在立体三维空间的边缘处随机产生随机数量向立体三维空间内运动的粒子,然后获取每个粒子的参数;s2、根据步骤s1中粒子的参数,获取粒子在立体三维空间底部面上的速度;s3、根据步骤s1中粒子的参数,获取粒子在立体三维空间顶部面上的速度;s4、根据步骤s2中粒子在立体三维空间底部的速度,步骤s3中粒子在立体三维空间顶部的速度计算粒子在三维空间的速度;s5、根据步骤s4中粒子在三维空间的速度,计算该粒子点的颜色;s6、重复步骤s2至s5至完成所有粒子颜色的计算。
7.本发明构建三维空间通过三维的方式将整个数据组的数据完整直观的呈现在三维空间之中,让我们可以直观的看到数据的变化,从而辅助相关人员获得更加准确的结果。
8.进一步的,步骤s1中根据网格化矢量数据构建立体三维空间的具体过程为:将网格化矢量数据利用数据下标一一对应存储,得到数据组,然后根据数组构建完整的立体三维空间,将整个三维空间划分为一个一个立体的三维空间的立方体方格;网格化的数据一般是利用格点进行存储较为方便,故而为了读取数据方便将网格化数据利用数据组的下标进行一一对应存储。
9.进一步的,步骤s1中获取每个粒子的参数的过程如下:s101、获取粒子的位置(x,y,z);s102、根据步骤s101的粒子的位置中x,y,z三个坐标对应向上取整得到x1,y1,z1;s103、根据步骤s101的粒子的位置中x,y,z三个坐标对应向下取整得到x2,y2,z2。
10.进一步的,步骤s2的具体过程如下:s201、在(x1,y2,z2)和(x2,y2,z2)之间以及(x2,y2,z1)和(x1,y2,z1)之间分别使用x到x2之间的距离作为线性插值的比例,进行线性插值,得到插值的三维向量结果 a(a1,a2,a3), b(b1,b2,b3);通过该方案可获得粒子在三维空间立方体底部的任意两条边上的速度;s202、对步骤s201中a(a1,a2,a3)和 b(b1,b2,b3)之间使用z到z1之间的距离作为线性插值的比例进行插值获得插值m(m1,m2,m3),根据插值m(m1,m2,m3)获得粒子速度;通过该方案可获得粒子在三维空间立方体底部面上的速度。
11.进一步的,步骤s3的具体过程如下:s301、在(x1,y1,z2)和(x2,y1,z2之间)以及(x2,y1,z1)和(x1,y1,z1)之间分别使用x到x2之间的距离作为线性插值的比例,进行线性插值,得到插值的三维向量结果 c(c1,c2,c3), d(d1,d2,d3);通过该方案可获得粒子在三维空间立方体顶部的任意两条边上的速度;s302、对步骤s301中c(c1,c2,c3)和d(d1,d2,d3)之间使用z到z1之间的距离作为线性插值的比例进行插值获得插值t(t1,t2,t3),根据插值t(t1,t2,t3)获得粒子速度;通过该方案可获得粒子在三维空间立方体顶部面上的速度。
12.进一步的,步骤s4的具体过程为:对步骤s202中m(m1,m2,m3)和步骤s302中t(t1,t2,t3)之间使用y到y1之间的距离作为线性插值的比例进行插值获得插值r(r1,r2,r3),根据插值r(r1,r2,r3)获得粒子最终运动速度。
13.进一步的,步骤s5的具体过程如下:s501、将数据组对应的数据进行冒泡排序,获取该数据中的最大值;s502、利用粒子的运动速度和步骤s501中最大值的比例,根据比例对应其在预设颜色条上对应的颜色,然后根据颜色对粒子进行渲染。
14.进一步的,将步骤s1至s6利用dots技术进行改写得到网格化矢量数据可视化方法;具体过程为将上述步骤中的粒子位置变为结构体,然后将计算和读取数据的每一个步骤变为一个一个很微小的计算,写入job,利用dots技术进行统一提交job,最后再每个job之中进行高性能的并行计算,从而提升现有的系统性能。
15.本发明采用dots技术,对一种网格化矢量数据可视化方法进行进一步优化,提升系统的性能,让整个系统更加流畅的运转。
16.一种网格化矢量数据可视化装置包括
存储器:用于存储可执行指令;处理器:用于执行所述存储器中存储的可执行指令,实现一种网格化矢量数据可视化方法。
17.与现有技术相比,本发明具有以下有益效果:(1)本发明构建三维空间通过三维的方式将整个数据组的数据完整直观的呈现在三维空间之中,让我们可以直观的看到数据的变化,从而辅助相关人员获得更加准确的结果。
18.(2)本发明采用dots技术,对一种网格化矢量数据可视化方法进行进一步优化,提升系统的性能,让整个系统更加流畅的运转。
附图说明
19.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:图1为本发明的结构示意图。
具体实施方式
20.为了使本发明的目的、技术方案和优点更加清楚,下面将结合图1对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
21.对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
22.实施例1如图1所示,一种网格化矢量数据可视化方法先读取网格化矢量数据,然后寻找最值,进行数据插值和展示;其具体过程如下:第一、数据准备1.1、网格化的数据一般是利用格点进行存储较为方便,故而为了读取数据方便将网格化数据利用数据组的下标进行一一对应存储,形成数据组,然后根据数组构建完整的立体三维空间,将整个三维空间划分为一个一个立体的三维空间的立方体方格。
23.如:data1[0,0,1]将会存储网格化数据的第一个数据,这样也将网格化数据进行了三维空间的统一分布。
[0024]
1.2、将步骤1.1中所得数据组中数据进行冒泡排序,然后获取该数据中的最大值。
[0025]
第二、数据插值2.1、根据数据准备中的数据组构成一个完整的立体三维空间,然后在该空间的边缘处随机的产生随机数量的向三维空间内运动的粒子。
[0026]
2.2、获取步骤2.1产生的每一个粒子的位置(x,y,z),然后分别取得x,y,z三个坐标对应的向上取整x1,y1,z1,以及向下取整的x2,y2,z2。
[0027]
2.3、在(x1,y2,z2)和(x2,y2,z2)之间以及(x2,y2,z1)和(x1,y2,z1)之间分别使
用x到x2之间的距离作为线性插值的比例,进行线性插值,得到插值的三维向量结果 a(a1,a2,a3), b(b1,b2,b3);通过该步可获得粒子在三维空间立方体底部的任意两条边上的速度。
[0028]
2.4、对步骤2.3中a(a1,a2,a3)和 b(b1,b2,b3)之间使用z到z1之间的距离作为线性插值的比例进行插值获得插值m(m1,m2,m3),根据插值m(m1,m2,m3)获得粒子速度,将m(m1,m2,m3)作为粒子在立方体空间格子顶部的分速度;通过该步可获得粒子在三维空间立方体底部面上的速度。
[0029]
2.5、在(x1,y1,z2)和(x2,y1,z2之间)以及(x2,y1,z1)和(x1,y1,z1)之间分别使用x到x2之间的距离作为线性插值的比例,进行线性插值,得到插值的三维向量结果 c(c1,c2,c3), d(d1,d2,d3);通过该步可获得粒子在三维空间立方体顶部的任意两条边上的速度。
[0030]
2.6、然后对步骤2.5中c(c1,c2,c3)和d(d1,d2,d3)之间使用z到z1之间的距离作为线性插值的比例进行插值获得插值t(t1,t2,t3),根据插值t(t1,t2,t3)获得粒子速度,将t(t1,t2,t3)作为粒子在立方体空间格子底部的分速度。
[0031]
2.7、然后对步骤2.4中m(m1,m2,m3)和步骤2.6中t(t1,t2,t3)之间使用y到y1之间的距离作为线性插值的比例进行插值获得插值r(r1,r2,r3),根据插值r(r1,r2,r3)获得粒子最终运动速度,将r(r1,r2,r3)作为粒子在三维空间中的最终速度。
[0032]
2.8、利用步骤2.7中粒子的运动速度与步骤1.2中最大值的比例,根据比例对应其在预设颜色条上对应的颜色,然后根据颜色对粒子进行渲染。
[0033]
2.9、重复步骤2.3至2.8至完成所有粒子颜色的计算;粒子颜色计算的具体过程为:根据比例对应其在预设颜色条上对应的颜色,然后根据颜色对粒子进行渲染。
[0034]
实施例2本实施例在实施例1的基础上进一步的,将步骤1.1至1.2及步骤2.1至2.9利用dots技术进行改写得到网格化矢量数据可视化方法;具体过程为将上述步骤中的粒子位置变为结构体,然后将计算和读取数据的每一个步骤变为一个一个很微小的计算,写入job,利用dots技术进行统一提交job,最后再每个job之中进行高性能的并行计算,从而提升现有的系统性能。
[0035]
实施例3本实施例在实施例1的基础上进一步的,一种网格化矢量数据可视化装置包括存储器:用于存储可执行指令;处理器:用于执行所述存储器中存储的可执行指令,实现一种网格化矢量数据可视化方法。
[0036]
本发明是基于真实世界的矢量数据,对真实世界的庞大的矢量数据提出的网格化矢量数据可视化方法,在现实世界中,所获得的数据往往不像实验数据那样是经过一些处理的少量数据,而是十分庞大的数据体量,对这些数据进行可视化对于系统来说是存在很大的压力的,采用dots技术就可以利用进行高性能的并行计算,从而减轻主线程的压力,让系统更加流畅,同时本发明是基于三维立体空间的数据可视化,从而更加的直观的展示了矢量数据,辅助专业人员做出更加准确的判断。
[0037]
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图
显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0038]
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0039]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0040]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0041]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1