1.一种基于逐步逼近原始轮廓的切割轮廓拟合优化方法,其特征在于,所述基于逐步逼近原始轮廓的切割轮廓拟合优化方法,包括:步骤1、取待拟合的原始轮廓,该原始轮廓包括若干个有序排列的轮廓点,且相邻两个轮廓点之间采用线段相连;
步骤2、依次遍历各轮廓点,若与同一轮廓点相连的两条线段的夹角为锐角或直角,则标记该轮廓点为拐点;
步骤3、以拐点作为原始轮廓的分区点,将相邻两个分区点之间的轮廓点作为原始轮廓的一个区间,进行原始轮廓的分区间拟合,包括:步骤3.1、构建三次B样条曲线总方程;
步骤3.2、将待拟合的区间Mj中的轮廓点作为本次需要拟合的型值点,且两个型值点之间的线段作为原始线段;
步骤3.3、采用向心参数化法参数化区间Mj中的型值点,利用参数化后的型值点根据三次B样条曲线总方程求取得到过型值点的样条曲线;
步骤3.4、依次取样条曲线上相邻的两个型值点的坐标,并在两个坐标之间以预设步长增长,将样条曲线离散化,得到离散点;
步骤3.5、取区间Mj中相邻两个型值点之间的原始线段,计算各离散点与该原始线段之间的最大距离,若最大距离大于弓高误差阈值,则在当前的两型值点之间新增一个轮廓点,该轮廓点为由原始线段的中点沿垂直于原始线段的方向朝靠近离散点一侧偏移弓高误差阈值后得到,更新区间Mj,并执行步骤3.6;否则执行步骤3.7;
步骤3.6、取最新的区间Mj,重新执行步骤3.2,即重新拟合区间Mj;
步骤3.7、判断本次取的型值点是否为区间Mj中的最后两个型值点,若是则结束区间Mj的拟合,并取下一区间重新执行步骤3.2,直至完成所有区间的拟合;否则继续取区间Mj中新的两个相邻型值点并重新执行步骤3.5;
步骤4、依次取两条线段的夹角为锐角的拐点,采用内切圆逐步逼近法得到与两条线段相交的圆弧,并利用圆弧代替拐点,完成原始轮廓的拟合优化,包括:若线段Ai‑1Ai和线段AiAi+1之间的夹角为锐角,其中Ai‑1,Ai,Ai+1为原始轮廓上的轮廓点,则轮廓点Ai即为拐点;
添加线段Ai‑1Ai+1,形成三角形Ai‑1AiAi+1;
求三角形Ai‑1AiAi+1的内切圆,并计算内切圆的圆心与拐点Ai之间的距离,若该距离大于预设的误差阈值,则以拐点、内切圆分别与线段Ai‑1Ai和线段AiAi+1的切点形成新的三角形,并重新作该三角形的内切圆,判断新的内切圆的圆心与拐点Ai之间的距离,直至该距离小于误差阈值;
取圆心与拐点Ai之间的距离小于误差阈值的内切圆,取该内切圆上位于两切点之间且朝向拐点侧的圆弧代替两切点之间的折线,即代替拐点。
2.如权利要求1所述的基于逐步逼近原始轮廓的切割轮廓拟合优化方法,其特征在于,所述若与同一轮廓点相连的两条线段的夹角为锐角或直角,则标记该轮廓点为拐点,包括:获取与同一轮廓点相连的两条线段中各线段对应的两个轮廓点的坐标;
根据轮廓点的坐标计算得到两条线段的直线方程为:l1:D1x+B1y+C1=0和l2:D2x+B2y+C2=0;
利用直线夹角公式 求取两条线段的夹角θ;
若θ为直角或锐角,则与两条线段相连的轮廓点为拐点。
3.如权利要求2所述的基于逐步逼近原始轮廓的切割轮廓拟合优化方法,其特征在于,所述构建三次B样条曲线总方程如下:其中,Pi表示样条曲线的第i个控制点,所述控制点为控制样条曲线的走向的点,Fi,k(u)为K阶B样条基函数,所述Fi,k(u)的表达式如下:其中,u表示自变量,ui表示自变量参数化后所得区间中的第i个区间节点。
4.如权利要求3所述的基于逐步逼近原始轮廓的切割轮廓拟合优化方法,其特征在于,所述采用向心参数化法参数化区间Mj中的型值点,利用参数化后的型值点根据三次B样条曲线总方程求取得到过型值点的样条曲线,包括:参数化型值点得到自变量u参数化后所得区间中的区间节点如下:u0=u1=u2=u3=0,un+3=un+4=un+5=un+6=1,其中i=1,2,3...n,xi和xi+1为原始轮廓上相邻轮廓点之间的距离;
建立关系式如下:
F*P=X
其中,F为基函数矩阵,P为待求解的控制点矩阵,X为原始轮廓上型值点矩阵;
根据最小二乘法求解控制点矩阵:
‑1
P=X*F
将求解得到的控制点矩阵和参数化型值点得到的区间节点代入三次B样条曲线总方程,得到样条曲线。
5.如权利要求4所述的基于逐步逼近原始轮廓的切割轮廓拟合优化方法,其特征在于,所述在当前的两型值点之间新增一个轮廓点,该轮廓点为由原始线段的中点沿垂直于原始线段的方向朝靠近离散点一侧偏移弓高误差阈值后得到,包括:令两个型值点为Xi和Xi+1,且对应的坐标为(Xix,Xiy)、(X(i+1)x,X(i+1)y),根据两型值点的坐标计算得到两型值点对应的原始线段的斜率为k;
则原始线段的中点坐标(tx,ty)的计算公式如下:
tx=(Xix+X(i+1)x)/2
ty=(Xiy+X(i+1)y)/2
根据原始线段的斜率k以及中点坐标(tx,ty),求解得到过中点且与原始线段垂直的直线方程为:令新增的轮廓点的坐标为(addx,addy),由于轮廓点位于与原始线段垂直的直线上,且与中点距离为弓高误差阈值,则根据以下公式进行求解:其中,ε为弓高误差阈值,且求解后得到两组坐标,取位于当前两型值点对应的原始线段与离散点之间的坐标作为新增的轮廓点的坐标。