一种图形处理方法、装置、设备及介质与流程

allin2022-11-04  136



1.本发明涉及图可视化技术领域,特别涉及一种图形处理方法、装置、设备及介质。


背景技术:

2.图可视化是信息可视化的子领域,它通过展示元素、关系,帮助用户获取数据的洞悉能力,已被广泛地应用在流程图、拓扑图等关系数据的呈现。在图可视化场景,也就是绘制关系图、拓扑图、流程图等依靠节点与连线描述流程、关系、布局的图时,经常遇到需要从一个节点连线到另一个节点上,而这些节点经常是各种图标,并且节点经常会使用透明背景的图标,在应用中,往往需要用连线将它们连接起来表示关系。然而图片本身除了像素信息以外,只有宽高信息,因此成本较低的连线,是通过最小包围的思路,将图标当作矩形或者圆形连线,导致在很多情况下,连线并没有实际连接在图标上,而是浮在图标周围,在图标内容较多时,容易出现难以判断连线是否连接在图标上的问题,如图1所示,图1中两个图标之间的连线并没有直接连接到图标上,而是连接在外部边框上,降低了图可视化的展示效果。
3.此外,由于现代屏幕都是像素组成的,当前针对上述技术问题还可以将两个图标之间的线段视作一系列像素的集合,从一个图标中选择的出发点开始,逐一判断线段上的像素是否有落在另一个图标中,如果有而且是第一次在另一个图标中,则表示这条线段已经与另一个图标相交。该方法的确可以求出精确解,但是该方法在实时计算时的巨大计算量会导致卡顿,从而严重降低图形绘制速度以及动态交互体验。
4.综上,如何更快速、更精确地预测出目标线段与目标图标之间的交点是目前有待解决的问题。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种图形处理方法、装置、设备及介质,能够更快速、更精确地预测出目标线段与目标图标之间的交点。其具体方案如下:
6.第一方面,本技术公开了一种图形处理方法,包括:
7.确定电子画板上的与目标图标对应的包围圆,并按照预设采样点个数对所述包围圆进行采样,以得到相应数量个采样点;
8.确定所述电子画板上的预设坐标点与所述包围圆的圆心之间的线段得到目标线段,并确定所述目标线段与所述包围圆的第一目标交点;
9.从所有所述采样点上获取与所述第一目标交点相邻的两个采样点;
10.基于所述两个采样点预测所述目标线段与所述目标图标之间的第二目标交点,并在所述电子画板上绘制并显示所述预设坐标点与所述第一目标交点之间的线段以及所述第一目标交点与所述第二目标交点之间的线段。
11.可选的,所述确定电子画板上的与目标图标对应的包围圆,包括:
12.确定电子画板上的与目标图标对应的最小包围矩形,并获取所述最小包围矩形的
位置参数信息;其中,所述位置参数信息包括所述最小包围矩形的左上角顶点位置坐标、宽度信息和高度信息;
13.基于所述位置参数信息确定包围圆的圆心位置坐标和半径大小,并根据所述圆心位置坐标和半径大小确定所述包围圆。
14.可选的,所述确定所述电子画板上的预设坐标点与所述包围圆的圆心之间的线段得到目标线段的过程中,还包括:
15.基于预设坐标点的位置坐标和所述圆心位置坐标得到目标线段在本地坐标系中的角度大小。
16.可选的,所述按照预设采样点个数对所述包围圆进行采样,以得到相应数量个采样点之后,还包括:
17.针对每一所述采样点按照预设角度向周围发射射线,然后筛选出与所述目标图标相交的目标射线得到目标射线集;
18.获取所述目标射线集中每一所述目标射线在所述本地坐标系中的角度值,然后在预先定义的数据表中对每一所述目标射线集按照所述角度值从小到大的顺序对每一所述目标射线与所述目标图标的交点位置信息进行记录。
19.可选的,所述基于所述两个采样点预测所述目标线段与所述目标图标之间的第二目标交点,包括:
20.从所述数据表中筛选出与所述两个采样点分别对应的第一目标射线集和第二目标射线集,并从所述第一目标射线集和所述第二目标射线集中分别确定出与所述角度大小相近的两个角度值对应的两条目标射线;
21.从所述数据表中获取所述第一目标射线集中两条目标射线与所述目标图标之间的第一交点位置信息,以及获取所述第二目标射线集中两条目标射线与所述目标图标之间的第二交点位置信息;
22.分别基于所述第一交点位置信息和所述第二交点位置信息,并利用插值算法预测对应的第三目标交点和第四目标交点,然后利用所述插值算法对所述第三目标交点和所述第四目标交点进行插值,以得到所述目标线段与所述目标图标之间的第二目标交点的预测结果。
23.可选的,所述确定电子画板上的与目标图标对应的最小包围矩形,包括:
24.确定电子画板上水平方向和垂直方向的边界线的起始位置,并以单位像素间隔作为当前移动间隔,将所述边界线从所述起始位置向所述目标图标方向移动得到所述边界线的当前位置,并判断所述当前位置与所述目标图标是否相交;
25.若是,则将所述边界线确定为所述目标图标对应的最小包围矩形的边界,并得到所述最小包围矩形;若否,则将当前移动间隔扩大预设倍数以更新当前移动间隔,并按照更新后的当前移动间隔将所述边界线从所述当前位置向所述目标图标方向移动得到所述边界线的下一位置,然后判断所述下一位置与所述目标图标是否相交;
26.若不相交,则重新跳转至所述将当前移动间隔扩大预设倍数以更新当前移动间隔的步骤,直到所述边界线所在位置与所述目标图标相交,以得到与所述目标图标对应的最小包围矩形。
27.可选的,所述判断所述下一位置与所述目标图标是否相交之后,还包括:
28.若所述下一位置与所述目标图标相交,则判断所述目标图标上的位于当前所述边界线所在一侧的图标边界顶点与当前所述边界线之间的像素间隔是否为单位像素间隔;若是,则将所述边界线确定为所述目标图标对应的最小包围矩形的边界,并得到所述最小包围矩形;
29.若否,则控制所述边界线返回上一位置,并将当前移动间隔缩小所述预设倍数以更新当前移动间隔,然后按照更新后的当前移动间隔将所述边界线从所述上一位置向所述目标图标方向移动得到所述边界线新的下一位置,然后判断所述新的下一位置与所述目标图标是否相交;
30.若不相交,则重新跳转至所述将当前移动间隔缩小所述预设倍数以更新当前移动间隔的步骤,直到所述目标图标上的位于当前所述边界线所在一侧的图标边界顶点与当前所述边界线之间的像素间隔为单位像素间隔,以得到与所述目标图标对应的最小包围矩形。
31.第二方面,本技术公开了一种图形处理装置,包括:
32.采样模块,用于确定电子画板上的与目标图标对应的包围圆,并按照预设采样点个数对所述包围圆进行采样,以得到相应数量个采样点;
33.参数确定模块,用于确定所述电子画板上的预设坐标点与所述包围圆的圆心之间的线段得到目标线段,并确定所述目标线段与所述包围圆的第一目标交点;
34.采样点获取模块,用于从所有所述采样点上获取与所述第一目标交点相邻的两个采样点;
35.预测模块,用于基于所述两个采样点预测所述目标线段与所述目标图标之间的第二目标交点;
36.绘制模块,用于在所述电子画板上绘制并显示所述预设坐标点与所述第一目标交点之间的线段以及所述第一目标交点与所述第二目标交点之间的线段。
37.第三方面,本技术公开了一种电子设备,包括:
38.存储器,用于保存计算机程序;
39.处理器,用于执行所述计算机程序,以实现前述公开的图形处理方法的步骤。
40.第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的图形处理方法的步骤。
41.可见,本技术先确定电子画板上的与目标图标对应的包围圆,并按照预设采样点个数对所述包围圆进行采样,以得到相应数量个采样点;然后确定所述电子画板上的预设坐标点与所述包围圆的圆心之间的线段得到目标线段,并确定所述目标线段与所述包围圆的第一目标交点;再从所有所述采样点上获取与所述第一目标交点相邻的两个采样点;最后基于所述两个采样点预测所述目标线段与所述目标图标之间的第二目标交点,并在所述电子画板上绘制并显示所述预设坐标点与所述第一目标交点之间的线段以及所述第一目标交点与所述第二目标交点之间的线段。由此可见,本技术先确定电子画板上的与目标图标对应的包围圆,并基于预设坐标点确定出目标线段,以及确定出目标线段与包围圆的第一目标交点,然后从预先对包围圆进行采样得到的采样点中获取与第一目标交点相邻的两个采样点,以便基于上述两个采样点预测目标线段与目标图标之间的第二目标交点。通过上述技术方案,能够更加精确地预测出目标线段与目标图标之间的交点,以基于该交点在
电子画板绘制并显示包围圆外预设坐标点与目标图标之间的连线。
附图说明
42.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
43.图1为本技术公开的一种现有的图标之间的连线示意图;
44.图2为本技术公开的一种图形处理方法流程图;
45.图3为本技术公开的一种采样点示意图;
46.图4为本技术公开的一种求取最小包围矩形的示意图;
47.图5为本技术公开的一种预设坐标点与目标图标之间的连线图;
48.图6为本技术公开的一种具体的图形处理方法流程图;
49.图7为本技术公开的一种具体的采样点周围的射线示意图;
50.图8为本技术公开的一种通过预计算数据预测交点的示意图;
51.图9为本技术公开的一种图标之间的连线示意图;
52.图10为本技术公开的一种图形处理装置结构示意图;
53.图11为本技术公开的一种电子设备结构图。
具体实施方式
54.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.在图可视化场景中,经常遇到需要从一个节点连线到另一个节点上,这些节点通常是透明背景的图标,以其中一个图标为例,本质上可以认为是预测图标外一条目标线段与该图标的交点,当前主要是通过将图标简化成矩形或圆形等规则图形的方式或逐像素求解的方式以确定出该交点的位置。但当前的技术方案分别具有连线不准确以及绘制速度慢等缺点,降低了图可视化效果、动态交互体验较差,本技术实施例公开了一种图形处理方法、装置、设备及介质,能够更快速、更精确地预测出目标线段与目标图标之间的交点。
56.参见图2所示,本技术实施例公开了一种图形处理方法,该方法包括:
57.步骤s11:确定电子画板上的与目标图标对应的包围圆,并按照预设采样点个数对所述包围圆进行采样,以得到相应数量个采样点。
58.本实施例中,需要确定与电子画板上的与目标图标对应的包围圆,然后设定第一个精度值α,这个值代表了在包围圆上取点的密度,也即预设采样点个数,并根据预设采样点个数在包围圆上等距离地采样,以得到相应数量个采样点。图3展示了预设采样点个数α分别取4、8和16时的采样点示意图。
59.进一步的,上述确定电子画板上的与目标图标对应的包围圆,包括:确定电子画板上的与目标图标对应的最小包围矩形,并获取所述最小包围矩形的位置参数信息;其中,所
述位置参数信息包括所述最小包围矩形的左上角顶点位置坐标、宽度信息和高度信息;基于所述位置参数信息确定包围圆的圆心位置坐标和半径大小,并根据所述圆心位置坐标和半径大小确定所述包围圆。可以理解的是,在确定与目标图标对应的包围圆时,首先需要确定与目标图标对应的最小包围矩形,并获取该最小包围矩形的位置参数信息,其中,上述位置参数信息可以包括但不限于最小包围矩形的左上角顶点位置坐标、宽度信息和高度信息,记为(x,y,width,height),其中,x和y分别为最小包围矩形左上角顶点位置的横坐标和纵坐标,width和height分别为最小包围矩形的宽度和高度。那么根据上述位置参数信息能够得到包围圆的圆心位置为(x+width*0.5,y+height*0.5);半径大小r=math.hypot(width*0.5,height*0.5),math.hypot用于求出传入两个值的平方和的平方根。在得到包围圆的圆心位置和半径大小后,即可得到该包围圆。
60.需要指出的是,上述确定电子画板上的与目标图标对应的最小包围矩形,包括:确定电子画板上水平方向和垂直方向的边界线的起始位置,并以单位像素间隔作为当前移动间隔,将所述边界线从所述起始位置向所述目标图标方向移动得到所述边界线的当前位置,并判断所述当前位置与所述目标图标是否相交;若是,则将所述边界线确定为所述目标图标对应的最小包围矩形的边界,并得到所述最小包围矩形;若否,则将当前移动间隔扩大预设倍数以更新当前移动间隔,并按照更新后的当前移动间隔将所述边界线从所述当前位置向所述目标图标方向移动得到所述边界线的下一位置,然后判断所述下一位置与所述目标图标是否相交;若不相交,则重新跳转至所述将当前移动间隔扩大预设倍数以更新当前移动间隔的步骤,直到所述边界线所在位置与所述目标图标相交,以得到与所述目标图标对应的最小包围矩形。可以理解的是,为了确定与目标图标对应的最小包围矩形,可以从电子画板上水平方向和垂直方向的任意一边开始,从边界线的起始位置逐像素地逼近目标图标,直到这条边界线上有目标图标的像素,这时候可以将这条边界线作为目标图标在这个方向上的边界,但逐像素地进行尝试,会导致计算速度较慢,因此通过使用图形学中分层追踪(hierarchical tracing)的方式进行优化,这一算法思路如下。假定一条边界线从左侧开始,首次移动间隔为单位像素间隔1,然后判断移动后的边界线是否与目标图标相交,若相交,则将这条边界线作为目标图标在这个方向上的边界;若不相交,则将单位像素间隔翻倍得到像素间隔2,并继续右移,然后判断右移后的边界线是否与目标图标相交,若还是没有相交,则继续对像素间隔2进行翻倍处理得到像素间隔4。也即,只要当前边界线所在位置与目标图标不相交,则对像素间隔进行翻倍,并重复执行上述操作,直到边界线与目标图标相交。
61.还需要注意的是,上述判断所述下一位置与所述目标图标是否相交之后,还包括:若所述下一位置与所述目标图标相交,则判断所述目标图标上的位于当前所述边界线所在一侧的图标边界顶点与当前所述边界线之间的像素间隔是否为单位像素间隔;若是,则将所述边界线确定为所述目标图标对应的最小包围矩形的边界,并得到所述最小包围矩形;若否,则控制所述边界线返回上一位置,并将当前移动间隔缩小所述预设倍数以更新当前移动间隔,然后按照更新后的当前移动间隔将所述边界线从所述上一位置向所述目标图标方向移动得到所述边界线新的下一位置,然后判断所述新的下一位置与所述目标图标是否相交;若不相交,则重新跳转至所述将当前移动间隔缩小所述预设倍数以更新当前移动间隔的步骤,直到所述目标图标上的位于当前所述边界线所在一侧的图标边界顶点与当前所
述边界线之间的像素间隔为单位像素间隔,以得到与所述目标图标对应的最小包围矩形。也即,在边界线与目标图标相交后,需要判断边界线所在一侧的图标边界顶点与当前所述边界线之间的像素间隔是否为单位像素间隔1,若为1则将这条边界线作为目标图标在这个方向上的边界,若不为1,则返回上一位置,并将像素间隔缩小预设倍数,例如,假设当前的移动间隔为像素间隔4,预设倍数为2,那么缩小后的移动间隔为2,则按照该缩小后的移动间隔将边界线继续右移,并判断图标边界顶点与当前所述边界线之间的像素间隔是否为单位像素间隔1,也即,只要图标边界顶点与当前所述边界线之间的像素间隔不为单位像素间隔1,则缩小当前移动间隔的倍数,直到得到目标图标在这个方向上的边界为止。
62.参见图4所示,图4展示了求出目标图标的最小包围矩形的方法,从左侧的一个可能边缘出发以l1,l2,l3的顺序逐步向右侧推进,测试这条纵向的直线是否与目标图标相交,直到l3,则标记l3为不规则图形的左侧边界。将四个方向的边界均求出以后,就可以得到一个最小包围矩形
63.步骤s12:确定所述电子画板上的预设坐标点与所述包围圆的圆心之间的线段得到目标线段,并确定所述目标线段与所述包围圆的第一目标交点。
64.本实施例中,上述预设坐标点可以为另外一个图标的中心点,然后连接该中心点和包围圆的圆心以得到目标线段,并确定出该目标线段与包围圆的第一目标交点。
65.步骤s13:从所有所述采样点上获取与所述第一目标交点相邻的两个采样点。
66.本实施例中,从所有采样点上获取与第一目标交点相邻的两个采样点,可以理解的是,由于预先按照预设采样点个数对所述包围圆进行采样,并得到相应数量个采样点,在一种具体实施例中,第一目标交点为这些采样点中的一个,则直接将该采样点作为第一目标交点;在另一种具体实施例中,第一目标交点位于包围圆上的其他位置,则选取与第一目标交点相邻的两个采样点。然而,在具体实施过程中,第一目标交点往往不会精确落在采样点的位置上,因此通常是从所有采样点上获取与第一目标交点相邻的两个采样点。
67.步骤s14:基于所述两个采样点预测所述目标线段与所述目标图标之间的第二目标交点,并在所述电子画板上绘制并显示所述预设坐标点与所述第一目标交点之间的线段以及所述第一目标交点与所述第二目标交点之间的线段。
68.本实施例中,通过与第一目标交点相邻的两个采样点预测目标线段与目标图标之间的第二目标交点,并在电子画板上绘制并显示预设坐标点与第一目标交点之间的线段以及第一目标交点与第二目标交点之间的线段,最终得到预设坐标点与目标图标之间的连线,最终的连线示意图可以参见图5所示。
69.可见,本技术先确定电子画板上的与目标图标对应的包围圆,并按照预设采样点个数对所述包围圆进行采样,以得到相应数量个采样点;然后确定所述电子画板上的预设坐标点与所述包围圆的圆心之间的线段得到目标线段,并确定所述目标线段与所述包围圆的第一目标交点;再从所有所述采样点上获取与所述第一目标交点相邻的两个采样点;最后基于所述两个采样点预测所述目标线段与所述目标图标之间的第二目标交点,并在所述电子画板上绘制并显示所述预设坐标点与所述第一目标交点之间的线段以及所述第一目标交点与所述第二目标交点之间的线段。由此可见,本技术先确定电子画板上的与目标图标对应的包围圆,并基于预设坐标点确定出目标线段,以及确定出目标线段与包围圆的第一目标交点,然后从预先对包围圆进行采样得到的采样点中获取与第一目标交点相邻的两
个采样点,以便基于上述两个采样点预测目标线段与目标图标之间的第二目标交点。通过上述技术方案,能够更加精确地预测出目标线段与目标图标之间的交点,以基于该交点在电子画板绘制并显示包围圆外预设坐标点与目标图标之间的连线。
70.参见图6所示,本技术实施例公开了一种具体的图形处理方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体包括:
71.步骤s21:确定电子画板上的与目标图标对应的包围圆,并按照预设采样点个数对所述包围圆进行采样,以得到相应数量个采样点。
72.步骤s22:针对每一所述采样点按照预设角度向周围发射射线,然后筛选出与所述目标图标相交的目标射线得到目标射线集。
73.本实施例中,需要针对每一个采样点按照预设角度向周围发射射线,首先需要确定第二个精度值β,这个值表示发出射线的个数,通过射线个数得到预设角度。需要注意的是,由于任意连线都是会从包围圆外的点打到包围圆内的,所以可能与目标图标相交的射线,一定是沿着该点在包围圆上的切线向内发射的180度的范围内。假设将180度n等分,就会得到n-1条向内发射的射线,这个n-1的数值即被定义为β,当β的值为5时,则表示将180度6等分,也即预设角度为30度,并发射5条向切线内的射线,如图7所示,采样点a发出的五条射线中,旁边两条射线都未与目标图标产生交点,而中间三条射线与目标图标相交分别得到了三个交点p1、p2和p3。则基于中间三条射线构成采样点a的目标射线集。
74.步骤s23:获取所述目标射线集中每一所述目标射线在所述本地坐标系中的角度值,然后在预先定义的数据表中对每一所述目标射线集按照所述角度值从小到大的顺序对每一所述目标射线与所述目标图标的交点位置信息进行记录。
75.本实施例中,当射线与目标图标产生交点时,即可以记录下相关数据,首先需要获取目标射线集中每一条目标射线在所述本地坐标系中的角度值。本实施例中规定竖直向上的方向为初始方向,也即0度所在位置,并将射线方向与初始方向在顺时针中的夹角作为每一条目标射线在本地坐标系中的角度值;然后在预先定义的数据表中按照角度值从小到大的顺序对每一条目标射线与目标图标的交点位置信息进行记录。其中,上述交点位置信息为每一个交点相对于圆心的位置。当对全部采样点进行上述处理后,即可以得到这个不规则图形的预计算数据,并通过上述预先定义的数据表得到了相应的速查表。可以理解的是,速查表中的数据量取决于精度值α和β的值,精度值越大,则数据量越多,但最终预测的第二目标交点的结果越精准,在实际情况中,可以根据具体需要对精度值α和β进行设置。如此一来,目标图标已被描述为了一个包围圆以及包围圆上的诸多采样点和采样点上的射线,通过上述图形处理得到速查表的方式,可以在后续更快速地实时计算出目标线段与目标图标之间的第二目标交点。此外,也可以通过外接矩形的方式完成上述预计算过程。
76.步骤s24:确定所述电子画板上的预设坐标点与所述包围圆的圆心之间的线段得到目标线段,并确定所述目标线段与所述包围圆的第一目标交点,然后从所有所述采样点上获取与所述第一目标交点相邻的两个采样点。
77.本实施例中,上述确定所述电子画板上的预设坐标点与所述包围圆的圆心之间的线段得到目标线段的过程中,还包括:基于预设坐标点的位置坐标和所述圆心位置坐标得到目标线段在本地坐标系中的角度大小。可以理解的是,如图8所示,假设电子画板上的预设坐标点的坐标为p(x1,y1),包围圆的圆心位置坐标为(x2,y2),那么点p指向圆心的向量可
以记为a(x
2-x1,y
2-y1)。根据向量a可以求出该向量在二维坐标系中的角度,记为θ。假设这条线在圆上的交点为a,可以通过角度θ找出与a点最近的两个采样点,由于之前设置的精度值α表示预设采样点个数,那么圆上的采样点将在360/α、2*360/α

α*360/α这些位置,θ是0到360之间的一个角度,因此通过排序,找到最为接近的两个采样点,假设角度为α1、α2,那么这就是最接近的两个采样点。
78.步骤s25:从所述数据表中筛选出与所述两个采样点分别对应的第一目标射线集和第二目标射线集,并从所述第一目标射线集和所述第二目标射线集中分别确定出与所述角度大小相近的两个角度值对应的两条目标射线。
79.本实施例中,由于在数据表中已经记录了每一个采样点与目标图标相交的目标射线集,因此从数据表中筛选出与两个采样点分别对应的第一目标射线集和第二目标射线集,由于向量a是一定能与目标图标相交的,所以角度θ一定被夹在这些射线中。假设对于α1,有两条最接近θ的射线α
11
与α
12
,并且α
11
《θ《α
12

80.步骤s26:从所述数据表中获取所述第一目标射线集中两条目标射线与所述目标图标之间的第一交点位置信息,以及获取所述第二目标射线集中两条目标射线与所述目标图标之间的第二交点位置信息。
81.本实施例中,由于在数据表中已经记录了目标射线集中每一条目标射线与目标图标的交点位置信息,因此从数据表中获取第一目标射线集中两条目标射线与目标图标之间的第一交点位置信息,以及获取第二目标射线集中两条目标射线与目标图标之间的第二交点位置信息。
82.步骤s27:分别基于所述第一交点位置信息和所述第二交点位置信息,并利用插值算法预测对应的第三目标交点和第四目标交点,然后利用所述插值算法对所述第三目标交点和所述第四目标交点进行插值,以得到所述目标线段与所述目标图标之间的第二目标交点的预测结果,并在所述电子画板上绘制并显示所述预设坐标点与所述第一目标交点之间的线段以及所述第一目标交点与所述第二目标交点之间的线段。
83.本实施例中,以与第一交点位置信息中的两个交点位置p
11
和p
12
为例,假设p
11
的坐标为(x
11
,y
11
),p
12
的位置坐标为(x
12
,y
12
),那么基于这两个坐标可以预测出α1与目标图标之间相应的第三目标交点q1,可以利用插值算法对p
11
和p
12
进行线性插值得到q1的坐标为[x
11
*(α
12-θ)+x
12
*(θ-α
11
),y
11
*(α
12-θ)+y
12
*(θ-α
11
)],同理可以根据上述方法预测出α1与目标图标之间相应的第四目标交点q2。然后继续利用插值算法对第三目标交点和第四目标交点进行插值,以得到目标线段与目标图标之间的第二目标交点的预测结果。最后通过插值算法预测得到的第二目标交点q的坐标可以记为[q
1x
*(α
2-θ)+q
2x
*(θ-α1),q
1y
*(α
2-θ)+q
2y
*(θ-α1)]。其中q
1x
和q
1y
分别表示q1的横坐标和纵坐标,q
2x
和q
2y
分别表示q2的横坐标和纵坐标。最后在电子画板上绘制并显示预设坐标点与第一目标交点之间的线段以及第一目标交点与第二目标交点之间的线段,绘制后的图形可以参见图9所示。
[0084]
可见,本技术实施例需要针对每一所述采样点按照预设角度向周围发射射线,并筛选出与所述目标图标相交的目标射线得到目标射线集,然后获取所述目标射线集中每一所述目标射线在所述本地坐标系中的角度值,以及在预先定义的数据表中对每一所述目标射线集按照所述角度值从小到大的顺序对每一所述目标射线与所述目标图标的交点位置信息进行记录。通过这种方式完成预计算,即将一个目标图标描述为一个包围圆以及包围
圆上的诸多采样点和采样点上的射线,并将相关参数信息记录在数据表中。当确定出目标线段后,则根据目标线段与包围圆的第一目标交点获取两个相邻采样点,并从数据表中获取第一目标射线集中两条目标射线与目标图标之间的第一交点位置信息,以及获取第二目标射线集中两条目标射线与目标图标之间的第二交点位置信息,接着分别基于第一交点位置信息和第二交点位置信息,并利用插值算法预测对应的第三目标交点和第四目标交点,然后利用插值算法对第三目标交点和第四目标交点进行插值,以得到目标线段与目标图标之间的第二目标交点的预测结果,并在电子画板上绘制并显示预设坐标点与第一目标交点之间的线段以及第一目标交点与第二目标交点之间的线段。如此一来,即可通过预计算的方式,预先根据精度值α和β对图形进行处理,得到相应的速查表数据,以便后续在实时计算目标线段与目标图标之间的第二目标交点时,能够尽可能快且精确地计算出第二目标交点的位置。
[0085]
参见图10所示,本技术实施例公开了一种图形处理装置,包括:
[0086]
采样模块11,用于确定电子画板上的与目标图标对应的包围圆,并按照预设采样点个数对所述包围圆进行采样,以得到相应数量个采样点;
[0087]
参数确定模块12,用于确定所述电子画板上的预设坐标点与所述包围圆的圆心之间的线段得到目标线段,并确定所述目标线段与所述包围圆的第一目标交点;
[0088]
采样点获取模块13,用于从所有所述采样点上获取与所述第一目标交点相邻的两个采样点;
[0089]
预测模块14,用于基于所述两个采样点预测所述目标线段与所述目标图标之间的第二目标交点;
[0090]
绘制模块15,用于在所述电子画板上绘制并显示所述预设坐标点与所述第一目标交点之间的线段以及所述第一目标交点与所述第二目标交点之间的线段。
[0091]
可见,本技术先确定电子画板上的与目标图标对应的包围圆,并按照预设采样点个数对所述包围圆进行采样,以得到相应数量个采样点;然后确定所述电子画板上的预设坐标点与所述包围圆的圆心之间的线段得到目标线段,并确定所述目标线段与所述包围圆的第一目标交点;再从所有所述采样点上获取与所述第一目标交点相邻的两个采样点;最后基于所述两个采样点预测所述目标线段与所述目标图标之间的第二目标交点,并在所述电子画板上绘制并显示所述预设坐标点与所述第一目标交点之间的线段以及所述第一目标交点与所述第二目标交点之间的线段。由此可见,本技术先确定电子画板上的与目标图标对应的包围圆,并基于预设坐标点确定出目标线段,以及确定出目标线段与包围圆的第一目标交点,然后从预先对包围圆进行采样得到的采样点中获取与第一目标交点相邻的两个采样点,以便基于上述两个采样点预测目标线段与目标图标之间的第二目标交点。通过上述技术方案,能够更加精确地预测出目标线段与目标图标之间的交点,以基于该交点在电子画板绘制并显示包围圆外预设坐标点与目标图标之间的连线。
[0092]
图11为本技术实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由电子设备执行的图形处理方法中的相关步骤。
[0093]
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口
24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
[0094]
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0095]
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
[0096]
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是windows、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的图形处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
[0097]
进一步的,本技术实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的由图形处理过程中执行的方法步骤。
[0098]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0099]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0100]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术
领域内所公知的任意其它形式的存储介质中。
[0101]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0102]
以上对本发明所提供的一种图形处理方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:
1.一种图形处理方法,其特征在于,包括:确定电子画板上的与目标图标对应的包围圆,并按照预设采样点个数对所述包围圆进行采样,以得到相应数量个采样点;确定所述电子画板上的预设坐标点与所述包围圆的圆心之间的线段得到目标线段,并确定所述目标线段与所述包围圆的第一目标交点;从所有所述采样点上获取与所述第一目标交点相邻的两个采样点;基于所述两个采样点预测所述目标线段与所述目标图标之间的第二目标交点,并在所述电子画板上绘制并显示所述预设坐标点与所述第一目标交点之间的线段以及所述第一目标交点与所述第二目标交点之间的线段。2.根据权利要求1所述的图形处理方法,其特征在于,所述确定电子画板上的与目标图标对应的包围圆,包括:确定电子画板上的与目标图标对应的最小包围矩形,并获取所述最小包围矩形的位置参数信息;其中,所述位置参数信息包括所述最小包围矩形的左上角顶点位置坐标、宽度信息和高度信息;基于所述位置参数信息确定包围圆的圆心位置坐标和半径大小,并根据所述圆心位置坐标和半径大小确定所述包围圆。3.根据权利要求2所述的图形处理方法,其特征在于,所述确定所述电子画板上的预设坐标点与所述包围圆的圆心之间的线段得到目标线段的过程中,还包括:基于预设坐标点的位置坐标和所述圆心位置坐标得到目标线段在本地坐标系中的角度大小。4.根据权利要求3所述的图形处理方法,其特征在于,所述按照预设采样点个数对所述包围圆进行采样,以得到相应数量个采样点之后,还包括:针对每一所述采样点按照预设角度向周围发射射线,然后筛选出与所述目标图标相交的目标射线得到目标射线集;获取所述目标射线集中每一所述目标射线在所述本地坐标系中的角度值,然后在预先定义的数据表中对每一所述目标射线集按照所述角度值从小到大的顺序对每一所述目标射线与所述目标图标的交点位置信息进行记录。5.根据权利要求4所述的图形处理方法,其特征在于,所述基于所述两个采样点预测所述目标线段与所述目标图标之间的第二目标交点,包括:从所述数据表中筛选出与所述两个采样点分别对应的第一目标射线集和第二目标射线集,并从所述第一目标射线集和所述第二目标射线集中分别确定出与所述角度大小相近的两个角度值对应的两条目标射线;从所述数据表中获取所述第一目标射线集中两条目标射线与所述目标图标之间的第一交点位置信息,以及获取所述第二目标射线集中两条目标射线与所述目标图标之间的第二交点位置信息;分别基于所述第一交点位置信息和所述第二交点位置信息,并利用插值算法预测对应的第三目标交点和第四目标交点,然后利用所述插值算法对所述第三目标交点和所述第四目标交点进行插值,以得到所述目标线段与所述目标图标之间的第二目标交点的预测结果。
6.根据权利要求2所述的图形处理方法,其特征在于,所述确定电子画板上的与目标图标对应的最小包围矩形,包括:确定电子画板上水平方向和垂直方向的边界线的起始位置,并以单位像素间隔作为当前移动间隔,将所述边界线从所述起始位置向所述目标图标方向移动得到所述边界线的当前位置,并判断所述当前位置与所述目标图标是否相交;若是,则将所述边界线确定为所述目标图标对应的最小包围矩形的边界,并得到所述最小包围矩形;若否,则将当前移动间隔扩大预设倍数以更新当前移动间隔,并按照更新后的当前移动间隔将所述边界线从所述当前位置向所述目标图标方向移动得到所述边界线的下一位置,然后判断所述下一位置与所述目标图标是否相交;若不相交,则重新跳转至所述将当前移动间隔扩大预设倍数以更新当前移动间隔的步骤,直到所述边界线所在位置与所述目标图标相交,以得到与所述目标图标对应的最小包围矩形。7.根据权利要求6所述的图形处理方法,其特征在于,所述判断所述下一位置与所述目标图标是否相交之后,还包括:若所述下一位置与所述目标图标相交,则判断所述目标图标上的位于当前所述边界线所在一侧的图标边界顶点与当前所述边界线之间的像素间隔是否为单位像素间隔;若是,则将所述边界线确定为所述目标图标对应的最小包围矩形的边界,并得到所述最小包围矩形;若否,则控制所述边界线返回上一位置,并将当前移动间隔缩小所述预设倍数以更新当前移动间隔,然后按照更新后的当前移动间隔将所述边界线从所述上一位置向所述目标图标方向移动得到所述边界线新的下一位置,然后判断所述新的下一位置与所述目标图标是否相交;若不相交,则重新跳转至所述将当前移动间隔缩小所述预设倍数以更新当前移动间隔的步骤,直到所述目标图标上的位于当前所述边界线所在一侧的图标边界顶点与当前所述边界线之间的像素间隔为单位像素间隔,以得到与所述目标图标对应的最小包围矩形。8.一种图形处理装置,其特征在于,包括:采样模块,用于确定电子画板上的与目标图标对应的包围圆,并按照预设采样点个数对所述包围圆进行采样,以得到相应数量个采样点;参数确定模块,用于确定所述电子画板上的预设坐标点与所述包围圆的圆心之间的线段得到目标线段,并确定所述目标线段与所述包围圆的第一目标交点;采样点获取模块,用于从所有所述采样点上获取与所述第一目标交点相邻的两个采样点;预测模块,用于基于所述两个采样点预测所述目标线段与所述目标图标之间的第二目标交点;绘制模块,用于在所述电子画板上绘制并显示所述预设坐标点与所述第一目标交点之间的线段以及所述第一目标交点与所述第二目标交点之间的线段。9.一种电子设备,其特征在于,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的图形处理方
法的步骤。10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的图形处理方法的步骤。

技术总结
本申请公开了一种图形处理方法、装置、设备及介质,涉及图可视化技术领域,包括:确定电子画板上的与目标图标对应的包围圆,并按照预设采样点个数对包围圆进行采样,以得到相应数量个采样点;确定电子画板上的预设坐标点与包围圆的圆心之间的线段得到目标线段,并确定目标线段与包围圆的第一目标交点;从所有采样点上获取与第一目标交点相邻的两个采样点;基于两个采样点预测目标线段与目标图标之间的第二目标交点,并在电子画板上绘制并显示预设坐标点与第一目标交点之间的线段以及第一目标交点与第二目标交点之间的线段。通过本申请的技术方案,能够在电子画板上更精确地预测出目标线段与目标图标之间的交点。标线段与目标图标之间的交点。标线段与目标图标之间的交点。


技术研发人员:胡施宇 何卓凡
受保护的技术使用者:杭州安恒信息技术股份有限公司
技术研发日:2022.03.31
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-4175.html

最新回复(0)