首页 / 专利库 / 人工智能 / 碰撞检测 / 基于碰撞检测自动化展示树形复杂结构数据的设计方法

基于碰撞检测自动化展示树形复杂结构数据的设计方法

阅读:655发布:2020-05-08

专利汇可以提供基于碰撞检测自动化展示树形复杂结构数据的设计方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于 碰撞检测 自动化展示树形复杂结构数据的设计方法包括:步骤1,数据预处理;步骤2,创建二类 节点 树,并确定二类节点的相对坐标:(1)通过确定根节点创建二类节点树;(2)根据二类节点树的根节点推导其他二类节点的初始坐标;(3)进行碰撞检测, 修改 重叠的二类节点的坐标;(4)调整二类节点的坐标;步骤3,确定所有节点的最终坐标:(1)确定二类节点树相对于其连接的一类节点的相对坐标;(2)确定一类节点的y坐标,并修改与之关联的二类节点树的节点坐标;(3)利用碰撞检测确定所有节点的最终坐标;步骤4,根据所有节点的最终坐标绘制树形图。本发明能够快速实现拥有两类连接关系的 树形结构 数据的树形图的设计工作。,下面是基于碰撞检测自动化展示树形复杂结构数据的设计方法专利的具体信息内容。

1.一种基于碰撞检测自动化展示树形复杂结构数据的设计方法,其特征在于,包括:
步骤1,数据预处理:
(1)收集整理需要处理的数据,将数据进行结构化处理;
(2)定义节点类型连接规则;
(3)根据节点中的内容设置节点的宽度和高度;
步骤2,创建二类节点树,并确定二类节点的相对坐标:
(1)通过确定根节点创建二类节点树;
(2)根据二类节点树的根节点推导其他二类节点的初始坐标;
(3)对二类节点树进行碰撞检测,修改重叠的二类节点的坐标;
(4)调整二类节点的坐标,得到二类节点的相对坐标;
步骤3,确定所有节点的最终坐标:
(1)确定二类节点树相对于其连接的一类节点的相对坐标;
(2)确定一类节点的y坐标,并修改与之关联的二类节点树的节点坐标;
(3)利用碰撞检测确定所有节点的最终坐标;
步骤4,根据所有节点的最终坐标绘制树形图。
2.根据权利要求1所述的基于碰撞检测自动化展示树形复杂结构数据的设计方法,其特征在于,步骤1中定义的所述节点类型连接规则为:一类节点下可以连接一类节点或二类节点,二类节点下只能连接二类节点。
3.根据权利要求1所述的基于碰撞检测自动化展示树形复杂结构数据的设计方法,其特征在于,步骤1中所述根据节点中的内容设置节点的宽度和高度的方法为:为每类节点设置一个默认的宽度w与高度h,若某个节点中的内容高度超过了h则增加宽度,将内容换行并上下分散对齐得到新的宽度w2。
4.根据权利要求1所述的基于碰撞检测自动化展示树形复杂结构数据的设计方法,其特征在于,步骤2中通过确定根节点创建二类节点树的方法为:循环遍历数据,找出其中直接与一类节点相连的二类节点,将这些二类节点坐标设置为(0,0)作为根节点,以这些根节点形成的树即为二类节点树。
5.根据权利要求1所述的基于碰撞检测自动化展示树形复杂结构数据的设计方法,其特征在于,步骤2中根据二类节点树的根节点推导其他二类节点的初始坐标的方法为:
x坐标:首先从二类节点树的根节点开始判断是否有子节点,若有,则计算直接与其相连的子节点数量n,根据节点类型确定这些子节点间默认的x轴间隔宽度c、子节点的宽度w和高度h,并计算出直接与其相连的所有子节点总的宽度W=n*(w+2c),则直接与其相连的这些子节点中,第一个子节点的x坐标为W/2-c-w/2,后续节点的x坐标依次加上2c+w;然后再判断这些子节点是否还有子节点,若有,则再次通过前述方法做遍历赋值x坐标一直到节点没有子节点为止;
y坐标:子节点的y坐标则根据子节点本身的高度、与其连接的子节点的高度、以及节点与子节点间的y轴间隔高度增加:根节点的高度为h1、与之相连的子节点高度为h2、节点与子节点的y轴间隔高度为d,则子节点的y坐标为h1/2+h2/2+d;其中,y轴向下方向为正值,向上为负值。
6.根据权利要求1所述的基于碰撞检测自动化展示树形复杂结构数据的设计方法,其特征在于,步骤2中对二类节点树进行碰撞检测,修改重叠的二类节点的坐标的方法为:
遍历二类节点树,将每一级的第一个节点假设为每一级的最右侧节点,设每一级第一个确认的最右侧节点的坐标为x1,则最右侧边界的x坐标为x1加上节点宽度w的一半再加上节点默认的x轴间隔宽度c,即x1+w/2+c;
设每次遍历到的节点的x坐标为x2,则对比其左边界x2-w/2-c与最右侧边界的x坐标,若x2-x1<w+2c则说明遍历到的节点错位或重叠,需要将该遍历到的节点的x坐标改为x1+2c+w,x轴偏移值为x1+2c+w-x2,并将该节点作为这一级新的最右侧节点;
然后判断该节点是否还有子节点,若存在子节点则遍历其所有子节点同时将这些节点的x坐标加上偏移值x1+2c+w-x2。
7.根据权利要求1所述的基于碰撞检测自动化展示树形复杂结构数据的设计方法,其特征在于,步骤2中调整二类节点的坐标,得到二类节点的相对坐标的方法为:
对二类节点树进行深度优先遍历,将每一级的第一个节点假设为每一级的最右侧节点,设每一级第一个确认的最右侧节点的坐标为x1,则最右侧边界的x坐标为x1加上节点宽度w的一半再加上节点默认的x轴间隔宽度c,即x1+w/2+c;
判断节点是否有子节点,若没有子节点则判断当前节点左边界x坐标是否小于最右侧边界的x坐标,如果小于则将当前节点移动到x1+2c+w,然后将当前节点设为新的最右侧节点;若有子节点则继续对子节点做与前述节点相同的判断与位置调整,直至最底层没有子节点的节点为止;
然后从最底层开始反推父节点位置,假设节点的第一个子节点x坐标为xs,最后一个子节点的x坐标为xe,则父节点位置为(xs+xe)/2;完成所有节点的遍历与操作后将每个二类节点树的根节点Xr(xr,yr)的位置移动至(0,0),并将所有节点根据每个二类节点树的根节点的移动做相同的平移得到每个二类节点的相对坐标。
8.根据权利要求1所述的基于碰撞检测自动化展示树形复杂结构数据的设计方法,其特征在于,步骤3中确定二类节点树相对于其连接的一类节点的相对坐标的方法为:
设一类节点的坐标为(x1,y1),其连接的二类节点树共有n棵,这n颗二类节点树的总宽度为W;判断该一类节点是否有子一类节点:
若该一类节点没有子一类节点,则与其连接的二类节点树的左边界为x1-W/2,然后根据每棵二类节点树的宽度将其平移到对应的位置;
若该一类节点有子一类节点,则需要从第一棵二类节点树开始判断:若加上当前二类节点树的宽度后,之前二类节点树的宽度相加大于所有二类节点树总宽度,则计算当前二类节点树是在x1的左侧还是右侧时,x1左侧的二类节点树和右侧的二类节点树宽度更为接近,将当前二类节点树放在宽度更为接近的一侧,然后根据左侧的二类节点树总宽度确定二类节点树的最左侧边界并根据每棵二类节点树的宽度将其平移到对应的位置。
9.根据权利要求1所述的基于碰撞检测自动化展示树形复杂结构数据的设计方法,其特征在于,步骤3中确定一类节点的y坐标,并修改与之关联的二类节点树的节点坐标的方法为:从最上级的一类节点开始做深度优先遍历,其子一类节点的y坐标为其父节点的二类节点树的下边界值加上固定的y轴间隔高度;同时将与之关联的二类节点树的节点坐标做相应的修改。
10.根据权利要求1所述的基于碰撞检测自动化展示树形复杂结构数据的设计方法,其特征在于,步骤3中利用碰撞检测确定所有节点的最终坐标的方法为:
找出每个一类节点和与其相连的二类节点树组成的树的左右上下边界组成一个虚拟的矩形;
根据一类节点树的结构遍历这些矩形做碰撞检测,如果后一个矩形的左边界的值小于同级的前一个矩形的右边界值,则后一个矩形与前一个矩形有重叠或者错位,则将后一个矩形的左边界值修改为前一个矩形的右边界值;
完成遍历碰撞检测之后得到一个布局与最终树形图相同的树形图,然后找出该树形图的左右边界并计算出其中线后,将其中线平移到x坐标为0的位置则可得到所有节点的最终坐标。

说明书全文

基于碰撞检测自动化展示树形复杂结构数据的设计方法

技术领域

[0001] 本发明属于数据处理技术领域,特别涉及一种基于碰撞检测自动化展示树形复杂结构数据的设计方法。

背景技术

[0002] 树形图作为一种常用的数据展示方式广泛应用于如法律法规、组织架构、知识体系、产品关系等业务场景中。但随着数据量的大幅增加,传统以从业人员手动来设计这些数据的树形结构,确定各节点位置关系、布局方式等信息后再由人工绘制完整树形图的操作模式的因为工作量大、制作周期长、容易出错,复用度低每次数据变化都需要重新设计等问题,已经不适用当前时代数据变化快、数据量大的业务场景中。特别是其中如图1所示的这种拥有两类连接关系的树形结构数据更是缺少一种自动化布局的设计。

发明内容

[0003] 本发明的目的在于:针对传统方法设计的拥有两类连接关系的树形结构数据的树形图工作量大、周期长、易出错等技术问题,本发明一种基于碰撞检测自动化展示树形复杂结构数据的设计方法。
[0004] 本发明解决其技术问题所采用的技术方案是:
[0005] 一种基于碰撞检测自动化展示树形复杂结构数据的设计方法,其特征在于,包括:
[0006] 步骤1,数据预处理:
[0007] (1)收集整理需要处理的数据,将数据进行结构化处理;
[0008] (2)定义节点类型连接规则;
[0009] (3)根据节点中的内容设置节点的宽度和高度;
[0010] 步骤2,创建二类节点树,并确定二类节点的相对坐标:
[0011] (1)通过确定根节点创建二类节点树;
[0012] (2)根据二类节点树的根节点推导其他二类节点的初始坐标;
[0013] (3)对二类节点树进行碰撞检测,修改重叠的二类节点的坐标;
[0014] (4)调整二类节点的坐标,得到二类节点的相对坐标;
[0015] 步骤3,确定所有节点的最终坐标:
[0016] (1)确定二类节点树相对于其连接的一类节点的相对坐标;
[0017] (2)确定一类节点的y坐标,并修改与之关联的二类节点树的节点坐标;
[0018] (3)利用碰撞检测确定所有节点的最终坐标;
[0019] 步骤4,根据所有节点的最终坐标绘制树形图。
[0020] 综上所述,由于采用了上述技术方案,本发明的有益效果是:
[0021] 本发明能够快速实现拥有两类连接关系的树形结构数据的树形图的设计工作,可应用于如法律法规、组织架构、知识体系、产品关系等业务场景当中因其不易出现绘制问题,布局方式复用度高的优点可降低设计人员工作量、减少树形图制作周期。附图说明
[0022] 本发明将通过例子并参照附图的方式说明,其中:
[0023] 图1是本发明要设计的拥有两类连接关系的树形结构数据的树形图。
[0024] 图2是本发明的基于碰撞检测自动化展示树形复杂结构数据的设计方法的流程框图

具体实施方式

[0025] 如图2所示,本发明的一种基于碰撞检测自动化展示树形复杂结构数据的设计方法,包括:
[0026] 步骤1,数据预处理:
[0027] (1)收集整理需要处理的数据,将数据进行结构化处理;
[0028] (2)定义节点类型连接规则;
[0029] 其中,定义的所述节点类型连接规则为:一类节点下可以连接一类节点或二类节点,二类节点下只能连接二类节点;
[0030] (3)根据节点中的内容设置节点的宽度和高度;
[0031] 具体为:为每类节点设置一个默认的宽度w与高度h,若某个节点中的内容高度超过了h则增加宽度,将内容换行并上下分散对齐得到新的宽度w2。该设置方式为优选方式,根据内容设置节点的宽度和高度可以根据实际设计需求进行设定。
[0032] 步骤2,创建二类节点树,并确定二类节点的相对坐标:
[0033] (1)通过确定根节点创建二类节点树;
[0034] 具体为:循环遍历数据,找出其中直接与一类节点相连的二类节点,将这些二类节点坐标设置为(0,0)作为根节点,以这些根节点形成的树即为二类节点树。
[0035] (2)根据二类节点树的根节点推导其他二类节点的初始坐标;
[0036] 具体为:
[0037] x坐标:首先从二类节点树的根节点开始判断是否有子节点,若有,则计算直接与其相连的子节点数量n,根据节点类型确定这些子节点间默认的x轴间隔宽度c、子节点的宽度w和高度h,并计算出直接与其相连的所有子节点总的宽度W=n*(w+2c),则直接与其相连的这些子节点中,第一个子节点的x坐标为W/2-c-w/2,后续节点的x坐标依次加上2c+w;然后再判断这些子节点是否还有子节点,若有,则再次通过前述方法做遍历赋值x坐标一直到节点没有子节点为止;
[0038] y坐标:子节点的y坐标则根据子节点本身的高度、与其连接的子节点的高度、以及节点与子节点间的y轴间隔高度增加:根节点的高度为h1、与之相连的子节点高度为h2、节点与子节点的y轴间隔高度为d,则子节点的y坐标为h1/2+h2/2+d;其中,y轴向下方向为正值,向上为负值。
[0039] 完成数据的遍历后即可确认树中所有节点的初始坐标。
[0040] (3)对二类节点树进行碰撞检测,修改重叠的二类节点的坐标;
[0041] 具体为:
[0042] 遍历二类节点树,将每一级的第一个节点假设为每一级的最右侧节点,设每一级第一个确认的最右侧节点的坐标为x1,则最右侧边界的x坐标为x1加上节点宽度w的一半再加上节点默认的x轴间隔宽度 c,即x1+w/2+c;
[0043] 设每次遍历到的节点的x坐标为x2,则对比其左边界x2-w/2- c与最右侧边界的x坐标,若x2-x1<w+2c则说明遍历到的节点错位或重叠,需要将该遍历到的节点的x坐标改为x1+2c+w,x轴偏移值为x1+2c+w-x2,并将该节点作为这一级新的最右侧节点;
[0044] 然后判断该节点是否还有子节点,若存在子节点则遍历其所有子节点同时将这些节点的x坐标加上偏移值x1+2c+w-x2。
[0045] 完成整棵二类节点树的遍历并对每个节点进行上述操作,完成碰撞检测并将重叠和错位的节点处理后可得到一个没有重叠节点的二类节点树。
[0046] (4)调整二类节点的坐标,得到二类节点的相对坐标;
[0047] 具体为:
[0048] 对二类节点树进行深度优先遍历,将每一级的第一个节点假设为每一级的最右侧节点,设每一级第一个确认的最右侧节点的坐标为x1,则最右侧边界的x坐标为x1加上节点宽度w的一半再加上节点默认的 x轴间隔宽度c,即x1+w/2+c;
[0049] 判断节点是否有子节点,若没有子节点则判断当前节点左边界x 坐标是否小于最右侧边界的x坐标,如果小于则将当前节点移动到 x1+2c+w,然后将当前节点设为新的最右侧节点;若有子节点则继续对子节点做与前述节点相同的判断与位置调整,直至最底层没有子节点的节点为止;
[0050] 然后从最底层开始反推父节点位置,假设节点的第一个子节点x 坐标为xs,最后一个子节点的x坐标为xe,则父节点位置为 (xs+xe)/2;完成所有节点的遍历与操作后将每个二类节点树的根节点Xr(xr,yr)的位置移动至(0,0),并将所有节点根据每个二类节点树的根节点的移动做相同的平移得到每个二类节点的相对坐标。
[0051] 步骤3,确定所有节点的最终坐标:
[0052] (1)确定二类节点树相对于其连接的一类节点的相对坐标;
[0053] 具体为:
[0054] 设一类节点的坐标为(x1,y1),其连接的二类节点树共有n棵,这n颗二类节点树的总宽度为W;判断该一类节点是否有子一类节点:
[0055] 若该一类节点没有子一类节点,则与其连接的二类节点树的左边界为x1-W/2,然后根据每棵二类节点树的宽度将其平移到对应的位置;
[0056] 若该一类节点有子一类节点,则需要从第一棵二类节点树开始判断:若加上当前二类节点树的宽度后,之前二类节点树的宽度相加大于所有二类节点树总宽度,则计算当前二类节点树是在x1的左侧还是右侧时,x1左侧的二类节点树和右侧的二类节点树宽度更为接近,将当前二类节点树放在宽度更为接近的一侧,然后根据左侧的二类节点树总宽度确定二类节点树的最左侧边界并根据每棵二类节点树的宽度将其平移到对应的位置。
[0057] (2)确定一类节点的y坐标,并修改与之关联的二类节点树的节点坐标;
[0058] 具体为:从最上级的一类节点开始做深度优先遍历,其子一类节点的y坐标为其父节点的二类节点树的下边界值加上固定的y轴间隔高度;同时将与之关联的二类节点树的节点坐标做相应的修改。
[0059] (3)利用碰撞检测确定所有节点的最终坐标;
[0060] 具体为:
[0061] 找出每个一类节点和与其相连的二类节点树组成的树的左右上下边界组成一个虚拟的矩形;
[0062] 根据一类节点树的结构遍历这些矩形做碰撞检测,如果后一个矩形的左边界的值小于同级的前一个矩形的右边界值,则后一个矩形与前一个矩形有重叠或者错位,则将后一个矩形的左边界值修改为前一个矩形的右边界值;
[0063] 完成遍历碰撞检测之后得到一个布局与最终树形图相同的树形图,然后找出该树形图的左右边界并计算出其中线后,将其中线平移到x坐标为0的位置则可得到所有节点的最终坐标。
[0064] 步骤4,根据所有节点的最终坐标绘制树形图;根据节点的最终坐标绘制节点内容并连接各个节点完成树形图绘制。
[0065] 通过上述内容可知,本发明具有的有益效果如下:
[0066] 本发明能够快速实现如图1所示的拥有两类连接关系的树形结构数据的树形图的设计工作,可应用于如法律法规、组织架构、知识体系、产品关系等业务场景当中因其不易出现绘制问题,布局方式复用度高的优点可降低设计人员工作量、减少树形图制作周期。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈