一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自动批量填充布置方法、装置、电子设备及存储介质与流程

2022-03-26 13:17:00 来源:中国专利 TAG:


1.本技术涉及计算机的技术领域,尤其是涉及一种自动批量填充布置方法、装置、电子设备及存储介质。


背景技术:

2.需要在一个区域内均匀布置物体,且需要将待布置物体填充满整个区域,例如确定防火分区的消防喷淋点、绿化的喷水点、树木种植位置时,往往需要人工测量并基于测量数据进行绘制,人工绘制难度大耗时长,在绘制过程中一旦出现错误则需要重新绘制,绘制效率低。
3.针对上述中的相关技术,发明人认为通过人工绘制确定区域内构件位置的方式耗时长、效率低。


技术实现要素:

4.为了提高批量填充布置效率,本技术提供一种自动批量填充布置方法、装置、电子设备及存储介质。
5.第一方面,本技术提供一种自动批量填充布置方法,采用如下的技术方案:一种自动批量填充布置方法,包括:获取待填充区域的边界和待布置物体的等效半径;基于所述待填充区域的边界和所述待布置物体的等效半径计算所述待填充区域内所述待布置物体的数量n;将n个所述待布置物体随机放入所述待填充区域内,并获取每个待布置物体的当前圆心坐标;基于所述待填充区域的边界、所述待布置物体的等效半径和每个待布置物体的当前圆心坐标,按照预设顺序依次计算每个待布置物体受到所述待填充区域的边界以及其他待布置物体施加的合力,并基于所述合力和预设的单位力移动距离,确定每个待布置物体的新的圆心坐标,将所述新的圆心坐标作为当前圆心坐标,重复该步骤,直到迭代次数达到预设次数,将所述n个所述待布置物体的当前圆心坐标确定为目标圆心坐标。
6.通过采用上述技术方案,先基于待填充区域的边界和待布置物体的等效半径确定所需的待布置物体数量,再针对每个待布置物体与其他待布置物体以及待填充区域的边界之间的距离来模拟受到的合力,进而确定每个待布置物体的新的圆心坐标,多次循环使得所有待布置物体在待填充区域内均匀布置,无需人工干预,效率高。
7.可选的,所述基于所述待填充区域的边界和所述待布置物体的等效半径计算所述待填充区域内所述待布置物体的数量n包括:基于所述待填充区域的边界,计算所述待填充区域的面积sb;基于所述待布置物体的等效半径,计算所述待布置物体的面积sw;基于所述待填充区域的面积sb和所述待布置物体的面积sw,计算所述待填充区域
内所述待布置物体的数量n。
8.可选的,所述待填充区域内所述待布置物体的数量n的计算公式为:,或者,;式中,c为折减系数。
9.可选的,所述计算每个待布置物体受到所述待填充区域的边界以及其他待布置物体施加的合力包括:对于任一待布置物体,若该待布置物体与所述待填充区域的边界相交,则基于所述待布置物体的等效半径和该待布置物体的圆心与所述待填充区域的相交边界的间距,确定该待布置物体受到所述待填充区域的相交边界施加的排斥力f1;若该待布置物体与其他待布置物体相交,则基于所述待布置物体的等效半径和该待布置物体与相交的待布置物体的圆心距,确定该待布置物体受到相交的待布置物体施加的排斥力f2;该待布置物体受到所述待填充区域的边界以及其他待布置物体施加的合力为待布置物体受到所述待填充区域的所有相交边界施加的排斥力f1以及该待布置物体受到所有相交的待布置物体施加的排斥力f2之和。
10.可选的,该待布置物体受到所述待填充区域的相交边界施加的排斥力f1的计算公式为:;该待布置物体受到相交的待布置物体施加的排斥力f2的计算公式为:;其中,r为该待布置物体的等效半径,d1为该待布置物体的圆心与待填充区域的相交边界的距离,d2为该待布置物体与相交的待布置物体的圆心距,v为预设的指向待布置物体的圆心的单位向量,dm为预设的单位距离力的大小。
11.可选的,该待布置物体受到所述待填充区域的边界以及其他待布置物体施加的合力的计算公式为: ;其中,f
1i
为该待布置物体受到的待填充区域的第i个排斥力,f
2j
为该待布置物体受到的其他待布置物体待布置物体待布置物体待布置物体待布置物体待布置物体的第j个排斥力,p为调整系数。
12.可选的,所述基于所述合力和预设的单位力移动距离,确定每个待布置物体的新的圆心坐标包括:基于所述合力和预设的单位力移动距离,计算所述待布置物体沿合力方向的移动距离l,,其中,f为合力,df为预设的单位力移动距离;基于所述待布置物体的当前圆心坐标、所述合力方向和所述移动距离l,确定所述待布置物体的新的圆心坐标。
13.第二方面,本技术提供一种自动批量填充布置装置,采用如下的技术方案:一种自动批量填充布置装置,包括:第一获取模块,用于获取待填充区域的边界和待布置物体的等效半径;数量计算模块,用于基于所述待填充区域的边界和所述待布置物体的等效半径计算所述待填充区域内所述待布置物体的数量n;第二获取模块,用于将n个所述待布置物体随机放入所述待填充区域内,并获取每个待布置物体的当前圆心坐标;迭代模块,用于基于所述待填充区域的边界、所述待布置物体的等效半径和每个待布置物体的当前圆心坐标,按照预设顺序依次计算每个待布置物体受到所述待填充区域的边界以及其他待布置物体施加的合力,并基于所述合力和预设的单位力移动距离,确定每个待布置物体的新的圆心坐标,将所述新的圆心坐标作为当前圆心坐标,重复该步骤,直到迭代次数达到预设次数,将所述n个所述待布置物体的当前圆心坐标确定为目标圆心坐标。
14.通过采用上述技术方案,先基于待填充区域的边界和待布置物体的等效半径确定所需的待布置物体数量,再针对每个待布置物体与其他待布置物体以及待填充区域的边界之间的距离来模拟受到的合力,进而确定每个待布置物体的新的圆心坐标,多次循环使得所有待布置物体在待填充区域内均匀布置,无需人工干预,效率高。
15.第三方面,本技术提供一种电子设备,采用如下的技术方案:一种电子设备,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行第一方面任一项所述的自动批量填充布置方法的计算机程序。
16.第四方面,本技术提供一种计算机可读存储介质,采用如下的技术方案:一种计算机可读存储介质,存储有能够被处理器加载并执行第一方面任一项所述的自动批量填充布置方法的计算机程序。
附图说明
17.图1是本技术实施例的一种自动批量填充布置方法的流程示意图。
18.图2是本技术实施例的一种待填充区域的边界示意图。
19.图3是本技术实施例的一种自动批量填充布置装置的结构框图。
20.图4是本技术实施例的一种电子设备的结构框图。
具体实施方式
21.以下结合附图对本技术作进一步详细说明。
22.图1为本技术实施例提供的一种自动批量填充布置方法的流程示意图。
23.如图1所示,该方法主要流程描述如下(步骤s101~s104):步骤s101,获取待填充区域的边界和待布置物体的等效半径。
24.在本实施例中,待填充区域可以为多边图形、曲线图形或二者结合的图形,当然,待填充区域既可以是例如圆形、矩形、正多边形等的规则图形,又可以是不规则的图形。用户通过智能终端的鼠标、键盘、触摸屏等方式输入角点坐标,得到待填充区域的边界。
25.若用户输入的待填充区域为多边图形,则需要先获取待填充区域的各角点坐标,
然后根据角点坐标得到待填充区域的边界。图2为本技术实施例提供的一种待填充区域的边界示意图。如图2所示,待填充区域为不规则的六边形,该六边形的角点分别为点a、b、c、d、e和f,则输入六个角点坐标,点a、b、c、d、e和f的坐标依次为(1,6)(7,6)(8,3)(5,3)(4,0)(0,0),将六个角点进行连线,得到待填充区域的边界。
26.本实施例中,当待布置物体的形状趋近于圆形或者不规则图形时,为便于对待布置物体的面积进行计算,则将该待布置物体等效为一个圆形,等效半径是指用圆形的半径去代表该待布置物体的半径,在计算时,仅基于待布置物体的平面状态数据进行计算。
27.步骤s102,基于待填充区域的边界和待布置物体的等效半径计算待填充区域内待布置物体的数量n。
28.具体的,基于待填充区域的边界,计算待填充区域的面积sb,基于待布置物体的等效半径,计算待布置物体的面积sw;再基于待填充区域的面积sb和待布置物体的面积sw,计算待填充区域内待布置物体的数量n。
29.当待布置物体之间不允许相互覆盖时,;当待布置物体之间允许相互覆盖时,;式中,c为折减系数。
30.在本实施例中,引入折减系数的原因如下:(1)待布置物体为圆形,若在没有重叠的情况下依次排列时,圆与圆之间存在间隙,即待填充区域中存在没有被圆覆盖到的区域,引入折减系数,就是容许有一定的重合,从而消除缝隙,使所有区域都被覆盖;(2)一种普适情况,对于矩形或者不规则形状的待布置物体,可以用圆来代替,即将矩形或者形状不规则的待布置物体放置于圆内,此时,待布置物体之间虽然实际没有覆盖,但是转换之后的圆形之间会存在覆盖情况,因此需要引入折减系数,从而利用圆形计算待布置物体的面积和数量。
31.其中,折减系数在程序启动前根据实际需要进行设置,若未进行设置则可以默认为0.8,在此不做具体限定。
32.步骤s103,将n个待布置物体随机放入待填充区域内,并获取每个待布置物体的当前圆心坐标。
33.步骤s104,基于待填充区域的边界、待布置物体的等效半径和每个待布置物体的当前圆心坐标,按照预设顺序依次计算每个待布置物体受到待填充区域的边界以及其他待布置物体施加的合力,并基于合力和预设的单位力移动距离,确定每个待布置物体的新的圆心坐标,将新的圆心坐标作为当前圆心坐标,重复该步骤,直到迭代次数达到预设次数,将n个待布置物体的当前圆心坐标确定为目标圆心坐标。
34.其中,预设顺序为在n个待布置物体随机放入待填充区域后,将n个待布置物体进行排序,例如按照进入待填充区域的先后顺序,将第一个进入待填充区域的待布置物体标记为1,最后一个进入待填充区域的待布置物体标记为n,然后按照从1到n或者从n到1的顺序进行计算。
35.在本实施例中,迭代次数根据需要设定,若在预设次数内未完成覆盖,则增加迭代次数;或者,无限迭代并设置结束按钮,待完全覆盖后,通过结束按钮停止迭代。
36.当两个待布置物体之间的距离小于圆心距时则产生排斥力,待填充区域内的n个
待布置物体之间相互作用,循环一定时间后待布置物体在待填充区域内的布置趋于平衡,即可完成布置。
37.具体的,对于任一待布置物体,若该待布置物体与待填充区域的边界相交,则基于待布置物体的等效半径和该待布置物体的圆心与待填充区域的相交边界的间距,确定该待布置物体受到待填充区域的相交边界施加的排斥力f1,;若该待布置物体与其他待布置物体相交,则基于待布置物体的等效半径和该待布置物体与相交的待布置物体的圆心距,确定该待布置物体受到相交的待布置物体施加的排斥力f2,。
38.其中,r为该待布置物体的等效半径,d1为该待布置物体的圆心与待填充区域的相交边界的距离,d2为该待布置物体与相交的待布置物体的圆心距,v为预设的指向待布置物体的圆心的单位向量,dm为预设的单位距离力的大小,dm在程序启动前需要根据实际需要进行预设,若未进行设置则可以默认为1,在此不做具体限定。
39.在本实施例中,待布置物体与待填充区域的边界和其他待布置物体之间存在相离、相切和相交三种位置情况。当判断待布置物体与待填充区域的边界的位置情况时,需要获取该待布置物体圆心到边界线的垂直距离,当该待布置物体与待填充区域的边界的垂直距离大于该待布置物体的半径时,则表示该待布置物体与待填充区域的边界相离,该待布置物体与待填充区域的边界之间不存在力;当该待布置物体与待填充区域的边界的垂直距离等于该待布置物体的半径时,则表示该待布置物体与待填充区域的边界相切,根据计算公式可得,该待布置物体受到待填充区域的边界施加的排斥力为零;当该待布置物体与待填充区域的边界的垂直距离小于该待布置物体的半径时,则表示该待布置物体与待填充区域的边界相交,根据计算公式可得,该待布置物体受到待填充区域的边界施加的排斥力。由此可知,仅当该待布置物体与待填充区域的边界的垂直距离小于该待布置物体的半径时,需要计算排斥力。
40.同理,当判断待布置物体与其他待布置物体的位置情况时,需要获取该待布置物体与其他待布置物体之间的圆心距,当该待布置物体与其他待布置物体之间的圆心距大于该待布置物体与其他待布置物体的半径和时,则表示该待布置物体与其他待布置物体相离,该待布置物体与其他待布置物体之间不存在力;当该待布置物体与其他待布置物体之间的圆心距等于该待布置物体与其他待布置物体的半径和时,则表示该待布置物体与其他待布置物体相切,根据计算公式可得,该待布置物体受到其他待布置物体施加的排斥力为零;当该待布置物体与其他待布置物体之间的圆心距小于该待布置物体与其他待布置物体的半径和时,则表示该待布置物体与其他待布置物体相交,根据计算公式可得,该待布置物体受到其他待布置物体施加的排斥力。由此可知,仅当该待布置物体与其他待布置物体之间的圆心距小于该待布置物体与其他待布置物体的半径和时,需要计算排斥力。
41.在本实施例中,该待布置物体受到待填充区域的边界以及其他待布置物体施加的合力f为待布置物体受到待填充区域的所有相交边界施加的排斥力f1以及该待布置物体受到所有相交的待布置物体施加的排斥力f2之和。
42.可选的, ;其中,f
1i
为该待布置物体受到的待填充区域的第i个排斥力,f
2j
为该待布置物体受到的其他待布置物体的第j个排斥力,p为调整系数。
43.其中,p在程序启动前需要根据实际需要进行预设,若未进行设置则可以默认为0.3,在此不做具体限定。
44.在本实施例中,待布置物体的位置分布可以存在如下情况:(1)待布置物体仅与待填充区域的边界相交,则只需计算待布置物体受到待填充区域的所有相交边界施加的排斥力的合力;(2)待布置物体仅与其他待布置物体相交,则只需计算待布置物体受到其他所有相交待布置物体施加的排斥力的合力;(3)待布置物体既与待填充区域的边界相交又与其他待布置物体相交,则需要计算待布置物体受到待填充区域的所有相交边界和其他所有相交待布置物体施加的排斥力的合力。
45.具体的,基于待布置物体的当前圆心坐标、合力方向和移动距离l,确定待布置物体的新的圆心坐标包括:基于合力和预设的单位力移动距离,计算待布置物体沿合力方向的移动距离l,l=f
×df
,其中,f为合力,df为预设的单位力移动距离;基于待布置物体的当前圆心坐标、合力方向和移动距离l,确定待布置物体的新的圆心坐标。
46.在本实施例中,dm、p、df均用于控制待布置物体在待填充区域内的填充效果和速度,数值越大,待布置物体的布置速度就会更快。
47.在本实施例中,每一次迭代过程中,需要按照预设顺序对每个待布置物体受到的合力进行计算并进行移动,具体的,对当前待布置物体进行合力计算后,如果需要移动,则基于合力进行移动,再进行下一个待布置物体的合力计算,以此类推,直到所有待布置物体都进行合力计算并移动,一次迭代结束,进行下一次迭代。
48.假如,待填充区域内需放置四个待布置物体,先计算待布置物体1受到其他待布置物体和/或待填充区域的边界施加的排斥力的合力,并计算沿合力方向的移动距离,将待布置物体1按照合力方向和移动距离进行移动,移动完毕后,按顺序计算待布置物体2、待布置物体3和待布置物体4的合力并移动,完成全部移动后,一次迭代结束,进行下一次迭代,直到达到预设次数,将待填充区域内的所有待布置物体的当前圆心坐标进行输出。
49.需要说明的是,存在待布置物体不移动的情况,此时待布置物体受到其他待布置物体和/或待填充区域的边界施加的排斥力的合力为零。
50.图3为申请实施例提供的一种自动批量填充布置装置200的结构框图。
51.如图3所示,自动批量填充布置装置200主要包括:第一获取模块201,用于获取待填充区域的边界和待布置物体的等效半径。
52.数量计算模块202,用于基于待填充区域的边界和待布置物体的等效半径计算待填充区域内待布置物体的数量n。
53.第二获取模块203,用于将n个待布置物体随机放入待填充区域内,并获取每个待布置物体的当前圆心坐标。
54.迭代模块204,用于基于待填充区域的边界、待布置物体的等效半径和每个待布置
物体的当前圆心坐标,按照预设顺序依次计算每个待布置物体受到待填充区域的边界以及其他待布置物体施加的合力,并基于合力和预设的单位力移动距离,确定每个待布置物体的新的圆心坐标,将新的圆心坐标作为当前圆心坐标,重复该步骤,直到迭代次数达到预设次数,将n个待布置物体的当前圆心坐标确定为目标圆心坐标。
55.作为本实施例的一种可选实施方式,数量计算模块202具体用于基于待填充区域的边界,计算待填充区域的面积sb;基于待布置物体的等效半径,计算待布置物体的面积sw;基于待填充区域的面积sb和待布置物体的面积sw,计算待填充区域内待布置物体的数量n。
56.作为本实施例的一种可选实施方式,迭代模块204具体用于对于任一待布置物体,若该待布置物体与待填充区域的边界相交,则基于待布置物体的等效半径和该待布置物体的圆心与待填充区域的相交边界的间距,确定该待布置物体受到待填充区域的相交边界施加的排斥力f1;若该待布置物体与其他待布置物体相交,则基于待布置物体的等效半径和该待布置物体与相交的待布置物体的圆心距,确定该待布置物体受到相交的待布置物体施加的排斥力f2;该待布置物体受到待填充区域的边界以及其他待布置物体施加的合力为待布置物体受到待填充区域的所有相交边界施加的排斥力f1以及该待布置物体受到所有相交的待布置物体施加的排斥力f2之和。
57.作为本实施例的一种可选实施方式,迭代模块204具体用于基于合力和预设的单位力移动距离,计算待布置物体沿合力方向的移动距离l,,其中,f为合力,df为预设的单位力移动距离;基于待布置物体的当前圆心坐标、合力方向和移动距离l,确定待布置物体的新的圆心坐标。
58.在一个例子中,以上任一装置中的模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specific integratedcircuit,asic),或,一个或多个数字信号处理器(digital signal processor,dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,fpga),或这些集成电路形式中至少两种的组合。
59.再如,当装置中的模块可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,cpu)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,soc)的形式实现。
60.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
61.图4为本技术实施例提供的电子设备300的结构框图。
62.如图4所示,电子设备300包括处理器301和存储器302,还可以进一步包括信息输入/信息输出(i/o)接口303、通信组件304中的一种或多种以及通信总线305。
63.其中,处理器301用于控制电子设备300的整体操作,以完成上述的自动批量填充布置方法的全部或部分步骤;存储器302用于存储各种类型的数据以支持在电子设备300的操作,这些数据例如可以包括用于在该电子设备300上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,sram)、电
可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、可编程只读存储器(programmable read-only memory,prom)、只读存储器(read-only memory,rom)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。
64.i/o接口303为处理器301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件304用于电子设备300与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件104可以包括:wi-fi部件,蓝牙部件,nfc部件。
65.电子设备300可以被一个或多个应用专用集成电路 (application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的自动批量填充布置方法。
66.通信总线305可包括一通路,在上述组件之间传送信息。通信总线305可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa (extended industry standard architecture,扩展工业标准结构)总线等。通信总线305可以分为地址总线、数据总线、控制总线等。
67.电子设备300可以包括但不限于移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端,还可以为服务器等。
68.本技术还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的自动批量填充布置方法的步骤。
69.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器 (r ead-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
70.术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
71.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中申请的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献