CN114564630A - 一种图数据Web3D可视化的方法、系统和介质 - Google Patents
一种图数据Web3D可视化的方法、系统和介质 Download PDFInfo
- Publication number
- CN114564630A CN114564630A CN202210119209.4A CN202210119209A CN114564630A CN 114564630 A CN114564630 A CN 114564630A CN 202210119209 A CN202210119209 A CN 202210119209A CN 114564630 A CN114564630 A CN 114564630A
- Authority
- CN
- China
- Prior art keywords
- visualization
- node
- nodes
- visual
- rendering
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9038—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Image Generation (AREA)
Abstract
本申请涉及一种图数据Web3D可视化的方法、系统和介质,其中,该方法包括:从预设图数据库中获取预设数量的可视化节点和可视化边;根据可视化节点和可视化边计算出图数据的预布局和出入度,并进行力导向图配置;判断可视化节点的数量是否大于预设阈值,若是,则对可视化节点和可视化边进行点片元渲染,若否,则对可视化节点和可视化边进行球多面体实例化渲染。通过本申请,解决了图数据大规模可视化存在着效率低的问题。实现了基于Web3D的大规模图数据高效可视化。
Description
技术领域
本申请涉及数据可视化领域,特别是涉及一种图数据Web3D可视化的方法、系统和介质。
背景技术
目前在互联网的发展过程中,图数据库是基于数学里图论的思想和算法实现的高效处理复杂关系网络的新型数据库系统,各大头部互联网厂商都存储了海量图数据以便用于分析和查找。在数据分析方式上,基于Web 3D的数据可视化研究是近几年来商务智能(BI)领域研究的热点。由于图形或者图像具有形象、直观、内容丰富等特点,接近人们的认知方式,进而成为沟通决策者和海量数据之间不可或缺的多媒体方式。
从目前的市场情况来看,基于B/S的浏览器技术是被广泛接受的,因此数据可视化大多数集成于web系统中。而在web可视化技术中,与日趋成熟的基于2D的数据可视化方式相比,3d具有更多的可用空间和可视化显示特征,尤其在图数据方面,3d更容易体现出大量数据下各个节点间的关系,其中,在力导图方面3d比2d更容易发散开,节点直接的关系线由于多一维度的关系,更不容易被遮挡;在性能方面3d相较于普通2d canvas技术具有GPU并行运算的优势,目前canvas技术在渲染一定内容以后,移动帧数会下降到10帧左右(在MacBook m1 pro),3d则更容易渲染海量的大数据,性能是canvas的10倍以上。因此,如果没有对应的将各种形态的数据转化为图形图像的方法,大量信息将淹没在数据的海洋之中,而无法被人们识别和利用。如何发展高效的数据可视化技术成为迫切需要解决的问题。
目前针对相关技术中图数据大规模可视化存在着效率低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种图数据Web3D可视化的方法、系统和介质,以至少解决相关技术中图数据大规模可视化存在着效率低的问题。
第一方面,本申请实施例提供了一种图数据Web3D可视化的方法,所述方法包括:
从预设图数据库中获取预设数量的可视化节点和可视化边;
根据所述可视化节点和可视化边,计算出图数据的预布局和出入度,并进行力导向图配置,其中,所述出入度用于计算渲染后的节点尺寸;
判断所述可视化节点的数量是否大于预设阈值;
若是,则对所述可视化节点和所述可视化边进行点片元渲染;
若否,则对所述可视化节点和所述可视化边进行球多面体实例化渲染。
在其中一些实施例中,从预设图数据库中获取预设数量的可视化节点和可视化边包括:
从预设图数据库中获取第一预设数量的第一节点,获取第二预设数量的可视化边;
遍历所述第一节点,生成以节点ID为索引的节点哈希表;
遍历所述可视化边得到对应的节点,根据所述节点和所述节点哈希表,保存不存在于所述节点哈希表的第二节点;
合并所述第一节点和所述第二节点得到可视化节点。
在其中一些实施例中,根据所述可视化节点和可视化边,计算出图数据的预布局和出入度包括:
遍历所述可视化节点得到第一角度和第二角度,根据所述可视化节点的数量计算得到预布局的球半径;
且在所述遍历过程中生成每个所述可视化节点的邻接表,根据所述邻接表遍历所述可视化边,得到所述可视化节点的出入度。
在其中一些实施例中,并进行力导向图配置包括:
配置默认向心力,配置多体力为-100,多体力最大距离为500,配置缓动系数为0.003,配置最小停止运行缓动系数为0.2,起始系数为0.4。
在其中一些实施例中,则对所述可视化节点和所述可视化边进行点片元渲染包括:
计算所述可视化节点在在裁剪空间下的缩放比例,进而获得对应的节点尺寸,再通过片元着色器对可视化节点的颜色进行并行渲染;
将所述可视化边的坐标数据加载到内存中一次性进行渲染。
在其中一些实施例中,则对所述可视化节点和所述可视化边进行球多面体实例化渲染包括:
基于所述可视化节点生成144面的多面体,对所述多面体进行划分生成每个可视化节点的4维矩阵,再根据所述4维矩阵进行可视化节点的渲染;
将所述可视化边的坐标数据加载到内存中一次性进行渲染。
在其中一些实施例中,在对所述可视化节点和可视化边进行渲染之后,所述方法还包括:
通过前端算法计算交互位置所在的节点。
在其中一些实施例中,通过前端算法计算交互位置所在的节点包括:
遍历完成渲染的所有节点,得到所述节点在渲染后的模型视图坐标;
通过所述模型视图坐标的z值获取所述节点在渲染后的尺寸系数;
判断所述节点的中心与交互位置的距离是否在所述尺寸系数约束的半径范围内,若是,则所述节点为所述交互位置所在的节点。
第二方面,本申请实施例提供了一种图数据Web3D可视化的系统,所述系统包括数据采集模块、数据配置模块和数据渲染模块;
所述数据采集模块从预设图数据库中获取预设数量的可视化节点和可视化边;
所述数据配置模块根据所述可视化节点和可视化边,计算出图数据的预布局和出入度,并进行力导向图配置,其中,所述出入度用于计算渲染后的节点尺寸;
所述数据渲染模块判断所述可视化节点的数量是否大于预设阈值;
若是,则所述数据渲染模块对所述可视化节点和所述可视化边进行点片元渲染;
若否,则所述数据渲染模块对所述可视化节点和所述可视化边进行球多面体实例化渲染。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的图数据Web3D可视化的方法。
相比于相关技术,本申请实施例提供的一种图数据Web3D可视化的方法、系统和介质,通过从预设图数据库中获取预设数量的可视化节点和可视化边;根据可视化节点和可视化边计算出图数据的预布局和出入度,并进行力导向图配置;判断可视化节点的数量是否大于预设阈值,若是,则对可视化节点和可视化边进行点片元渲染,若否,则对可视化节点和可视化边进行球多面体实例化渲染。解决了图数据大规模可视化存在着效率低的问题,实现了基于Web3D的大规模图数据高效可视化。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的图数据Web3D可视化方法的步骤流程图;
图2是根据本申请实施例的图数据高性能模式渲染的示意图;
图3是根据本申请实施例的图数据低性能模式渲染的示意图;
图4是根据本申请实施例的图数据Web3D可视化系统的结构框图;
图5是根据本申请实施例的电子设备的内部结构示意图。
附图说明:41、数据采集模块;42、数据配置模块;43、数据渲染模块。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
在本申请提供的一种图数据Web3D可视化的方法、系统和介质中,预设图数据库可以为采用key-value方式存储节点和边,并进行“边切割”存储的分布式图数据库,如NebulaGraph,以Nebula Graph为例:
Nebula Graph:一个开源的分布式图数据库;
具体地,Nebula Graph主要包括三个模块:Query Server(计算模块)、StorageServer(存储模块)和Meta Server(元数据管理模块),三个模块间通过RPC通信,其中,Storage Server(存储模块)的架构按功能角度进行划分,从下到上可分为三层,分别为kv层(key-value库)、raft层和api层;RPC通信是指远程过程调用,通常可认为是调用远程计算机进程中的某个方法,可以简单理解为一次网络通信。
图(Graph):一个关系网的最小逻辑单元,可以完整的描述这个关系网中的实体、实体间的关系,以及实体附带的属性、实体间关系附带的属性;
顶点(Vertex):一个实体的统称,其中,顶点又包括起点(Vertex_key_src)和终点(Vertex_key_dst);
边(Edge):实体间关系的统称,其中,边又包括出边(Edge_key_src_dst)he入边(Edge_key_dst_src);
属性(Property):顶点或边附带的属性,其数据类型可以为INT、BOOL、STRING或DOUBLE等。
图空间(Space):可以理解为关系网的存储单元,在Nebula Graph中,图空间是一个图的逻辑存储单元;
图分区(Partition):Nebula Graph的物理存储分区,一个图空间包含多个图分区,每个图分区拥有多个副本(follower),并分布在不同节点上,通过Raft分布式协议保证图分区的一致性。
图模型(Graph Schema):是图中的模型统称,定义一个实体或关系数据存储的逻辑结构,例如“人”做为一个实体,对“人”的相关属性可以定义为一个图模型,其包含属性有如:姓名、年龄、性别等;
标记模型(Tag Schema):是图模型中的一个子类,主要用于对实体的属性定义,标记模型拥有一个全局唯一的ID,称为标记ID(TagID);
边模型(Edge Schema):是图模型中的另一个子类,主要用于对实体间关系的属性定义,例如实体“人”之间的关系可以定义为一个边模型,其属性有:关系(亲友、同事、同学)、交往时间、共同爱好等,边模型同样拥有全局唯一的ID,称为边类型(EdgeType)。
需要说明的是,在Nebula Graph中起点(Vertex_key_src)和出边(Edge_key_src_dst)被存储在同一个图分区(partitionsrc)中,入边(Edge_key_dst_src)和终点(Vertex_key_dst)也被存储在在同一个图分区(partitiondst)。
那么,出边的查询(src->dst),只需要访问partitionsrc内的Vertex_key_src,Edge_key_src_dst,不需要访问partitiondst。入边的查询(dst<-src),只需要访问partitiondst内的Vertex_key_dst、Edge_key_dst_src,不需要访问partitionsrc。
上述边的冗余设计<Edge_key_src_dst,Edge_key_dst_src>意味着:只需知道顶点或者边中的任何一者,即可以在同一个partiton内找到另一方。因此,多存储一份数据,可以在相应的查询运算中减少一次RPC。
本申请实施例提供了一种图数据Web3D可视化的方法,图1是根据本申请实施例的图数据Web3D可视化方法的步骤流程图,如图1所示,该方法包括以下步骤:
步骤S102,从预设图数据库中获取预设数量的可视化节点和可视化边。
需要说明的是,由于图数据库存储着数量不定的海量数据,因此需要在保障网络延时体验和客户端性能的情况下,尽量随机的从中采样一部分数据。
具体地,采用MATCH(v)RETURN v limit n从图数据库中获取数量为n的第一节点;采用MATCH()-[e]-()RETURN e limit m从图数据库中获取数量为m的可视化边。
遍历第一节点生成以节点ID为索引的节点哈希表。
遍历可视化边得到对应的节点,根据节点的srcID和dstID查找节点哈希表,保存不存在于节点哈希表的第二节点。
通过fetch语句获取第二节点的具体属性值,合并第一节点和第二节点得到可视化节点。
步骤S104,根据可视化节点和可视化边,计算出图数据的预布局和出入度,并进行力导向图配置,其中,出入度用于计算渲染后的节点尺寸。
具体地,遍历可视化节点,并通过Math.random()*Math.PI*2随机生成第一角度thelta和第二角度delta,
根据可视化节点的数量,用节点数量除以2计算得到预布局的球半径。进一步地,基于球坐标,通过球半径和两个角度即可随机生成球内一点,并保存该点的球坐标为节点坐标。
在上述节点的遍历过程中生成每个可视化节点的邻接表,根据邻接表遍历可视化边,得到可视化节点的出入度。进一步地,取出入度中的最大值,利用最大值归一化出入度到1~3倍节点默认尺寸之间,从而生成节点的半径和出入度表。
配置默认向心力,配置多体力为-100,多体力最大距离为500,配置缓动系数(decay)为0.003,配置最小停止运行缓动系数为0.2,起始系数为0.4。
需要说明的是,在数据可视化中,往往会使用图来表达数据中所蕴含的信息。而图布局算法可以使散乱的信息(信息多以点线的关系承载)通过一种清晰的方式呈现出来,并符合相应的美学标准。在基于粒子物理理论的图布局算法模型中,往往将节点模拟成为原子,通过原子间的引力和斥力来得到节点的速度与加速度,计算其移动方位与距离,最终达到一个稳定平衡的状态,从而完成布局。通过上述力导向图配置(d3-force-3d)来保障在渲染中能尽快停止力模拟运行并同时得到较好的布局。减轻cpu压力。
步骤S106,判断可视化节点的数量是否大于预设阈值。
需要说明的是,本方法利用three.js作为渲染基础引擎库。通过高性能、低性能自动切换的模式保障运行效果,高性能模式使用点片元渲染,低性能模式使用球多面体实例化渲染同时添加旁氏光照。切换策略为:在节点数量大于预设阈值的情况下,如节点数量在1w以上的情况使用高性能,反之使用低性能模式。
步骤S108,若是,则对可视化节点和可视化边进行点片元渲染。
具体地,图2是根据本申请实施例的图数据高性能模式渲染的示意图。编写点片元的独立shader,利用浏览器高度作为基准,通过公式height/Math.tan(fov/2/180*Math.PI)生成可视化节点在在裁剪空间下的缩放比例,进而获得对应的节点尺寸gl_PointSize*=(scale/-mvPosition.z),再利用GPU的并行渲染能力,通过片元着色器对可视化节点的颜色进行并行渲染。此外,还可以通过smoothstep(0.,0.1,(0.5-distance))来避免边缘锯齿。
使用Line_Segments将可视化边的坐标数据加载到内存中一次性进行渲染。
步骤S110,若否,则对可视化节点和可视化边进行球多面体实例化渲染。
具体地,图3是根据本申请实施例的图数据低性能模式渲染的示意图。基于可视化节点,利用three.js的sphereGeometry生成144面的多面体,再利用webGL2.0的drawInstanceMesh特性对多面体进行划分生成每个球(可视化节点)的4维矩阵,然后再将4维矩阵传入webgl上下文渲染管线的buffer数据中进行可视化节点的渲染。
使用Line_Segments将可视化边的坐标数据加载到内存中一次性进行渲染。
通过本申请实施例中的步骤S102至步骤S110,解决了图数据大规模可视化存在着效率低的问题,实现了基于Web3D的大规模图数据高效可视化。
在其中一些实施例中,在对所述可视化节点和可视化边进行渲染之后还包括:
通过前端算法计算交互位置所在的节点。
具体地,遍历完成渲染的所有节点,通过相机的投影矩阵和坐标相乘得到节点在渲染后的模型视图坐标;基于模型视图坐标的z值,通过(node.radius as number)*scale/-mvPosition.z获取节点在渲染后的尺寸系数,其中,scale根据步骤S108中的缩放比例值获得;判断节点的中心与交互位置的距离是否在尺寸系数约束的半径范围内,若是,则节点为交互位置所在的节点。
可选地,在根据视图坐标的z值获取到节点的尺寸系数之前,可以先判断是否已有节点被选中且离屏幕的距离小于当前遍历的节点,若是,则当前遍历的节点不是交互位置所在的节点;若否,才执行上述的“根据视图坐标的z值获取到节点的尺寸系数”及后续步骤。
需要说明的是,交互位置可以是鼠标指向的位置,或是其他输入设备输入的交互数据中所包含的位置,本方案通过视图空间的z值来筛选出需要计算交点的节点,相对传统的射线检测法,能在100w节点规模下,能快速响应出用户所选的点。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例提供了一种图数据Web3D可视化的系统,图4是根据本申请实施例的图数据Web3D可视化系统的结构框图,如图4所示,该系统包括数据采集模块41、数据配置模块42和数据渲染模块43;
数据采集模块41从预设图数据库中获取预设数量的可视化节点和可视化边;
数据配置模块42根据可视化节点和可视化边,计算出图数据的预布局和出入度,并进行力导向图配置,其中,出入度用于计算渲染后的节点尺寸;
数据渲染模块43判断可视化节点的数量是否大于预设阈值;
若是,则数据渲染模块43对可视化节点和可视化边进行点片元渲染;
若否,则数据渲染模块43对可视化节点和可视化边进行球多面体实例化渲染。
通过本申请实施例中的数据采集模块41、数据配置模块42和数据渲染模块43,解决了图数据大规模可视化存在着效率低的问题,实现了基于Web3D的大规模图数据高效可视化。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的图数据Web3D可视化的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种图数据Web3D可视化的方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图数据Web3D可视化的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图5是根据本申请实施例的电子设备的内部结构示意图,如图5所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图5所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种图数据Web3D可视化的方法,数据库用于存储数据。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种图数据Web3D可视化的方法,其特征在于,所述方法包括:
从预设图数据库中获取预设数量的可视化节点和可视化边;
根据所述可视化节点和可视化边,计算出图数据的预布局和出入度,并进行力导向图配置,其中,所述出入度用于计算渲染后的节点尺寸;
判断所述可视化节点的数量是否大于预设阈值;
若是,则对所述可视化节点和所述可视化边进行点片元渲染;
若否,则对所述可视化节点和所述可视化边进行球多面体实例化渲染。
2.根据权利要求1所述的方法,其特征在于,从预设图数据库中获取预设数量的可视化节点和可视化边包括:
从预设图数据库中获取第一预设数量的第一节点,获取第二预设数量的可视化边;
遍历所述第一节点,生成以节点ID为索引的节点哈希表;
遍历所述可视化边得到对应的节点,根据所述节点和所述节点哈希表,保存不存在于所述节点哈希表的第二节点;
合并所述第一节点和所述第二节点得到可视化节点。
3.根据权利要求1所述的方法,其特征在于,根据所述可视化节点和可视化边,计算出图数据的预布局和出入度包括:
遍历所述可视化节点得到第一角度和第二角度,根据所述可视化节点的数量计算得到预布局的球半径;
且在所述遍历过程中生成每个所述可视化节点的邻接表,根据所述邻接表遍历所述可视化边,得到所述可视化节点的出入度。
4.根据权利要求1所述的方法,其特征在于,并进行力导向图配置包括:
配置默认向心力,配置多体力为-100,多体力最大距离为500,配置缓动系数为0.003,配置最小停止运行缓动系数为0.2,起始系数为0.4。
5.根据权利要求1所述的方法,其特征在于,则对所述可视化节点和所述可视化边进行点片元渲染包括:
计算所述可视化节点在在裁剪空间下的缩放比例,进而获得对应的节点尺寸,再通过片元着色器对可视化节点的颜色进行并行渲染;
将所述可视化边的坐标数据加载到内存中一次性进行渲染。
6.根据权利要求1所述的方法,其特征在于,则对所述可视化节点和所述可视化边进行球多面体实例化渲染包括:
基于所述可视化节点生成144面的多面体,对所述多面体进行划分生成每个可视化节点的4维矩阵,再根据所述4维矩阵进行可视化节点的渲染;
将所述可视化边的坐标数据加载到内存中一次性进行渲染。
7.根据权利要求1所述的方法,其特征在于,在对所述可视化节点和可视化边进行渲染之后,所述方法还包括:
通过前端算法计算交互位置所在的节点。
8.根据权利要求7所述的方法,其特征在于,通过前端算法计算交互位置所在的节点包括:
遍历完成渲染的所有节点,得到所述节点在渲染后的模型视图坐标;
通过所述模型视图坐标的z值获取所述节点在渲染后的尺寸系数;
判断所述节点的中心与交互位置的距离是否在所述尺寸系数约束的半径范围内,若是,则所述节点为所述交互位置所在的节点。
9.一种图数据Web3D可视化的系统,其特征在于,所述系统包括数据采集模块、数据配置模块和数据渲染模块;
所述数据采集模块从预设图数据库中获取预设数量的可视化节点和可视化边;
所述数据配置模块根据所述可视化节点和可视化边,计算出图数据的预布局和出入度,并进行力导向图配置,其中,所述出入度用于计算渲染后的节点尺寸;
所述数据渲染模块判断所述可视化节点的数量是否大于预设阈值;
若是,则所述数据渲染模块对所述可视化节点和所述可视化边进行点片元渲染;
若否,则所述数据渲染模块对所述可视化节点和所述可视化边进行球多面体实例化渲染。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任一项所述的图数据Web3D可视化的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210119209.4A CN114564630A (zh) | 2022-02-08 | 2022-02-08 | 一种图数据Web3D可视化的方法、系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210119209.4A CN114564630A (zh) | 2022-02-08 | 2022-02-08 | 一种图数据Web3D可视化的方法、系统和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114564630A true CN114564630A (zh) | 2022-05-31 |
Family
ID=81714326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210119209.4A Pending CN114564630A (zh) | 2022-02-08 | 2022-02-08 | 一种图数据Web3D可视化的方法、系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114564630A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203619A (zh) * | 2022-09-14 | 2022-10-18 | 杭州悦数科技有限公司 | 基于Web的三维图数据布局方法和系统 |
CN115618070A (zh) * | 2022-12-15 | 2023-01-17 | 杭州悦数科技有限公司 | 一种基于图数据库的可视化建模方法、系统、装置和介质 |
CN115630698A (zh) * | 2022-12-08 | 2023-01-20 | 国家电网有限公司客户服务中心 | 基于力引导图的知识图谱可视化方法、装置及电子设备 |
-
2022
- 2022-02-08 CN CN202210119209.4A patent/CN114564630A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203619A (zh) * | 2022-09-14 | 2022-10-18 | 杭州悦数科技有限公司 | 基于Web的三维图数据布局方法和系统 |
CN115630698A (zh) * | 2022-12-08 | 2023-01-20 | 国家电网有限公司客户服务中心 | 基于力引导图的知识图谱可视化方法、装置及电子设备 |
CN115630698B (zh) * | 2022-12-08 | 2023-04-11 | 国家电网有限公司客户服务中心 | 基于力引导图的知识图谱可视化方法、装置及电子设备 |
CN115618070A (zh) * | 2022-12-15 | 2023-01-17 | 杭州悦数科技有限公司 | 一种基于图数据库的可视化建模方法、系统、装置和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11344806B2 (en) | Method for rendering game, and method, apparatus and device for generating game resource file | |
US11373272B2 (en) | Digital gradient signal processing system and method for signals comprising at least three dimensions | |
US20200218519A1 (en) | Methods and systems for creating applications using scene trees | |
WO2022116759A1 (zh) | 图像渲染方法、装置、计算机设备和存储介质 | |
CN114564630A (zh) | 一种图数据Web3D可视化的方法、系统和介质 | |
KR101087427B1 (ko) | 3차원 장면 계층구조를 2차원 합성 시스템으로 통합하기 위한 컴퓨터로 구현된 방법 및 컴퓨터 판독가능 기록 매체 | |
US10127327B2 (en) | Cloud-based image processing web service | |
US9754392B2 (en) | Generating data-mapped visualization of data | |
US20200294307A1 (en) | Displaying rich text on 3d models | |
US9111327B2 (en) | Transforming graphic objects | |
EP2274721A2 (en) | Lightweight three-dimensional display | |
US11094036B2 (en) | Task execution on a graphics processor using indirect argument buffers | |
WO2022095526A1 (zh) | 图形引擎和适用于播放器的图形处理方法 | |
KR20080021637A (ko) | 디지털 이미지 처리에서의 효과 그래프를 통한 변환들의축적 | |
CN104111913A (zh) | 一种流式文档的处理方法及装置 | |
Boutsi et al. | Interactive online visualization of complex 3D geometries | |
CN108351888B (zh) | 生成可推迟数据流 | |
Fink et al. | Lumipath–towards real-time physically-based rendering on embedded devices | |
CN111192339B (zh) | 地理位置数据的渲染方法及装置 | |
Sun et al. | The Scalability of X3D4 PointProperties: Benchmarks on WWW Performance | |
US20150081765A1 (en) | System and method for enhancing multi-module experience | |
Jung et al. | Fast and efficient vertex data representations for the web | |
CN117112950B (zh) | 电子地图中对象的渲染方法、装置、终端及存储介质 | |
Roth et al. | Guided high-quality rendering | |
Marek et al. | Possibilities for development and use of 3D applications on the android platform |
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 |