网状关系的动态可视化显示方法

文档序号:6358336阅读:372来源:国知局
专利名称:网状关系的动态可视化显示方法
技术领域
本发明涉及一种图的表示方法,特别涉及一种网状关系图形的动态可视化显示方法。
背景技术
图是在很多领域广泛使用的一种数据结构。现实世界中各种复杂关系也往往通过 抽象成网状关系,使用网状关系图形来表示。复杂的网状关系图形的表示是一个难题。首先,错综复杂的网状关系如果不分主 次的呈现在用户面前,用户不可能从网状关系图中看出各个节点的联系,从而无法从关系 图中获得需要的信息。其次,网状关系图形中,每个节点的关联节点和关联关系的数目是不 一样的。在展示网状关系图形时,如果将用户关心的节点放在屏幕中间,为了使关联的各个 节点在屏幕上均勻分布,需要先获取与中心节点关联的所有节点的信息,从而导致图形展 示的效率降低。如果在图形展示的过程中增加或者删除某个节点,则会导致需要对所有节 点的信息进行重新计算,才能保持各个节点的均勻分布。而且,传统的使用点和线表示图形 的方法过于呆板。随着各种媒体展示技术的发展,人们希望寻求一种更加生动、有趣、能够 吸引用户眼球的表现方式来表示网状关系图形,不仅能将图形生动的展现在用户的面前, 还能与用户进行交互,使用户可以动态的对图形进行修改,例如增加或者删除图形中的节 点。但是,在现有技术中,未见有相关表示方法的报道。

发明内容
本发明的目的在于针对现有技术的缺点,提供一种能够向用户动态展示网状关系 的方法。本发明的思想是在图结构的表示中,使用带电荷的质点表示节点,用弹簧表示节 点之间的连接,从而将网状关系图模拟成一个物理系统,生动地表现出图的关系节点之间 带有同种电荷相斥而相互远离,弹簧约束各个节点,如此图结构的各个节点能够自然地在 空间中分布,寻找稳定位置。通过加入适当的阻尼,可以让系统顺利地进入平衡状态。本发明提供了一种网状关系的动态可视化显示方法,包括以下步骤—、将所有节点模拟成带同种电荷的质点;节点具有质量,在力的作用下会在空间中产生加速度而移动。同时,所有的节点都 具有同种电荷,会相互排斥,避免相互重叠。在应用中,每个节点可以表现为一个可交互操作的面板,可在其上展示该节点的 所有内容,例如标题、文字描述,甚至图片、视频和音频。节点的外观大小和质量可以用来表示节点的权值。二、将节点间的关系模拟成弹簧;节点间的关系也就是图中的边被视为遵循胡克定律的弹簧,连接并约束各个节 点。边的权值可以用弹簧的劲度系数来表示。
在应用中,关系可以简单地表示为一根连线,也可以进行装饰,或在其上附加对关 系的描述。三、设定各个节点的初始位置和显示速度,之后根据每个节点所受到的静电斥力 和弹簧拉力,计算出下一帧时刻该节点的位置并显示。设定节点的初始位置有很多种方法,可以根据具体的应用和需求进行选择。例如, 可以将用户最关心的节点设置在屏幕中央,将与其相关联的节点均勻分布在其周围,其他 节点可以暂时不显示;也可以将所有节点在屏幕上均勻分布;甚至也可以将所有节点初始 位置设置在同一个点。即使初始位置的设置很不合理,由于受到静电斥力和弹簧拉力的作 用,各个节点会开始运动并达到平衡状态。整个图的每个节点都受到相互的复杂的力的作用,包括所有其他节点对它的斥 力,和连接在其上的弹簧的拉力。但是,这个系统仍旧是一个线性系统,这些物理作用符合 叠加原理,因此可以分别计算各个物理作用并进行叠加。所使用的方法并非解析法,而是数 值法。数值方法的基本理念是,将连续的物理过程看做是由一个时间点进行到下一个时间 点的离散的过程。在每个时间点,利用上一个时间点的信息可推出本时间点的情形,是一种 相当简明的方法。在这类方法中,计算量最小的是显式积分的方法。

图1所示是最基本的情形,即节点A和节点B通过弹簧相连。在某时刻,设A和B 的坐标分别为rA和rB,都为二维向量;A和B的质量分别为mA和mB,电量分别为qA和qB。这 个位置并非一定是平衡位置,且它们正在以各自的速度运动中。根据静电斥力的向量形式计算公式,A受到来自B的静电斥力为
权利要求
1. 一种网状关系的动态可视化显示方法,包括以下步骤一、将所有节点模拟成带同种电荷的质点;二、将节点间的关系模拟成弹簧;三、设定各个节点的初始位置和显示速度,之后根据每个节点所受到的静电斥力和弹 簧拉力,计算出下一帧时刻该节点的位置并显示。
2.根据权利要求1所述的一种网状关系的动态可视化显示方法,其特征在于,在步骤 三中为系统加入阻尼,计算节点位置时需要考虑每个节点所受到的静电斥力、弹簧拉力和 阻尼作用力。
3.根据权利要求1所述的一种网状关系的动态可视化显示方法,其特征在于,步骤三 中计算下一帧时刻节点位置的方法为(1)首先计算静电斥力根据公式fA= fejf计算两个节点间的静电斥力,将每个节点受到的所有静电斥力叠加,计算出节点受到的总的静电斥力;其中,其中为静 电力常量,设置为8. 987X IO9N -πι2 · C_2或者根据需要设置为其他数值;rA和rB为两个节点 的坐标,都为二维向量;qA和qB为两个节点的电量;(2)计算弹簧的拉力对于每个节点,根据公式Ta计算出与其相连的所有弹簧的拉力并叠加,得到总的弹簧拉力;其中3 = 4(|^卜1^) ;k为弹簧的劲度系数,Ltl为弹簧的原始长度;(3)计算节点下一帧时刻的位置根据公式计算节点的加速度,mA为节点的质量;根据公式U' A = uA+aAAt计算节点的速度; 根据公式r' A = rA+ υ ‘ AAt计算节点的位置。
4.根据权利要求2所述的一种网状关系的动态可视化显示方法,其特征在于,步骤三 中计算下一帧时刻节点位置的方法为(1)首先计算静电斥力根据公SfA= h —nP .计算两个节点间的静电斥力,将每个节点受到的所有静电斥力叠加,计算出节点受到的总的静电斥力;其中,其中为静 电力常量,设置为8. 987X IO9N -πι2 · C_2或者根据需要设置为其他数值;rA和rB为两个节点 的坐标,都为二维向量;qA和qA为两个节点的电量;(2)计算弹簧的拉力对于每个节点,根据公式tA =『^^计算出与其相连的所有弹簧的拉力并叠加,得到总的弹簧拉力;其中,T = -k(|rA-rB|-L0) ;k为弹簧的劲度系数,L0为弹簧的原始长度;(3)计算阻尼的作用力fA= _cuA其中,c为阻尼系数,是预先选取的定值,uA为节点的运动速度;(4)计算节点下一帧时刻的位置根据公式
5.根据权利要求1所述的一种网状关系的动态可视化显示方法,其特征在于,设置各 个节点初始位置的方法为将用户最关心的节点显示在屏幕中央,并只载入该节点的所有 邻接节点。在用户选择了某个邻接节点时,将选中的节点放在屏幕中央,再载入该节点的邻 接节点;新载入的节点均勻地排列在该节点周围,然后让它们通过物理定律自动地找到合 适位置。
6.根据权利要求2所述的一种网状关系的动态可视化显示方法,其特征在于,通过对 系统加入各向异性的静电力或各向异性的阻尼,控制节点在水平和竖直两个方向上的分布。
7.根据权利要求1所述的一种网状关系的动态可视化显示方法,其特征在于,节点的 外观大小和质量用来表示节点的权值。
8.根据权利要求1所述的一种网状关系的动态可视化显示方法,其特征在于,每个节 点表现为一个可交互操作的面板,在其上展示该节点的内容。
9.根据权利要求1所述的一种网状关系的动态可视化显示方法,其特征在于,关系的 权值用弹簧的劲度系数来表示。
10.根据权利要求1所述的一种网状关系的动态可视化显示方法,其特征在于,展示关 系时,在其上附加对关系的描述。
全文摘要
本发明涉及一种网状关系图形的动态可视化显示方法,包括以下步骤一、将所有节点模拟成带同种电荷的质点;二、将节点间的关系模拟成弹簧;三、设定各个节点的初始位置和显示速度,之后根据每个节点所受到的静电斥力和弹簧拉力,计算出下一帧时刻该节点的位置并显示。本发明将网状关系模拟为由带电荷质点和弹簧组成的真实物理系统,从而提供了一种生动、有趣、能够吸引用户眼球的表现方式来表示网状关系图形,也使网状关系的表示更加灵活。
文档编号G06T11/00GK102136152SQ201110099030
公开日2011年7月27日 申请日期2011年4月20日 优先权日2011年4月20日
发明者代涛, 孙晓北, 安新颖, 方安, 李扬, 池慧, 洪娜, 王敏, 胡世平, 钟华, 钱庆, 高东平 申请人:中国医学科学院医学信息研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1