[发明专利]一种基于库仑力模型的图形节点遮挡消除方法有效

专利信息
申请号: 201510212824.X 申请日: 2015-09-22
公开(公告)号: CN105046652B 公开(公告)日: 2017-11-21
发明(设计)人: 冯晓宁;王卓;赵卫华 申请(专利权)人: 哈尔滨工程大学
主分类号: G06T5/00 分类号: G06T5/00
代理公司: 暂无信息 代理人: 暂无信息
地址: 150001 黑龙江省哈尔滨市南岗区*** 国省代码: 黑龙江;23
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明属于图形学中图形布局技术领域,特别涉及一种基于库仑力模型的图形节点遮挡消除方法。本发明包括移动遮挡节点消除遮挡节点。方法中给出的节点移动策略,使得节点在水平和垂直方向的移动距离、图形的总体面积值和运行时间都比较小;将库仑力模型应用在节点遮挡消除的方法中,达到了消除遮挡的同时也保持了节点的初始化顺序;在利用库仑力模型消除遮挡的过程中,在两节点达到分离时距离的基础上增加了一个常量,确保了两个节点达到完全分离的状态,从而得出一个合理的布局图形。
搜索关键词: 一种 基于 库仑 模型 图形 节点 遮挡 消除 方法
【主权项】:
一种基于库仑力模型的图形节点遮挡消除方法,其特征在于:(1)移动遮挡节点:1.1)在图形中按照从左下方向右上方的顺序对节点进行扫描,若两节点的水平坐标值相同,则垂直坐标值更小的节点优先扫描;若两节点垂直坐标值相同,则水平坐标的值更小的节点优先扫描;1.2)在消除遮挡的过程中固定坐标更小的节点,移动坐标更大的节点;(2)消除遮挡节点:2.1)对图形中所有的节点进行扫描,找到有边相连的相互遮挡的节点,并把这些节点进行存储;2.2)对于相互遮挡的节点,计算两节点刚刚达到分离状态时的遮挡节点距离L,并在其中心点处各放置一个适量的同种等量的点电荷;2.3)在遮挡节点距离L的基础上又增加了一个常量n(n>0),使得消除遮挡后两节点之间的距离达到L+n;2.4)对遮挡的节点进行移动,从而将遮挡的节点分离;以下是遮挡节点消除的步骤:1)得到集合V中任意的相互遮挡的节点对,计算出其遮挡节点的距离L;有边相连的遮挡节点,根据以下步骤可以得出两节点i和j之间达到刚分离状态时的遮挡节点距离L(i,j);步骤一:对于遮挡的节点,根据遮挡节点的尺寸信息、求出其遮挡因子;OE(i,j)=max(min(wi+wj2*|xi-xj|,hi+hj2*|yi-yj|),1)]]>步骤二:计算距离的公式,求出两节点达到分离状态时的节点遮挡距离L(i,j),也即是两中心点连接线的长度;L(i,j)=OE(i,j)*(xi-xj)2+(yi-yj)2]]>其中,(xi,yi)表示节点i的中心点坐标,wi和hi分别表示节点i的宽度和高度,OE(i,j)表示两遮挡节点间的遮挡因子,L(i,j)表示节点i和节点j之间的遮挡距离;2)设置一个常量n,使得完全消除遮挡后两节点中心点的距离达到L+n,此时两节点即能达到一个分离的状态;3)比较两个相互遮挡的节点的中心点坐标,得到坐标较小的节点;4)对于相互遮挡的节点,在其中心点处放置适量的同种等量的点电荷,使其产生一个足够大的排斥力;5)在节点移动的过程中,根据本方法给出的节点移动方法:在遮挡的节点中,固定坐标较小的节点,同时移动坐标较大的节点;利用库仑力模型的性质和节点移动方法对遮挡节点进行移动,从而消除了遮挡的节点;6)当两节点的距离达到L+n时,撤销其中心点处的点电荷,此时的两节点能够完全分离;7)如果已经遍历完V中节点对,则此次扫描中得到的遮挡节点已完全消除;否则返回到步骤1)继续执行;8)按照上述的过程重新扫描图形中的节点。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510212824.X/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top