CN106273480B - 可凹区域的3d快速打印路径规划方法 - Google Patents

可凹区域的3d快速打印路径规划方法 Download PDF

Info

Publication number
CN106273480B
CN106273480B CN201610654586.2A CN201610654586A CN106273480B CN 106273480 B CN106273480 B CN 106273480B CN 201610654586 A CN201610654586 A CN 201610654586A CN 106273480 B CN106273480 B CN 106273480B
Authority
CN
China
Prior art keywords
boundary
point
convexification
tail
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201610654586.2A
Other languages
English (en)
Other versions
CN106273480A (zh
Inventor
林甲祥
陈日清
舒兆港
吴丽萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Agriculture and Forestry University
Original Assignee
Fujian Agriculture and Forestry University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujian Agriculture and Forestry University filed Critical Fujian Agriculture and Forestry University
Priority to CN201610654586.2A priority Critical patent/CN106273480B/zh
Publication of CN106273480A publication Critical patent/CN106273480A/zh
Application granted granted Critical
Publication of CN106273480B publication Critical patent/CN106273480B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing

Landscapes

  • Chemical & Material Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Materials Engineering (AREA)
  • Image Generation (AREA)

Abstract

本发明公开了可凹区域的3D快速打印路径规划方法。首先,任选区域边界上的一点作为凸化边界搜索的起始点,初始化存储起止边界点和起止边界边的两个双端队列。然后,采用贪心策略,沿打印区域多边形的边界“顺时针”方向进行凸化边界搜索,直到不满足条件的边界点出现或搜索结束;接着,采用贪心策略,沿打印区域多边形的边界“逆时针”方向进行凸化边界搜索,直到不满足条件的边界点出现或搜索结束;最后,判断起止边界点是否相同,若是则结束;否则,连接队头和队尾边界点,形成下一轮搜索的起始条件,进行下一轮边界凸化。本发明避开了多边形打印区域路径规划时可能面临的激光中断和继续问题。

Description

可凹区域的3D快速打印路径规划方法
技术领域
本发明涉及3D打印领域,具体而言,涉及可凹区域的3D快速打印路径规划方法。
背景技术
3D打印中的路径规划算法就是对切片分层所获得的截面轮廓进行扫描填充,合理的路径规划不仅能够提高3D打印速度,而且还可以节省打印材料。传统的3D打印路径生成算法在处理凹多边形打印区域时可能面临激光中断和继续问题。
发明内容
为了解决现有技术中的上述问题,本发明提出了一个多边形打印区域的顺时针&逆时针双向凸化分割算法(Clockwise and Counterclockwise Two-way ConvexifySegment Algorithm,CCTCSA),简称CCTCSA算法。提高了激光器的使用效率,延长了激光器的寿命。
CCTCSA算法的基本思想是将多边形打印区域分割成若干个非凹的凸形区域,以此避开多边形打印区域路径规划时可能面临的激光中断和继续问题。
为此,本发明提供一种可凹区域的3D快速打印路径规划方法,包括下列步骤:
步骤1.任意选取区域边界上的一点A作为凸化边界边起始搜索节点;
步骤2.初始化存储“头尾节点”和“头尾边界边”的两个双向队列,队头节点Hp=A,队尾节点Rp=A,队头边界边He=null,队尾边界边Re=null;
步骤3.沿着区域边界的“顺时针”方向进行凸化边界搜索,将顺时针方向的下一个边界点记为P,判断点P是否符合凸化边界条件,如果是,则更新所述两个双向队列,将点P作为顺时针方向的下一个凸化边界边节点,重复步骤3,否则,进行到步骤4;
步骤4.沿着区域边界的“逆时针”方向进行凸化边界搜索,将逆时针方向的下一个边界点记为Q,判断点Q是否符合凸化边界条件,如果是,则更新所述两个双向队列,将点Q作为逆时针方向的下一个凸化边界边节点,重复步骤4,否则,进行到步骤5;
步骤5.判断队头节点和队尾节点是否相同,如果不同,则连接队头节点Hp和队尾节点Rp作为下一轮凸化边界边搜索的起始搜索边界边,将这两个节点作为下一轮凸化边界边搜索的头尾节点,初始化所述两个双向队列,返回到步骤3。
优选地,点P符合凸化边界的条件如下:
队尾边界边Re为空或点P在队尾边界边的右侧,并且
队头边界边He为空或点P在队头边界边的左侧,并且
队头节点Hp在队尾节点Rp和点P形成的连线的右边。
优选地,点Q符合凸化边界的条件如下:
队头边界边He为空或点P在队头边界边反向边的左侧,并且
队尾边界边Re为空或点P在队尾边界边的右侧,并且
队尾节点Rp在队头节点Hp和点P形成的连线的左边。
优选地,令点P或点Q的坐标为P(x,y),则根据如下步骤来判断点P(x,y)是在有向线段的左侧还是右侧:
计算由P(x,y),A(x1,y1),B(x2,y2)组成的两个向量的叉积υ(P,A,B)若υ>0,则所述点在有向线段的右侧;若υ<0,则所述点在有向线段的左侧;若υ=0,则所述点与有向线段共线。
优选地,所述叉积υ(P,A,B)的计算公式如下:
υ(P,A,B)=(x-x1)×(y2-y1)-(x2-x1)×(y-y1)。
附图说明
将参考附图中所说明的示范性的实施例而在下文中更详细地解释本发明。
图1是CCTCSA算法的处理流程图。
图2是以A为起点进行多边形打印区域的凸化边界搜索过程图。
图3示出了多边形打印区域的另一个凸化边界“EHGFE"。
具体实施方式
图1示出了CCTCSA算法进行打印区域多边形的凸化分割流程。其中,CCTCSA算法将可能为凹的多边形打印区域转变为一系列凸形区域的方法是:
首先,任意选取区域边界上的一点作为凸化边界搜索的起始点,初始化存储起止边界点和起止边界边的两个双端队列Hp,Rp,He,Re。
然后,沿着打印区域多边形的边界“顺时针”方向进行凸化边界搜索,采用贪心策略,直到不满足条件的边界点出现或搜索结束;
紧接着,采用贪心策略,沿着打印区域多边形的边界“逆时针”方向进行凸化边界搜索,直到不满足条件的边界点出现或搜索结束;
最后,根据起止边界点是否相同,判断打印区域多边形的边界凸化过程是否结束。若是,则结束算法;否则,连接队头和队尾边界点,形成下一轮搜索的起始条件,进行下一轮边界凸化。
以图2所示的多边形打印区域为例,若以A为起始搜索点、且先沿着打印区域多边形边界顺时针方向进行搜索,后沿着打印区域多边形边界逆时针方向进行搜索,则多边形打印区域的双向凸化分割过程如图2所示。
初始时刻队头边界点为Head-PNT=A,队尾边界点为Rear-PNT=A,队头边界边为Head-EDGE=null,队尾边界边为Rear-EDGE=null,如图2(1)所不。
步骤1:采用贪心策略,沿着顺时针方向进行凸化边界搜索。如图2(2~5)所示。
步骤1.1:获得顺时针方向的第一个边界顶点K,形成第一条边界边并更新队头边界点Head-PNT、队尾边界点Rear-PNT,队头边界边Head-EDGE,队尾边界边Rear-EDGE,使得Head-PNT=A,Rear-PNT=K,如图2(2)所示。
步骤1.2:循环。沿着顺时针方向寻找凸化边界点,直到碰到不满足条件的边界点或边界点搜索结束。如图2(2~5)所示。
首先,找到边界点J,判断:(1)点J是否在当前队尾边界边的右侧(顺时针方向)?(2)点J是否在队头边的反向边的左侧(逆时针方向)?(3)队头边界点Head-PNT=A是否在形成的边界边的右侧(顺时针方向)?因为三个条件皆成立,因此,点J符合凸化边界条件,为下一条凸边界边,并更新队尾边界点Rear-PNT=J和队尾边界边如图2(3)所示。
然后,找到边界点H,判断:(1)点H是否在当前队尾边界边的右侧(顺时针方向)?(2)点H是否在队头边的反向边的左侧(逆时针方向)?(3)队头边界点Head-PNT=A是否在形成的边界边的右侧(顺时针方向)?因为三个条件皆成立,因此,点H符合凸化边界条件,为下一条凸边界边,并更新队尾边界点Rear-PNT=H和队尾边界边如图2(4)所示。
紧接着,找到边界点G,判断:(1)点G是否在当前队尾边界边的右侧(顺时针方向)?(2)点G是否在队头边的反向边的左侧(逆时针方向)?(3)队头边界点Head-PNT=A是否在形成的边界边的右侧(顺时针方向)?由于条件(1)不成立,即边界点G在当前队尾边界边的左侧,不构成凸化边界,且边界点G不是队头边界点Head-PNT=A,因此结束顺时针方向的边界点搜索,进入下一步骤“逆时针方向的凸化边界点搜索”。如图2(5)所示。
步骤2:采用贪心策略,沿着逆时针方向进行凸化边界搜索。如图2(6~10)所示。
步骤2.1:循环。沿着逆时针方向寻找凸化边界点,直到碰到不满足条件的边界点或边界点搜索结束。如图2(6~10)所示。
首先,找到边界点B,判断:(1)点B是否在当前队头边界边反向边的左侧(逆时针方向)?(2)点B是否在当前队尾边界边的右侧(顺时针方向)?(3)队尾边界点Rear-PNT=H是否在形成的边界边的左侧(逆时针方向)?因为三个条件皆成立,因此,点B符合凸化边界条件,为下一条凸化边界边,并更新队头边界点Head-PNT=B和队头边界边如图2(6)所示。
然后,找到边界点C,判断:(1)点C是否在当前队头边界边反向边的左侧(逆时针方向)?(2)点C是否在当前队尾边界边的右侧(顺时针方向)?(3)队尾边界点Rear-PNT=H是否在形成的边界边的左侧(逆时针方向)?因为三个条件皆成立,因此,点C符合凸化边界条件,为下一条凸化边界边,并更新队头边界点Head-PNT=C和队头边界边如图2(7)所示。
紧接着,找到边界点D,判断:(1)点D是否在当前队头边界边反向边的左侧(逆时针方向)?(2)点D是否在当前队尾边界边的右侧(顺时针方向)?(3)队尾边界点Rear-PNT=H是否在形成的边界边的左侧(逆时针方向)?因为三个条件皆成立,因此,点D符合凸化边界条件,为下一条凸化边界边,并更新队头边界点Head-PNT=D和队头边界边如图2(8)所示。
再者,找到边界点E,判断:(1)点E是否在当前队头边界边反向边的左侧(逆时针方向)?(2)点E是否在当前队尾边界边的右侧(顺时针方向)?(3)队尾边界点Rear-PNT=H是否在形成的边界边的左侧(逆时针方向)?因为三个条件皆成立,因此,点E符合凸化边界条件,为下一条凸化边界边,并更新队头边界点Head-PNT=E和队头边界边如图2(9)所示。
最后,找到边界点F,判断:(1)点F是否在当前队头边界边反向边的左侧(逆时针方向)?(2)点F是否在当前队尾边界边的右侧(顺时针方向)?(3)队尾边界点Rear-PNT=H是否在形成的边界边的左侧(逆时针方向)?因为条件(1)成立、条件(2)不成立,因此,点F不符合凸化边界条件,不是下一条凸化边界边,逆时针凸化边界搜索结束。如图2(10)所示。
步骤3:顺时针和逆时针凸化边界搜索都结束后,若队头节点E和队尾节点H不相同,则连接E和H两个节点,形成一个局部凸化边界。如图2(11)所示。
经过上述步骤1~3之后,因为寻找到的凸化边界的起始节点分别为E和H,不相同。因此,连接E和H两个节点形成一个局部凸化边界。之后,以凸化边界为队头边界边,开始新一轮的凸化边界搜索,便可找到下一个凸化边界EHGF。如图3所示,具体过程在此省略。
CCTCSA算法实现的核心步骤和伪代码如以下清单。
CCTCSA算法使用到的核心操作是:判断点P(x,y)是在有向线段的左侧?还是右侧?其原理是计算三个点P(x,y),A(x1,y1),B(x2,y2)组成的2个向量的叉积υ(P,A,B)。若υ>0,则点P在有向线段的右侧;若υ<0,则点P在有向线段的左侧;若υ=0,则点P与有向线段共线。其中,叉积υ(P,A,B)的计算公式如下:
υ(P,A,B)=(x-x1)×(y2-y1)-(x2-x1)×(y-y1)
对于规模为n的打印区域多边形,因为CCTCSA算法在进行边界凸化时每个边界节点只搜索一次,核心计算时间是判断点与边界边之间的左右侧向(顺逆时针方向)关系,由于叉积υ的计算可以视为常量时间,因此,规模为n的打印区域多边形的边界凸化的时间复杂度为O(n),而打印路径规划所使用的核心算法为经典的方法,可见CCTCSA算法的时间复杂度与经典的路径规划算法一样。
上面结合附图和实施例对本发明做了详细的说明。但是,应当理解,本发明的实施例并不限于所公开的特定实施例,并且对该实施例的修改和其他实施例也意图被包含在所附权利要求书的范围内。尽管此处使用了特定术语,但是它们仅在通用和描述性意义上使用,而非为了限制的目的。

Claims (5)

1.一种可凹区域的3D快速打印路径规划方法,其特征在于,包括下列步骤:
步骤1.任意选取区域边界上的一点A作为凸化边界边起始搜索节点;
步骤2.初始化存储“头尾节点”和“头尾边界边”的两个双向队列,队头节点Hp=A,队尾节点Rp=A,队头边界边He=null,队尾边界边Re=null;
步骤3.沿着区域边界的“顺时针”方向进行凸化边界搜索,将顺时针方向的下一个边界点记为P,判断点P是否符合凸化边界条件,如果是,则更新所述两个双向队列,将点P作为顺时针方向的下一个凸化边界边节点,重复步骤3,否则,进行到步骤4;
步骤4.沿着区域边界的“逆时针”方向进行凸化边界搜索,将逆时针方向的下一个边界点记为Q,判断点Q是否符合凸化边界条件,如果是,则更新所述两个双向队列,将点Q作为逆时针方向的下一个凸化边界边节点,重复步骤4,否则,进行到步骤5;
步骤5.判断队头节点和队尾节点是否相同,如果不同,则连接队头节点HD和队尾节点Rp作为下一轮凸化边界边搜索的起始搜索边界边,将这两个节点作为下一轮凸化边界边搜索的头尾节点,初始化所述两个双向队列,返回到步骤3。
2.根据权利要求1所述的可凹区域的3D快速打印路径规划方法,其特征在于,点P符合凸化边界的条件如下:
队尾边界边Re为空或点P在队尾边界边的右侧,并且
队头边界边He为空或点P在队头边界边的左侧,并且
队头节点Hp在队尾节点Rp和点P形成的连线的右边。
3.根据权利要求1所述的可凹区域的3D快速打印路径规划方法,其特征在于,点Q符合凸化边界的条件如下:
队头边界边He为空或点P在队头边界边反向边的左侧,并且
队尾边界边Re为空或点P在队尾边界边的右侧,并且
队尾节点Rp在队头节点Hp和点P形成的连线的左边。
4.根据权利要求2或3所述的可凹区域的3D快速打印路径规划方法,其特征在于,令点P或点Q的坐标为P(x,y),则根据如下步骤来判断点P(x,y)是在有向线段的左侧还是右侧:
计算由P(x,y),A(x1,y1),B(x2,y2)组成的两个向量的叉积υ(P,A,B).若υ>0,则所述点在有向线段的右侧;若υ<0,则所述点在有向线段的左侧;若υ=0,则所述点与有向线段共线。
5.根据权利要求4所述的可凹区域的3D快速打印路径规划方法,其特征在于,所述叉积υ(P,A,B)的计算公式如下:
υ(P,A,B)=(x-x1)×(y2-y1)-(x2-x1)×(y-y1)。
CN201610654586.2A 2016-08-11 2016-08-11 可凹区域的3d快速打印路径规划方法 Expired - Fee Related CN106273480B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610654586.2A CN106273480B (zh) 2016-08-11 2016-08-11 可凹区域的3d快速打印路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610654586.2A CN106273480B (zh) 2016-08-11 2016-08-11 可凹区域的3d快速打印路径规划方法

Publications (2)

Publication Number Publication Date
CN106273480A CN106273480A (zh) 2017-01-04
CN106273480B true CN106273480B (zh) 2019-02-22

Family

ID=57669189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610654586.2A Expired - Fee Related CN106273480B (zh) 2016-08-11 2016-08-11 可凹区域的3d快速打印路径规划方法

Country Status (1)

Country Link
CN (1) CN106273480B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108995220B (zh) * 2018-07-17 2020-04-28 大连理工大学 基于强化学习的复杂薄壁结构物体3d打印路径规划方法
CN109685751B (zh) * 2018-12-27 2021-03-09 拉扎斯网络科技(上海)有限公司 配送区域的合并方法、装置、电子设备及存储介质
CN111907054B (zh) * 2020-08-08 2021-06-11 西安交通大学 基于应力方向的连续纤维增强复合材料3d打印凸分解方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996414A (zh) * 2009-08-18 2011-03-30 富士通株式会社 用于渲染凹多边形的方法和装置
CN102110306A (zh) * 2009-12-23 2011-06-29 富士通株式会社 用于对凹多边形进行三角化的方法和系统
CN102193998A (zh) * 2011-05-05 2011-09-21 河南理工大学 一种含边拓扑信息的不规则三角网弧扫式构建方案
CN103528585A (zh) * 2013-09-26 2014-01-22 中北大学 一种不等距分割可通行区域的路径规划方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8349239B2 (en) * 2009-09-23 2013-01-08 Stratasys, Inc. Seam concealment for three-dimensional models

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996414A (zh) * 2009-08-18 2011-03-30 富士通株式会社 用于渲染凹多边形的方法和装置
CN102110306A (zh) * 2009-12-23 2011-06-29 富士通株式会社 用于对凹多边形进行三角化的方法和系统
CN102193998A (zh) * 2011-05-05 2011-09-21 河南理工大学 一种含边拓扑信息的不规则三角网弧扫式构建方案
CN103528585A (zh) * 2013-09-26 2014-01-22 中北大学 一种不等距分割可通行区域的路径规划方法

Also Published As

Publication number Publication date
CN106273480A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN106273480B (zh) 可凹区域的3d快速打印路径规划方法
Yap et al. Block A*: Database-driven search with applications in any-angle path-planning
CN106273496A (zh) 一种增材制造中的复杂切片区域自动分割方法
CN106688017B (zh) 生成点云地图的方法、计算机系统和装置
US11922574B2 (en) Method and device for determining plurality of layers of bounding boxes, collision detection method and device, and motion control method and device
CN106582023A (zh) 一种游戏寻路方法和装置
CN108537797B (zh) 一种虚拟手术中可变形对象切割仿真的网格变形优化方法
CN103529843A (zh) Lambda*路径规划算法
CN106584860B (zh) 一种3d打印中带岛层片区域的快速路径规划方法
CN108596385A (zh) 车辆的排队方法及装置、可读介质、物流系统
CN105978711A (zh) 一种基于最小生成树的最佳交换边查找方法
WO2023138010A1 (zh) 面向混凝土3d打印的平面路径拟合方法及系统
Abshoff et al. Gathering a closed chain of robots on a grid
CN113858205A (zh) 一种基于改进rrt*的七轴冗余机械臂避障算法
EP2884453A1 (en) A computer implemented method, a system and computer program product for partitioning a graph representative of a communication network
CN114705196A (zh) 一种用于机器人的自适应启发式全局路径规划方法与系统
Hashimoto et al. A path relinking approach with an adaptive mechanism to control parameters for the vehicle routing problem with time windows
Liemhetcharat et al. Synergy graphs for configuring robot team members
CN110975288B (zh) 基于跳点路径搜索的几何容器数据压缩方法及系统
CN110188290B (zh) 一种基于星型拓扑结构的分布式无人仓库位推荐智能算法
CN107423810A (zh) 基于骆驼群算法的作业车间调度排产方法及系统
CN116892945A (zh) 移动机器人路径死锁处理方法及装置
CN103295061B (zh) 一种基于蚁群算法的船舶调度方法
Bonnington et al. Geometric realization of a triangulation on the projective plane with one face removed
CN104809290A (zh) 一种衣物自碰撞检测高层裁剪优化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190222

Termination date: 20210811

CF01 Termination of patent right due to non-payment of annual fee