当前位置: 首页 > 专利查询>吴文卿专利>正文

一种拓扑图末端树自动布局方法技术

技术编号:13898788 阅读:237 留言:0更新日期:2016-10-25 10:20
本发明专利技术揭示了一种拓扑图末端树自动布局方法,所述方法包括:获取拓扑图的拓扑图参数,分析出拓扑图中所包含的所有拓扑图末端树;选择其中一个拓扑图末端树,根据叶节点数量、叶节点形状图的外接圆半径最大值,在椭圆夹角区间一定的情况下,计算拓扑图末端树的椭圆夹角区间对应的椭圆弧长;根据各叶节点的加权值分割所述椭圆夹角区间对应的椭圆弧长;计算各弧长对应的叶节点与根节点夹角的角度;根据各弧长对应的角度,计算叶节点坐标;根据叶节点坐标生成可视界面。本发明专利技术具有使拓扑末端树沿着椭圆曲线进行自动布局,支持调整椭圆弧扇面,叶节点相互不重叠,布局对称美观等优点。

【技术实现步骤摘要】

本专利技术涉及计算机应用
,尤其涉及一种拓扑图末端树自动布局方法及装置。
技术介绍
拓扑图是一种不考虑物体的大小、形状等物理属性,而仅使用点或者线描述多个物体实际位置与关系的抽象表示方法。拓扑图不关心事物的细节,也不在乎相互的比例关系,而只是以图的形式表示一定范围内多个物体之间的相互关系。在各领域中,拓扑图常用于显示资源节点间的关系,如在社交网络中有社交网络拓扑图,在消费领域中有消费关系拓扑图,在网络管理中有网络结构拓扑图。清晰美观的拓扑图对用户掌握资源关系非常重要。在计算机应用领域中,计算机与网络设备要实现互联,就必须使用一定的组织结构进行连接,这种组织结构就叫做拓扑结构,也叫拓扑图。如图1所示,利用现有技术生成的拓扑图。如所述的拓扑图,本专利技术中将一个节点的子树的个数称为节点的度,度为0的节点被称为叶节点,也叫叶子节点,将仅与一个非叶节点相邻的非叶节点称为根节点。由上述叶节点及根节点构成的图,在本专利技术中称为拓扑图末端树,如图2中所示的1a,1b,1c,1d为拓扑图末端树。当叶节点比较多时,拓扑图结构复杂,拓扑末端树可视化效果差。一个好的布局方法对于拓扑的可视化管理越来越重要。拓扑图布局通常采用人工拖动布局,但当叶节点数量增多时,人工拖动布局耗费很大的人力,而且布局效果差。同样的,论文基于斥力-张力模型的网络拓扑图布局算法中公开了一种Force-directed布局,该方法虽然在一定程度上自动分散各节点,使其尽量不重叠,但无法做到叶节点对称分布,更无法做到加权分布,使得各节点间长短不一,最终导致拓扑图不够美观。更最重要的是,当新增节点后,所有节点的位置都会发生一定的变化,不利于对已有节点的视觉跟踪。专利号为200510022224.3的中国专利文献中也公开了一种网络管理系统中网络拓扑自动生成方法。所述方法中指出叶节点沿着基础圆的路径进行分布,虽然实现比较简单,但是基础圆的半径依赖画图面板的边长,且固定为边长的1/4,只能对基础圆进行等分,不能进行非等分的处理。同时,基础圆弧扇面的生成依赖于叶节点数量,无法进一步的调整。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种拓扑图末端自动布局方法及装置,支持对拓扑图末端树进行自动布局,使其能够沿着椭圆曲线进行布局,支持调整椭圆弧扇面,并且提供加权分割椭圆弧的方法,使得叶节互相不重叠,布局对称、美观。为实现上述目的,本专利技术提出如下技术方案:一种拓扑图末端树自动布局方法,所述方法包括:S10,获取拓扑图各个节点及路径关系,分析出拓扑图中的所有拓扑图末端树,并存入拓扑图末端树集合中;S20,从所述的拓扑图末端树集合中选择一个拓扑图末端树,计算选择的拓扑图末端树的叶节点数量,以及叶节点形状图的外接圆半径最大值;S30,根据所述的叶节点数量及叶节点形状图的外接圆半径最大值,计算椭圆曲线总弧长的初始值,以及椭圆曲线长半轴的初始值;S40,计算椭圆曲线的长半轴的精确值,根据所述的长半轴的精确值,计算短半轴的精确值,以及计算椭圆上夹角区间所对应的椭圆弧长值;S50,通过椭圆弧加权布局法和角度折算布局法,计算所述夹角区间对应的各叶节点最终坐标;S60,根据所述各叶节点最终坐标,生成该拓扑图末端树的可视界面;S70,重复S20~S60,生成所有拓扑图末端树的可视界面。优选地,所述拓扑图末端树集合根据如下步骤获得:S201,获取拓扑图中度为0的节点,得到叶节点集合V叶,获取与叶节点相邻的非叶节点,得到非叶结点集合,从所述非叶结点集合中获取根节点,得到根节点集合V根;S202,从根节点集合V根中选择一个根节点a根,在路径关系与叶节点集合V叶中查找出与根节点a根存在路径关系的所有叶节点,得到叶节点集合V′叶,输出(a根,V′叶),即得到该拓扑图末端树的数据;S203,循环从根节点集合V根中选择根节点,输出新的拓扑图末端树的数据,直至根节点集合V根为空,即得到该拓扑图中所有的拓扑图末端树。优选地,所述椭圆曲线总弧长的初始值以及椭圆曲线长半轴的初始值根据如下初算函数计算,init_arc_len=nodes_num×r×h,其中h={h>2,h∈R本文档来自技高网
...

【技术保护点】
一种拓扑图末端树自动布局方法,其特征在于,所述方法包括:S10,获取拓扑图各个节点及路径关系,分析出拓扑图中的所有拓扑图末端树,并存入拓扑图末端树集合中;S20,从所述的拓扑图末端树集合中选择一个拓扑图末端树,计算选择的拓扑图末端树的叶节点数量,以及叶节点形状图的外接圆半径最大值;S30,根据所述的叶节点数量及叶节点形状图的外接圆半径最大值,计算得到椭圆曲线总弧长的初始值,以及椭圆曲线长半轴的初始值;S40,计算椭圆曲线的长半轴的精确值,短半轴的精确值,以及椭圆上夹角区间所对应的椭圆弧长值;S50,通过椭圆弧加权布局法和角度折算布局法,计算所述夹角区间对应的各叶节点最终坐标;S60,根据所述各叶节点最终坐标,生成该拓扑图末端树的可视界面;S70,重复S20~S60,生成所有拓扑图末端树的可视界面。

【技术特征摘要】
1.一种拓扑图末端树自动布局方法,其特征在于,所述方法包括:S10,获取拓扑图各个节点及路径关系,分析出拓扑图中的所有拓扑图末端树,并存入拓扑图末端树集合中;S20,从所述的拓扑图末端树集合中选择一个拓扑图末端树,计算选择的拓扑图末端树的叶节点数量,以及叶节点形状图的外接圆半径最大值;S30,根据所述的叶节点数量及叶节点形状图的外接圆半径最大值,计算得到椭圆曲线总弧长的初始值,以及椭圆曲线长半轴的初始值;S40,计算椭圆曲线的长半轴的精确值,短半轴的精确值,以及椭圆上夹角区间所对应的椭圆弧长值;S50,通过椭圆弧加权布局法和角度折算布局法,计算所述夹角区间对应的各叶节点最终坐标;S60,根据所述各叶节点最终坐标,生成该拓扑图末端树的可视界面;S70,重复S20~S60,生成所有拓扑图末端树的可视界面。2.根据权利要求1所述...

【专利技术属性】
技术研发人员:吴文卿
申请(专利权)人:吴文卿
类型:发明
国别省市:上海;31

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1