CN102314606A - 无向图结点定位方法 - Google Patents
无向图结点定位方法 Download PDFInfo
- Publication number
- CN102314606A CN102314606A CN201110206304A CN201110206304A CN102314606A CN 102314606 A CN102314606 A CN 102314606A CN 201110206304 A CN201110206304 A CN 201110206304A CN 201110206304 A CN201110206304 A CN 201110206304A CN 102314606 A CN102314606 A CN 102314606A
- Authority
- CN
- China
- Prior art keywords
- piece
- sub
- group
- node
- tree
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种无向图结点定位方法,用于在一个矩形显示区域中给无向图的结点定位,包括以下步骤:(1)识别出所有割边。(2)在团树中选择度数最大且使团树的层数最小的团,作为团树的根。(3)将所述矩形区域从上到下分若干层。再按该团在团树同层中的顺序从左到右定位在相应的块。判断团是否只含一个结点。若只含一个结点,只需简单地将该唯一结点定位在相应块的中心位置;否则识别出团内的所有割点,将团分解为子团,再对子团进行从上到下分子层和对每一子层,再从左到右分若干子块。判断是子团还是割点,并给予相应的定位。本发明最大程度地减少无向图中连线的交叉、远跨、重叠,并使无向图的结点分组情况和连线组织情况清晰可辨。
Description
技术领域
本发明涉及信息可视化技术领域,尤其是无向关系图即无向图的显示、绘制和可视化技术领域。
背景技术
在计算机科学与技术中,描述一组对象之间的关系经常用无向图表示,而此类关系信息的获取形式往往是无向图的逻辑表示,如表格、数据库、邻接矩阵,这种逻辑表示很不直观,所以人们喜欢用平面上的图重新表示,将表示对象的结点用一个圆点或小圆圈表示,再将对象间的逻辑关系用一条条连接两个结点的线段表示。这种图形化表示固然直观,但存在一个问题:如果一开始结点的位置摆放得不好,画连线时会产生纵横交错的结果,画出来的图关系不清晰,连线产生交叉、远跨或重叠。所以结点的定位很重要,如果有一种能保证连线清晰的结点定位方法,那么按该方法将结点位置确定之后,再根据逻辑关系将一对对的结点用直线段连接起来就行了。这就是无向图的结点定位技术,关于结点定位技术,目前有如下文献:
授权公告号为CN101582793的中国发明专利《网络拓扑图形化显示方法及装置》公开了一种网络拓扑的显示方法,该发明将显示区域做扇形划分,解决了结点重叠问题,适用于网络拓扑图的显示,但对连线的交叉、远跨情况没有涉及和解决。
确定性的结点定位方法有弹力模型方法(Eades,P..A Heuristic for Graph Drawing.Congressus Numerantium,No.42,1984:149-160),该方法容易陷入局部最优解。随机化方法有遗传算法(张清国等:用遗传算法画无向图.计算机工程与科学,28(6),2006:58-61;黄竞伟等:基于遗传算法的二叉树画树算法.软件学报,11(8),2000:1112-1117)、模拟退火算法(Davidson,Ron;Harel,David.Drawing graphs nicely using simulated annealing.ACM Transactions on Graphics,Vol.15,No.4,1996:301-331)等,它们属于进化算法,进化算法的缺点是算法收敛慢,结果不确定。
为方便描述,相关术语解释如下:
无向图:由有穷结点集V,及V上的对称二元关系E构成的二元组G=(V,E)。
简单图:无环、无平行边的图。
本发明仅考虑无向简单连通图,即无环、无平行边的无向连通图。这是因为图的连通分支很容易分离,不同的连通分支可以做各自的定位处理,故以下提及的无向图都是指无向简单连通图。
树:无回路的连通的简单图。
度数:结点v的关联边的个数称为结点的度数,记为d(v)。
割点:在一个连通无向图中,若删除结点v及其关联边,该无向图不再是连通图,则称结点v为割点。
割边:在一个连通无向图中,若删除边e,该无向图不再是连通图,则称边e为割边。
树的层数:图论中树的层数定义为从树的根结点到叶结点的简单路径所含边数的最大值。本发明中(包括权利要求书),树的层数定义为从树的根结点到叶结点的简单路径所含结点个数的最大值。前者比后者少1,本发明如此定义为方便描述,不影响实质。
哈密尔顿回路:包含所有结点一次且仅一次的回路。
边连通度:删除若干条边后使连通图不再连通的最少删除边数。
团:无向连通图去掉所有割边之后的各个连通子图称为团。团除了不含原无向连通图的割边之外,还可以证明团不含自身的割边。只含一个结点的团为平凡团,含不止一个结点的团为非平凡团。
团树:在无向连通图中,把其中的团视为新的结点,由团与割边构成的导出图必为一个连通无环图,即树,该树称为团树。
子团:非平凡的团去掉所有割点及关联的边之后的各个连通子图称为子团。可以证明子团至少含两个结点(若不然,该唯一结点与团的某个割点的连线成为团的割边,与团的性质矛盾)。
子团树:在团中,把其中的子团和割点视为新的结点,由子团、割点构成的导出树称为子团树。
割边割点识别的公知算法:该算法是R.Tarjan发明的。先对图深度优先搜索,定义DFS(u)为u在搜索树(以下简称为树)中被遍历到的次序号。再定义Low(u)为u或u的子树中能通过非父子边追溯到的最早的顶点,即DFS序号最 小的顶点。根据定义,则有:
一个顶点u是割点,当且仅当满足(1)或(2):
(1)u为树根,且u有多于一个子树。
(2)u不为树根,且满足存在(u,v)为树枝边,使得DFS(u)<=Low(v)。
一条无向边(u,v)是割边,当且仅当(u,v)为树枝边,且满足DFS(u)<Low(v)。
发明内容
本发明所要解决的技术问题是提供一种易于计算、视觉上清晰易辨的无向图结点定位新方法,其符合人脑的层次化思维方式、直观易懂、实现步骤简单、结果确定。
为解决上述技术问题,本发明采用以下技术方案:一种无向图结点定位方法,该方法在计算机上进行,用于在一个矩形显示区域中给无向图的结点定位,包括以下步骤:
(1)识别出所有割边,将所述无向图视为由割边和团构成的团树,所述团是指将无向图的所有割边删除后剩下的各个连通子图。
(2)在团树中选择度数最大且使团树的层数最小的团,作为团树的根,若度数最大且使团树的层数最小的团不止一个,任选其中一个。
(3)将所述矩形区域从上到下分若干层,层数等于团树的层数,即层的分割;对每一层,再从左到右分若干块,块数等于团树中位于该层的团的个数,即块的分割;每个团按该团在团树中的层号从上到下定位在相应的层,再按该团在团树同层中的顺序从左到右定位在相应的块。
(4)对每个团,若只含有一个结点,将该结点定位在相应块的中心位置,否则,识别出该团的所有割点,并将该团视为由割点和子团构成的子团树,继续进行步骤(5)、(6)、(7),所述子团是指团的所有割点及其关联边删除后剩下的各个连通子图;
(5)若子团树是团树中的根团,则选择度数最大且使子团树的层数最小的子团或割点,作为子团树的根,若度数最大且使子团树的层数最小的子团或割点不止一个,任选其中一个;若子团树不是团树中的根,则在子团树中选择与上层团关联的唯一的子团或割点,作为子团树的根;
(6)将块从上到下分若干子层,子层数等于子团树的层数,即子层的分割;对每一子层,再从左到右分若干子块,子块数等于子团树中位于该层的子团的个数,即子块的分割;每个子团按该子团在子团树中的层号从上到下定位在相应的子层,再按该子团在子团树同层中的顺序从左到右定位在相应的子块;
(7)在子团树中,对每个割点,将该割点定位在相应子块的中心位置;对每个子团,将其中的结点均匀定位在相应子块内的环形分布位置上,有上层子团时,其中与上层子团有关联的结点定位在该环形的上侧部分,且左右对称分布,无上层子团而有下层子团时,其中与下层子团有关联的结点定位在该环形的下侧部分,且左右对称分布;所述环形分布位置是指子块内与之同心的收缩圆周或收缩椭圆周。
所述步骤(3)中层的分割可采用层高平均法或层高结点比例法。层高平均法即根据团树的层数纵向均分矩形区域,层的高度根据团树的总层数平均分配。层高结点比例法即根据团树中各层所含的结点总数按比例分配层高。
所述步骤(3)中块的分割可采用块宽平均法或块宽结点比例法。块宽平均法即根据同层的团数横向均分层,块的宽度根据该块所在层的总块数平均分配。块宽结点比例法即根据块所在层中各块所含的结点数按比例分配块宽。
所述步骤(6)中子层的分割可采用子层平均法或子层结点比例法,子层平均法即根据子团树的层数纵向均分块,子层的高度根据子团树的总层数平均分配;子层结点比例法即子层的高度根据子团树中各层所含的结点总数按比例分配。
所述步骤(6)中子块的分割可采用子块平均法或子块结点比例法,子块平均法即根据同层的子团数横向均分子层,子块的宽度根据该子块所在层的总块数平均分配;子块结点比例法即子块的宽度根据该子块所在层中各子块所含的结点数按比例分配。
最好所述步骤(7)中收缩椭圆周的纵轴、横轴长度分别为子块高度、宽度的1/2~3/4倍,所述收缩圆周的直径为子块高度和宽度两者中较小者的1/2~3/4 倍。
采用上述方法,最终可以在一个矩形区域中确定无向图每个结点的坐标,继而可以将有关系的两个结点用直线段连接起来,构成可视化的无向图。
本发明的技术效果:最大程度地减少无向图中连线的交叉、远跨、重叠(包括线线重叠和线点重叠),并使无向图的结点分组情况和连线组织情况清晰可辨。按照上述设计方案的结点定位方法,虽然不能保证百分之百消除所有可能的连线交叉、远跨和重叠,但在大多数的情况尤其是稀疏无向图的情况下,不再有连线的交叉、远跨和重叠。尤其是对具备星型、链型、环型、完全图型等逻辑关系的无向图特例图型,按上述设计方案进行结点定位,能得到清晰、如实反映图型的视觉效果。
下面结合附图和具体实施方式对本发明作进一步说明。
附图说明
图1是本发明的总体流程图。
图2是采用平均法进行层的分割和块的分割的流程图。
图3是采用平均法进行子层的分割和子块的分割的的流程图。
图4是采用结点比例法进行层的分割和块的分割的流程图。
图5是采用结点比例法进行子层的分割和子块的分割的的流程图。
图6是子团内结点定位的流程图。
图7是本发明一种实施例的结点定位过程示意图。
图8是对特例图型定位的前后效果图,
图8.a:一种星型图型实施例的原始无向图;
图8.b:图8.a的定位后效果图;
图8.c:一种链型图型实施例的原始无向图;
图8.d:图8.c的定位后效果图;
图8.e:一种环形图型实施例的原始无向图;
图8.f:图8.e的定位后效果图;
图8.g:一种完全图型实施例的原始无向图;
图8.h:图8.g的定位后效果图。
具体实施方式
如图1所示,本发明一种在计算机上进行的无向图结点定位方法的总体流程图。先执行步骤101,识别出无向图的所有割边,将无向图分解成树形组织的团。识别出所有割边,将所述无向图视为由割边和团构成的团树,所述团是指将无向图的所有割边删除后剩下的各个连通子图。
再执行步骤102,确定各个团的矩形子区域(称之为块)。在团树中选择度数最大且使团树的层数最小的团,作为团树的根,若度数最大且使团树的层数最小的团不止一个,任选其中一个。将所述矩形区域从上到下分若干层,层数等于团树的层数,即层的分割;对每一层,再从左到右分若干块,块数等于团树中位于该层的团的个数,即块的分割;每个团按该团在团树中的层号从上到下定位在相应的层,再按该团在团树同层中的顺序从左到右定位在相应的块。
对每个团,执行判断103,团是否只含一个结点。若只含一个结点(即平凡团的情况),执行步骤104,只需简单地将该唯一结点定位在相应块的中心位置。不然,继续执行步骤105,识别出团内的所有割点,将团分解为子团,即将该团视为由割点和子团构成的子团树,继续进行以下步骤。所述子团是指团的所有割点及其关联边删除后剩下的各个连通子图。
执行步骤106,确定各个子团和割点的矩形子区域(称之为子块)。若子团树是团树中的根团,则选择度数最大且使子团树的层数最小的子团或割点,作为子团树的根,若度数最大且使子团树的层数最小的子团或割点不止一个,任选其中一个;若子团树不是团树中的根,则在子团树中选择与上层团关联的唯一的子团或割点,作为子团树的根。将块从上到下分若干子层,子层数等于子团树的层数,即子层的分割;对每一子层,再从左到右分若干子块,子块数等于子团树中位于该层的子团的个数,即子块的分割;每个子团按该子团在子团树中的层号从上到下定位在相应的子层,再按该子团在子团树同层中的顺序从左到右定位在相应的子块。
接着执行步骤107,判断是子团还是割点。
若为子团,执行步骤108,对子团的各结点定位。对每个子团,将其中的结点均匀定位在相应子块内的环形分布位置上,有上层子团时,其中与上层子团有关联的结点定位在该环形的上侧部分,且左右对称分布,无上层子团而有下层子团时,其中与下层子团有关联的结点定位在该环形的下侧部分,且左右对称分布;所述环形分布位置是指子块内与之同心的收缩圆周或收缩椭圆周。
若为割点,执行步骤109,只需简单地将该割点定位在相应子块的中心位置。
其中步骤102对层的分割、块的分割有很多方法,常采用平均法或结点比例法。对层的分割可采用层高平均法或层高结点比例法,层高平均法即根据团树的层数纵向均分矩形区域,层的高度根据团树的总层数平均分配。层高结点比例法即根据团树中各层所含的结点总数按比例分配层高。
块的分割也可采用块宽平均法或块宽结点比例法。块宽平均法即根据同层的团数横向均分层,块的宽度根据该块所在层的总块数平均分配。块宽结点比例法即根据块所在层中各块所含的结点数按比例分配块宽。
层高平均法的优点是模型简单,计算方便。层高结点比例法的优点是结点密度均匀。因为层所含的结点数越多,应占的区域面积越大,所以根据团树中各层所含的结点总数按比例分配层高能使无向图的结点密度尽量均匀。
块宽平均法、块宽结点比例法也各有类似层高平均法、层高结点比例法的优点。
步骤106对子层的分割、子块的分割与层的分割类似,也有多种分法,常用两种分法:平均法和结点比例法。对子层分割的子层平均法即根据子团树的层数纵向均分块,子层的高度根据子团树的总层数平均分配。对子层分割的子层结点比例法即根据子团树中各子层所含的结点总数按比例分配子层高。
其也各有类似层高平均法、层高结点比例法的优点。
对子块分割的子块平均法即根据同层的子团数横向均分子层,子块的宽度根据该子块所在层的总块数平均分配。对子块分割的子块结点比例法即根据子块所在层中各子块所含的结点数按比例分配子块宽。
其也各有类似层高平均法、层高结点比例法的优点。
图2为102步骤采用平均法进行层的分割和块的分割。先执行步骤1021,将连通的无向图视为由割边和团构成的树,该树成为团树,其中团是指将无向图的所有割边删除后剩下的各个连通子图,团内不含团自身的割边,更不含原无向图的割边。然后执行步骤1022,选取度数最小并使树的层数最小的团作为团树的根结点。若度数最大且使团树的层数最小的团不止一个,任选其中一个。这种团树根的选法可以尽量使团树的高度不过长,并使团树的各子树规模尽量均匀,易于在矩形区域中显示。再执行步骤1023A,将显示无向图的矩形区域从上到下分若干层,层数等于团树的层数,每层的高度根据总层数平均分配。 最后执行步骤1024A,对每一层,再从左到右分若干块,块数等于团树中位于该层的团的个数。每块的宽度根据所在层的总块数平均分配。
设矩形区域的左上角坐标为(0,0),右下角坐标为(W,H),团树的层数为L,每层的团数为ni,i=1,……,L,每层的结点总数为Ni,i=1,……,L,在第i层中,每个团的结点数为Nij,j=1,……,ni。第i层第j个团的定位块的左上角坐标、高度、宽度分别是:
这样每个团按它在团树中的层号从上到下定位在相应的层,再按它在团树同层中的顺序从左到右定位在相应的块。
图3为106步骤采用平均法进行子层的分割和子块的分割。先执行步骤1061,将团视为由割点和子团构成的子团树,其中子团树是指团的所有割点及其关联边删除后剩下的各个连通子图,可以证明子团至少含有两个结点。然后执行步骤1062,确定子团树的根结点,子团树是团树中的根的(根团的情形),选择度数最大且使子团树的层数最小的子团,作为子团树的根。若度数最大且使子团树的层数最小的子团不止一个,任选其中一个。这种子团树根的选法可以尽量使子团树的高度不过长,并使子团树的各子树规模尽量均匀,易于在矩形区域中显示。子团树不是团树中的根的(非根团的情形),在子团树中选择与上层团有关联的唯一的割点或子团,作为子团树的根。这种子团树根的选法可以尽量避免无向图的连线交叉。再执行步骤1063A,将块从上下分若干子层,子层数等于子团树的层数;每个子层的高度根据总子层数平均分配。最后执行步骤1064A,对每一子层,再从左到右分若干子块,子块数等于子团树中位于该层的子团的个数;每个子块的宽度根据所在子层的总子块数平均分配。这样,每个子团按它在子团树中的层号从上到下定位在相应的子层,再按它在子团树同层子团中的顺序从左到右定位在相应的子块。
图4为102步骤采用结点比例法进行层的分割和块的分割。先执行步骤1021,将连通的无向图视为由割边和团构成的树,该树成为团树,其中团是指 将无向图的所有割边删除后剩下的各个连通子图,团内不含团自身的割边,更不含原无向图的割边。然后执行步骤1022,选取度数最小并使树的层数最小的团作为团树的根结点。若度数最大且使团树的层数最小的团不止一个,任选其中一个。这种团树根的选法可以尽量使团树的高度不过长,并使团树的各子树规模尽量均匀,易于在矩形区域中显示。再执行步骤1023B,将显示无向图的矩形区域从上到下分若干层,层数等于团树的层数,每层的高度根据团树中各层所含的结点总数按比例分配。最后执行步骤1024B,对每一层,再从左到右分若干块,块数等于团树中位于该层的团的个数。每块的宽度根据各块所含的结点总数按比例分配。
设矩形区域的左上角坐标为(0,0),右下角坐标为(W,H),团树的层数为L,每层的团数为ni,i=1,……,L,每层的结点总数为Ni,i=1,……,L,在第i层中,每个团的结点数为Nij,j=1,……,ni。第i层第j个团的定位块的左上角坐标、高度、宽度分别是:
这样每个团按它在团树中的层号从上到下定位在相应的层,再按它在团树同层中的顺序从左到右定位在相应的块。
图5为106步骤采用结点比例法进行子层的分割和子块的分割。先执行步骤1061,将团视为由割点和子团构成的子团树,其中子团树是指团的所有割点及其关联边删除后剩下的各个连通子图,可以证明子团至少含有两个结点。然后执行步骤1062,确定子团树的根结点,子团树是团树中的根的(根团的情形),选择度数最大且使子团树的层数最小的子团,作为子团树的根。若度数最大且使子团树的层数最小的子团不止一个,任选其中一个。这种子团树根的选法可以尽量使子团树的高度不过长,并使子团树的各子树规模尽量均匀,易于在矩形区域中显示。子团树不是团树中的根的(非根团的情形),在子团树中选择与上层团有关联的唯一的割点或子团,作为子团树的根。这种子团树根的选法可 以尽量避免无向图的连线交叉。再执行步骤1063B,将块从上下分若干子层,子层数等于子团树的层数;每个子层的高度根据子团树中各子层所含的结点总数按比例分配。最后执行步骤1064B,对每一子层,再从左到右分若干子块,子块数等于子团树中位于该层的子团的个数;每个子块的宽度根据各子块所含的结点总数按比例分配。这样,每个子团按它在子团树中的层号从上到下定位在相应的子层,再按它在子团树同层子团中的顺序从左到右定位在相应的子块。
图6为步骤108对子团内结点定位流程图。首先执行步骤1081,确定每个子团(可以证明,至少含有两个结点)的结点顺序,这种顺序可以按照最长通路(如果子团是哈密尔顿图,其最长通路是包含所有结点的回路)的结点顺序,剩余结点随机排在后面即可。一般的无向图,尤其是稀疏的无向图(边数|E|<<n(n-1)/2),按上述步骤分解到子团的时候,每个子团往往规模较小,结点数不多,但边连通度较高,采用简单的算法如贪心法、深度优先搜索法等,本实施例采用贪心法,构造最长通路的近似解,近似度较好,且计算复杂性不会超过O(n2),计算上完全可行。按最长通路顺序安排结点的目的是让具有环型逻辑关系的子团的连线在环形分布位置上呈首尾相接的环形,不发生扭结。
然后执行步骤1082,判断该子团有无上层子团,若有上层子团,执行步骤1083,根据与上层子团有关联的结点的重心,定位已排序结点的方位角,使关联结点分布在圆环上侧,且左右均衡分布。若没有上层子团,再执行步骤1084,判断该子团有无下层子团,若有,执行步骤1085,根据与下层子团有关联的结点的重心,定位已排序结点的方位角,使关联结点分布在圆环下侧,且左右均衡分布;若没有下层子团,说明该子团既无上层子团,又无下层子团,该子团是无向图的唯一子团,执行步骤1086,随意定位已排序结点的方位角。
步骤1083、1085其实就是在结点顺序已经确定的时候再确定结点整体在环形位置上的方位角,让结点整体转动,使关联结点转至向上或向下。步骤1083按重心确定方位角的简单原则是:让这些与上层子团有关联的结点的重心转至子块中心的正上方,这样就可以保证与上层子团有关联的结点整体上位于环形的上侧部分,并左右均衡分布。如果与上层子团有关联的结点只有一个,显然就是这个结点位于环形的顶部位置。定位在环形分布位置的上侧(或下侧)部分的目的是让子团与它的上层子团(或下侧子团)的连线尽量不与子块内的连线发生交叉,结点左右均衡分布的目的是让连线均衡分布。
所述环形分布位置是指子块内与之同心的收缩圆周或收缩椭圆周,即子块的同心内切圆或内切椭圆的缩小。收缩的目的是不致让相邻子块的结点靠得太近。收缩率取1/2~3/4为佳。
设子块的宽度、高度分别为w、h,中心坐标为(x0,y0),收缩率为k,1/2≤k≤3/4,则收缩圆周的环形分布位置的参数方程(注意Y轴正向向下)是:
收缩椭圆周的环形分布位置的参数方程是:
子团内结点均匀定位在相应子块内的环形分布位置,就是说结点的方位角分别取θ=θ0+2kπ/n,(k=1,…,n),其中θ0由与上层子团有关联的结点重心确定。当θ=π/2时,(x,y)位于环形的顶部位置。
图7是本发明一种实施例的结点定位过程示意图。
图7.a:矩形区域如部件0,无向图含有A~N共14个结点,由于结点随意定位,关系连线在视觉上不够清晰。
图7.b:通过识别出C-B、H-J、L-F和J-M四条割边,分解出5个团,并确定出根团{A,C,H,L},团树的层数为3,其中第二层有三个团,第三层有一个团,于是将矩形区域分为三层,如部件01、02和03,再将第二层02分成三个块,其中第一个块如部件021,对应的团为{B,D,E,G,I,K,N}。
图7.c:对第二层第一块,通过识别出对应团的割点B,分解出两个子团,从而两个子团和一个割点构成子团树,然后确定子团树的根{B},于是将块021分为两个子层,如部件0211和0212,其中子层0212又分为两个子块,如部件02121和02122。
图7.d:第一层只有唯一的块,该块只有唯一的子层,该子层只有唯一的子块,如部件01111,其中结点分布在子块01111内的环形区域上,通过贪心法确定结点的环型排列顺序H-L-A-C,该子团无上层子团,有三个下层子团,与下层子团有连线的结点C、H和L根据重心转至向下的方法被分布在圆环的下侧,左右对称分布;在第二层第一块的第一子层,只有唯一的子块,如部件02111,割点B定位在其中心;在第二层第一块的第二子层有两个子块02121和02122, 在这两个子块中的子团均有共同的上层子团{B},子块02121中的子团有4个结点,贪心法确定环型顺序K-E-N-D(注意:这虽然不是最好的顺序,但已保证足够清晰),与上层子团{B}有关联的结点{K,E}根据重心转至向上的方法被分布在相应圆环的上侧部分,且左右对称分布,子块02122中的子团有2个结点,与上层子团{B}有关联的结点{G,I}水平分布,保证了左右对称。其余块022、023和031中,相应团只含一个结点,结点就定位在相应块的中心。最终得到一幅关系连线清晰的无向图。
图8为本发明对4种特例图型的定位效果图。
图8.a是一个实际为星型的原始无向图,在本发明实施例的定位过程中,该图被分解为6个团,每个团只含一个结点,其中结点B被选为根团,6个团分为2个层,然后定位,图8.b是定位后的效果图。
图8.c是一个实际为链型的原始无向图,在本发明实施例的定位过程中,该图被分解为6个团,每个团只含一个结点,根团在候选的结点D和E中随机选择了D,6个团分为4个层,然后定位,图8.d是定位后的效果图。
图8.e是一个实际为环型的原始无向图,在本发明实施例的定位过程中,由于该图无割边,所以只有一个团,又由于没有割点,所以也只有一个子团,在子团内结点的定位中,按贪心法确定结点顺序,再呈圆环型均匀排列,图8.f是定位后的效果图。
图8.g是一个实际为完全图的原始无向图,该图没有割边,没有割点,边连通图达到最大值,所以只有一个团,且只有一个子团,按照本发明实施例的子团内结点的定位方法,得到图8.h所示的定位效果。
Claims (10)
1.一种无向图结点定位方法,用于在一个矩形显示区域中给无向图的结点定位,其特征在于:该方法包括以下步骤:
(1)识别出所有割边,将所述无向图视为由割边和团构成的团树,所述团是指将无向图的所有割边删除后剩下的各个连通子图;
(2)在团树中选择度数最大且使团树的层数最小的团,作为团树的根,若度数最大且使团树的层数最小的团不止一个,任选其中一个;
(3)将所述矩形区域从上到下分若干层,层数等于团树的层数,即层的分割;对每一层,再从左到右分若干块,块数等于团树中位于该层的团的个数,即块的分割;每个团按该团在团树中的层号从上到下定位在相应的层,再按该团在团树同层中的顺序从左到右定位在相应的块;
(4)对每个团,若只含有一个结点,将该结点定位在相应块的中心位置,否则,识别出该团的所有割点,并将该团视为由割点和子团构成的子团树,继续进行步骤(5)、(6)、(7),所述子团是指团的所有割点及其关联边删除后剩下的各个连通子图;
(5)若子团树是团树中的根团,则选择度数最大且使子团树的层数最小的子团或割点,作为子团树的根,若度数最大且使子团树的层数最小的子团或割点不止一个,任选其中一个;若子团树不是团树中的根,则在子团树中选择与上层团关联的唯一的子团或割点,作为子团树的根;
(6)将块从上到下分若干子层,子层数等于子团树的层数,即子层的分割;对每一子层,再从左到右分若干子块,子块数等于子团树中位于该层的子团的个数,即子块的分割;每个子团按该子团在子团树中的层号从上到下定位在相应的子层,再按该子团在子团树同层中的顺序从左到右定位在相应的子块;
(7)在子团树中,对每个割点,将该割点定位在相应子块的中心位置;对每个子团,将其中的结点均匀定位在相应子块内的环形分布位置上,有上层子团时,其中与上层子团有关联的结点定位在该环形的上侧部分,且左右对称分布,无上层子团而有下层子团时,其中与下层子团有关联的结点定位在该环形的下侧部分,且左右对称分布;所述环形分布位置是指子块内与之同心的收缩圆周或收缩椭圆周。
2.根据权利要求1所述的无向图结点定位方法,其特征在于:所述步骤(3)中层的分割采用层高平均法或层高结点比例法,层高平均法即根据团树的层数纵向均分矩形区域,层的高度根据团树的总层数平均分配;层高结点比例法即层的高度根据团树中各层所含的结点总数按比例分配。
3.根据权利要求1或2所述的无向图结点定位方法,其特征在于:所述步骤(3)中块的分割采用块宽平均法或块宽结点比例法,块宽平均法即根据同层的团数横向均分层,块的宽度根据该块所在层的总块数平均分配;块宽结点比例法即块的宽度根据该块所在层中各块所含的结点数按比例分配。
4.根据权利要求1或2所述的结点定位方法,其特征在于:所述步骤(6)中子层的分割采用子层平均法或子层结点比例法,子层平均法即子层的高度根据子团树的总层数平均分配;子层结点比例法即子层的高度根据子团树中各层所含的结点总数按比例分配。
5.根据权利要求3所述的结点定位方法,其特征在于:所述步骤(6)中子层的分割采用子层平均法或子层结点比例法,子层平均法即子层的高度根据子团树的总层数平均分配;子层结点比例法即子层的高度根据子团树中各层所含的结点总数按比例分配。
6.根据权利要求1或2所述的结点定位方法,其特征在于:所述步骤(6)中子块的分割采用子块平均法或子块结点比例法,子块平均法即子块的宽度根据该子块所在层的总块数平均分配;子块结点比例法即子块的宽度根据该子块所在层中各子块所含的结点数按比例分配。
7.根据权利要求3所述的结点定位方法,其特征在于:所述步骤(6)中子块的分割采用子块平均法或子块结点比例法,子块平均法即子块的宽度根据该子块所在层的总块数平均分配;子块结点比例法即子块的宽度根据该子块所在层中各子块所含的结点数按比例分配。
8.根据权利要求4所述的结点定位方法,其特征在于:所述步骤(6)中子块的分割采用子块平均法或子块结点比例法,子块平均法即子块的宽度根据该子块所在层的总块数平均分配;子块结点比例法即子块的宽度根据该子块所在层中各子块所含的结点数按比例分配。
9.根据权利要求5所述的结点定位方法,其特征在于:所述步骤(6)中子块的分割采用子块平均法或子块结点比例法,子块平均法即子块的宽度根据该子块所在层的总块数平均分配;子块结点比例法即子块的宽度根据该子块所在层中各子块所含的结点数按比例分配。
10.根据权利要求1或2所述的结点定位方法,其特征在于:所述步骤(7)中所述收缩椭圆周的纵轴、横轴长度分别为子块高度、宽度的1/2~3/4倍;所述收缩圆周的直径为子块高度和宽度两者中较小者的1/2~3/4倍。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110206304 CN102314606B (zh) | 2011-07-13 | 2011-07-13 | 无向图可视化显示的结点定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110206304 CN102314606B (zh) | 2011-07-13 | 2011-07-13 | 无向图可视化显示的结点定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102314606A true CN102314606A (zh) | 2012-01-11 |
CN102314606B CN102314606B (zh) | 2013-03-27 |
Family
ID=45427753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110206304 Expired - Fee Related CN102314606B (zh) | 2011-07-13 | 2011-07-13 | 无向图可视化显示的结点定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102314606B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104375416A (zh) * | 2014-08-21 | 2015-02-25 | 浙江工业大学 | 控制系统中点定位问题的同义去冗余网格法 |
CN104463825A (zh) * | 2013-09-16 | 2015-03-25 | 北京三星通信技术研究有限公司 | 用于在三维体积图像中检测对象的设备和方法 |
CN104503225A (zh) * | 2014-09-23 | 2015-04-08 | 浙江工业大学 | 控制系统中点定位方法 |
CN106815841A (zh) * | 2017-01-13 | 2017-06-09 | 合肥师范学院 | 基于t型结点线索的图像物体分割算法 |
CN109408675A (zh) * | 2018-11-01 | 2019-03-01 | 中山大学 | 一种基于可视化操作的Halin图最大切割方法及平台 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1104132A1 (en) * | 1999-11-23 | 2001-05-30 | Trw Inc. | Automated configuration of internet-like computer networks |
CN101741611A (zh) * | 2009-12-03 | 2010-06-16 | 哈尔滨工业大学 | 基于MLkP/CR算法的无向图分割方法 |
-
2011
- 2011-07-13 CN CN 201110206304 patent/CN102314606B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1104132A1 (en) * | 1999-11-23 | 2001-05-30 | Trw Inc. | Automated configuration of internet-like computer networks |
CN101741611A (zh) * | 2009-12-03 | 2010-06-16 | 哈尔滨工业大学 | 基于MLkP/CR算法的无向图分割方法 |
Non-Patent Citations (1)
Title |
---|
方文其等: "无向关系图视觉清晰化显示算法", 《计算机工程与科学》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463825A (zh) * | 2013-09-16 | 2015-03-25 | 北京三星通信技术研究有限公司 | 用于在三维体积图像中检测对象的设备和方法 |
CN104463825B (zh) * | 2013-09-16 | 2019-06-18 | 北京三星通信技术研究有限公司 | 用于在三维体积图像中检测对象的设备和方法 |
CN104375416A (zh) * | 2014-08-21 | 2015-02-25 | 浙江工业大学 | 控制系统中点定位问题的同义去冗余网格法 |
CN104503225A (zh) * | 2014-09-23 | 2015-04-08 | 浙江工业大学 | 控制系统中点定位方法 |
CN106815841A (zh) * | 2017-01-13 | 2017-06-09 | 合肥师范学院 | 基于t型结点线索的图像物体分割算法 |
CN109408675A (zh) * | 2018-11-01 | 2019-03-01 | 中山大学 | 一种基于可视化操作的Halin图最大切割方法及平台 |
CN109408675B (zh) * | 2018-11-01 | 2021-03-26 | 中山大学 | 一种基于可视化操作的Halin图最大切割方法及平台 |
Also Published As
Publication number | Publication date |
---|---|
CN102314606B (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chiang et al. | Dynamic algorithms in computational geometry | |
Vehlow et al. | The State of the Art in Visualizing Group Structures in Graphs. | |
CN102314606B (zh) | 无向图可视化显示的结点定位方法 | |
Adrienko et al. | Spatial generalization and aggregation of massive movement data | |
Yoghourdjian et al. | Graph thumbnails: Identifying and comparing multiple graphs at a glance | |
Kerracher et al. | The design space of temporal graph visualisation. | |
Bertolazzi et al. | Computing orthogonal drawings with the minimum number of bends | |
Cheng et al. | TorusVis^ ND: unraveling high-dimensional torus networks for network traffic visualizations | |
CN105354335B (zh) | 针对时变层次数据的时变树图布局方法和应用 | |
CN105225272B (zh) | 一种基于多轮廓线三角网重构的三维实体建模方法 | |
CN105512218A (zh) | 一种关联层次数据的可视化方法和应用 | |
US8581907B2 (en) | Set visualizations | |
Peng | Automated generalization in GIS | |
CN105653881B (zh) | 基于多密度层次的流场可视化方法 | |
Dang et al. | CactusTree: A tree drawing approach for hierarchical edge bundling | |
Soares et al. | Visualizing multidimensional data in treemaps with adaptive glyphs | |
Pandian et al. | Blu: What GUIs are made of | |
Di Giacomo et al. | Low ply graph drawing | |
Bertolazzi et al. | Computing orthogonal drawings with the minimum number of bends | |
Alsallakh et al. | Contingency Wheel: Visual Analysis of Large Contingency Tables. | |
Hlawatsch et al. | Bubble hierarchies | |
Setiadi et al. | A model of geographic information system using graph clustering methods | |
Vismara et al. | Experimental studies on graph drawing algorithms | |
CN106547419A (zh) | 一种对象呈现方法与设备 | |
Abello et al. | Giga graph cities: Their buckets, buildings, waves, and fragments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130327 Termination date: 20180713 |