方正不规则多边形区域的自动划分方法、装置和存储介质制造方法及图纸

技术编号:30441812 阅读:23 留言:0更新日期:2021-10-24 18:30
本发明专利技术涉及一种方正不规则多边形区域的自动划分方法、装置及存储介质,包括:S1、按次序获取方正不规则多边形区域的顶点坐标并存储形成顶点集,建立用于存储分割好的矩形区域的集合list;S2、若顶点集中顶点数量大于4则执行S3,否则将当前顶点集中的顶点作为一个矩形分组加入到集合list并输出;S3、选取顶点集中前4个顶点判断是否能构成矩形区域,若是则执行步骤S4,否则将顶点集中第一个顶点放置末尾,返回S2;S4、分割矩形区域,将构成矩形区域的4个顶点作为一个矩形分组加入到集合list,进入S5;S5、更新分割后的方正不规则多边形区域的顶点集,返回S2。与现有技术相比,本发明专利技术划分精度高,效率高。效率高。效率高。

【技术实现步骤摘要】
方正不规则多边形区域的自动划分方法、装置和存储介质


[0001]本专利技术涉及建筑设计自动化
,尤其是涉及一种方正不规则多边形区域的自动划分方法、装置和存储介质。

技术介绍

[0002]在建筑领域中,大多数房间的轮廓是矩形,大厅、走道等公共区域是由不规则的矩形组成的多边形。在布置灯具、喷头、烟感等设备时,要求设备间间隔满足一定的规则,通常使用矩形区域布置,只能由用户挨个框选来切割多边形成为矩形并布置,效率不高,并且容易导致选的位置不精确。因此,亟需设计一种将方正的不规则多边形自动切割为矩形的方法。

技术实现思路

[0003]本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种方正不规则多边形区域的自动划分方法、装置和存储介质。
[0004]本专利技术的目的可以通过以下技术方案来实现:
[0005]一种方正不规则多边形区域的自动划分方法,该方法用于将方正不规则多边形区域划分为多个拼接的矩形区域,包括如下步骤:
[0006]S1、按次序获取方正不规则多边形区域的顶点坐标并存储形成顶点集,同时建立用于存储分割好的矩形区域的集合list;
[0007]S2、判断顶点集中顶点数量是否大于4,若是,执行步骤S3,否则将当前顶点集中的顶点作为一个矩形分组加入到集合list,输出list,结束划分;
[0008]S3、选取顶点集中前4个顶点,依次记作P1、P2、P3、P4,判断由顶点P1、P2、P3、P4是否能构成矩形区域,若是则执行步骤S4,否则将顶点集中第一个顶点放置顶点集的末尾,返回步骤S2;
[0009]S4、分割矩形区域,将构成矩形区域的4个顶点作为一个矩形分组加入到集合list,进入步骤S5;
[0010]S5、更新分割后形成的方正不规则多边形区域的顶点集,返回步骤S2。
[0011]优选地,步骤S1按次序获取方正不规则多边形区域的顶点坐标的方式包括:选择任意一个顶点作为起始点,沿着方正不规则多边形区域的边依次遍历各个顶点,记录所有顶点的坐标。
[0012]优选地,按照顺时针或逆时针方向依次遍历方正不规则多边形区域的顶点。
[0013]优选地,步骤S3判断由顶点P1、P2、P3、P4是否能构成矩形区域的具体方式包括:计算顶点P1与P3组成的线段的中点M1,顶点P2与P4组成的线段的中点M2,判定M1、M2是否都在多边形内部,若是则顶点P1、P2、P3、P4能构成矩形区域,否则不能构成矩形区域。
[0014]优选地,步骤S3采用射线法判断M1、M2是否都在多边形内部。
[0015]优选地,步骤S4具体包括:
[0016]S41、判断线段P1

P2的长度是否大于线段P3

P4的长度,若是,则执行步骤S42,否则执行步骤S43;
[0017]S42、计算切割点P=P2+P4

P3,分割出由顶点P、P2、P3、P4组成的矩形,将顶点P、P2、P3、P4作为一个矩形分组加入到集合list,进入步骤S5;
[0018]S43、计算切割点P=P1+P3

P2,分割出由顶点P1、P2、P3、P组成的矩形,将顶点P1、P2、P3、P作为一个矩形分组加入到集合list,进入步骤S5。
[0019]优选地,步骤S5更新分割后形成的方正不规则多边形区域的顶点集的方式包括:
[0020]将顶点P2、P3从当前顶点集中删除,将切割点P作为新的顶点插入当前顶点集中,根据顶点集中各顶点的坐标分别判断顶点P1、P4和P是否存在另外两个共线的顶点,若是则对应删除,否则保留,最后将当前顶点集合中第一个顶点放置顶点集的末尾。
[0021]优选地,切割点P作为新的顶点插入当前顶点集中时,若当前顶点集中存在与切割点P重合的顶点,则直接删除切割点P。
[0022]一种方正不规则多边形区域的自动划分装置,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于当执行所述计算机程序时,实现所述的方正不规则多边形区域的自动划分方法。
[0023]一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的方正不规则多边形区域的自动划分方法。
[0024]与现有技术相比,本专利技术具有如下优点:本专利技术可将方正不规则多边形区域自动划分为矩形区域的集合,划分精度和划分效率大大提高。
附图说明
[0025]图1为本专利技术一种方正不规则多边形区域的自动划分方法的流程框图;
[0026]图2为本专利技术实施例1中一个矩形区域分割的一个实例示意图;
[0027]图3为本专利技术实施例1中方正不规则多边形区域划分过程示意图。
具体实施方式
[0028]下面结合附图和具体实施例对本专利技术进行详细说明。注意,以下的实施方式的说明只是实质上的例示,本专利技术并不意在对其适用物或其用途进行限定,且本专利技术并不限定于以下的实施方式。
[0029]实施例
[0030]如图1所示,本实施例提供一种方正不规则多边形区域的自动划分方法,该方法用于将方正不规则多边形区域划分为多个拼接的矩形区域,包括如下步骤:
[0031]S1、按次序获取方正不规则多边形区域的顶点坐标并存储形成顶点集,同时建立用于存储分割好的矩形区域的集合list,具体地:选择任意一个顶点作为起始点,沿着方正不规则多边形区域的边按照顺时针或逆时针方向依次遍历方正不规则多边形区域的顶点,记录所有顶点的坐标,同时建立用于存储分割好的矩形区域的集合list。
[0032]S2、判断顶点集中顶点数量是否大于4,若是,执行步骤S3,否则将当前顶点集中的顶点作为一个矩形分组加入到集合list,输出list,结束划分。
[0033]S3、选取顶点集中前4个顶点,依次记作P1、P2、P3、P4,判断由顶点P1、P2、P3、P4是
否能构成矩形区域,若是则执行步骤S4,否则将顶点集中第一个顶点放置顶点集的末尾,返回步骤S2;
[0034]该步骤中判断由顶点P1、P2、P3、P4是否能构成矩形区域的具体方式包括:计算顶点P1与P3组成的线段的中点M1,顶点P2与P4组成的线段的中点M2,采用射线法判断M1、M2是否都在多边形内部,若是则顶点P1、P2、P3、P4能构成矩形区域,否则不能构成矩形区域。
[0035]S4、分割矩形区域,将构成矩形区域的4个顶点作为一个矩形分组加入到集合list,进入步骤S5;
[0036]步骤S4具体包括:
[0037]S41、判断线段P1

P2的长度是否大于线段P3

P4的长度,若是,则执行步骤S42,否则执行步骤S43;
[0038]S42、计算切割点P=P2+P4

P3,分割出由顶点P、P2、P3、P4组成的矩形,将顶点P、P2、P3、P4作为一个矩形分组加入到集合list,进入步骤S5;
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方正不规则多边形区域的自动划分方法,其特征在于,该方法用于将方正不规则多边形区域划分为多个拼接的矩形区域,包括如下步骤:S1、按次序获取方正不规则多边形区域的顶点坐标并存储形成顶点集,同时建立用于存储分割好的矩形区域的集合list;S2、判断顶点集中顶点数量是否大于4,若是,执行步骤S3,否则将当前顶点集中的顶点作为一个矩形分组加入到集合list,输出list,结束划分;S3、选取顶点集中前4个顶点,依次记作P1、P2、P3、P4,判断由顶点P1、P2、P3、P4是否能构成矩形区域,若是则执行步骤S4,否则将顶点集中第一个顶点放置顶点集的末尾,返回步骤S2;S4、分割矩形区域,将构成矩形区域的4个顶点作为一个矩形分组加入到集合list,进入步骤S5;S5、更新分割后形成的方正不规则多边形区域的顶点集,返回步骤S2。2.根据权利要求1所述的一种方正不规则多边形区域的自动划分方法,其特征在于,步骤S1按次序获取方正不规则多边形区域的顶点坐标的方式包括:选择任意一个顶点作为起始点,沿着方正不规则多边形区域的边依次遍历各个顶点,记录所有顶点的坐标。3.根据权利要求2所述的一种方正不规则多边形区域的自动划分方法,其特征在于,按照顺时针或逆时针方向依次遍历方正不规则多边形区域的顶点。4.根据权利要求1所述的一种方正不规则多边形区域的自动划分方法,其特征在于,步骤S3判断由顶点P1、P2、P3、P4是否能构成矩形区域的具体方式包括:计算顶点P1与P3组成的线段的中点M1,顶点P2与P4组成的线段的中点M2,判定M1、M2是否都在多边形内部,若是则顶点P1、P2、P3、P4能构成矩形区域,否则不能构成矩形区域。5.根据权利要求4所述的一种方正不规则多边形区域的自动划分方法,其特征在于,步骤S3采用射线法判断M1、M2是否都在多边形内部。6.根...

【专利技术属性】
技术研发人员:徐斌姚郁雅刘建张东升文碧岚
申请(专利权)人:同济大学建筑设计研究院集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1