一种3次B样条曲线的快速插补方法及系统技术方案

技术编号:18943550 阅读:60 留言:0更新日期:2018-09-15 11:42
本发明专利技术提供一种3次B样条曲线的快速插补方法及系统,所述的方法包括:采用B样条节点插入技术将原始3次B样条曲线转换为连续的多段3次贝奇尔曲线;针对每一段所述3次贝奇尔曲线,构造对应的快速插补模型;利用构造的所述快速插补模型,对相应的3次贝奇尔曲线进行快速插补;遍历每一段3次贝奇尔曲线,直到所有的3次贝奇尔曲线均快速插补完毕。本发明专利技术采用B样条的节点插入技术与微分递推求值技术来进行3次B样条插补,整个插补过程不涉及任何B样条基函数的求值求导计算,插补计算的效率高。

A fast interpolation method and system for 3 degree B spline curves

The invention provides a fast interpolation method and a system for cubic B-spline curves. The method includes: converting the original cubic B-spline curve into a continuous multi-segment cubic B-spline curve by using the B-spline node insertion technique; constructing a corresponding fast interpolation model for each cubic B-spline curve; and utilizing the constructed description; The fast interpolation model is used to interpolate the corresponding 3rd-order Bezier curves, and the 3rd-order Bezier curves are traversed until all the 3rd-order Bezier curves are interpolated quickly. The invention adopts B-spline node insertion technology and differential recursive evaluation technology to interpolate three times B-spline. The whole interpolation process does not involve any calculation of B-spline basis function, and the interpolation calculation is efficient.

【技术实现步骤摘要】
一种3次B样条曲线的快速插补方法及系统
本专利技术涉及快速插补
,更具体地,涉及一种3次B样条曲线的快速插补方法及系统。
技术介绍
在复杂曲面数控加工中,通常通过CAD/CAM软件将复杂曲面离散为微小的直线段或圆弧段,然后使用直线插补或圆弧插补完成复杂加工,这种加工方式使得刀具轨迹不平滑,在微段连接处切向不连续,极大的降低了加工效率和表面质量。为了解决这个问题,样条曲线插补技术应运而生。3次B样条曲线是工程应用中应用最广泛的样条曲线,如著名CAD软件UG就只支持生成3次B样条曲线形式的样条刀具轨迹。目前已有多种不同的3次B样条曲线插补方法,如最早的泰勒一阶和二阶展开方法、反馈插补法、“预估——校正”插补法、函数拟合插补法等,在这些插补方法中涉及多次曲线求值和求导计算,甚至需要进行反复迭代计算。而由于B样条基函数采用递归定义,其求值和求导过程十分复杂耗时,因此上述方法需要占用大量的计算资源,甚至影响系统的实时性。
技术实现思路
本专利技术提供一种克服上述问题或者至少部分地解决上述问题的一种3次B样条曲线的快速插补方法及系统。根据本专利技术的一个方面,提供一种3次B样条曲线的快速插补方法,包括:采用B样条节点插入技术将原始3次B样条曲线转换为连续的多段3次贝奇尔曲线;针对每一段所述3次贝奇尔曲线,构造对应的快速插补模型;利用构造的所述快速插补模型,对相应的3次贝奇尔曲线进行快速插补;遍历每一段3次贝奇尔曲线,直到所有的3次贝奇尔曲线均快速插补完毕。在上述技术方案的基础上,本专利技术还可以作如下改进。进一步的,所述采用B样条节点插入技术将原始3次B样条曲线转换为连续的多段3次贝奇尔曲线之前还包括:获取原始3次B样条曲线的所有节点矢量和所有控制顶点,分别构成节点矢量集合U和控制顶点集合P,其中,U={u0,u1,…,un+4},P={P0,P1,…,Pn},(n+1)为控制顶点的个数,其中,u0=u1=u2=u3=0和un+1=un+2=un+3=un+4=1;相应的,所述采用B样条节点插入技术将原始3次B样条曲线转换为连续的多段3次贝奇尔曲线具体包括:当3次B样条曲线的节点矢量集合U中的节点矢量ui满足ui=ui+1=…=ui+r-1,则节点ui的初始重复度为r,其中,r≤2;采用B样条节点插入技术,对节点矢量集合U中的所有节点进行重复插入操作,直到每个节点的重复度均为3,其中,每相邻两个重复度为3的节点之间为一条3次贝奇尔曲线。进一步的,所述采用B样条节点插入技术将原始3次B样条曲线转换为连续的多段3次贝奇尔曲线之后还包括:获取每一段3次贝奇尔曲线的4个控制顶点,并将每一段3次贝奇尔曲线以及对应的4个控制顶点存储于结构体数组中。进一步的,所述针对每一段3次贝奇尔曲线,构造对应的快速插补模型具体包括:获取每一段3次贝奇尔曲线的4个控制顶点,分别为P0、P1、P2和P3;将4个控制顶点沿偏移矢量V偏移后得到新的4个控制顶点P0’、P1’、P2’和P3’,使得新的4个控制顶点P0’、P1’、P2’和P3’的坐标分量均不为0;令新的4个控制顶点分别为P0’=(x0,y0,z0)T,P1’=(x1,y1,z1)T,P2’=(x2,y2,z2)T,P3’=(x3,y3,z3)T,则新的3次贝奇尔曲线表示为:其中,t为曲线参数,Bi,3(t)为3次伯恩斯坦基函数,计算为:将式(1)进行变形为:对式(3)计算关于参数t的一阶导矢可得:其中,ΔPi=Pi+1-Pi,i=0,1,2,联立式(3)和式(4)得到:C′(t)=MC(t);其中,M为系数矩阵,表示为:根据每一段3次贝奇尔曲线的4个控制顶点以及偏移矢量V,可得到系数矩阵M。进一步的,所述利用构造的所述快速插补模型,对相应的3次贝奇尔曲线进行快速插补具体包括:令C0=(x0,y0,z0,1)T和t0=0,则第(i+1)个插补周期的插补点Ci+1计算为:其中,每一段3次贝奇尔曲线包括n个插补周期,i的取值为0到(n-1),Δti、k1、k2、k3、k4为插补点递推参数,计算为:其中Li为第i个插补周期规划的插补步长,C′i和C″i分别为点Ci处的一阶导矢和二阶导矢,计算为:进一步的,还包括:对于当前3次贝奇尔曲线,当ti<1时,当前3次贝奇尔曲线未插补至终点,继续利用相应的快速插补模型进行插补;当ti≥1时,当前3次贝奇尔曲线插补结束。根据本专利技术的另一个方面,提供了一种3次B样条曲线的快速插补系统,包括:转换模块,用于采用B样条节点插入技术将原始3次B样条曲线转换为连续的多段3次贝奇尔曲线;构造模块,用于针对每一段所述3次贝奇尔曲线,构造对应的快速插补模型;插补模块,用于利用构造的所述快速插补模型,对相应的3次贝奇尔曲线进行快速插补,遍历每一段3次贝奇尔曲线,直到所有的3次贝奇尔曲线均快速插补完毕。进一步的,还包括:获取模块,用于获取原始3次B样条曲线的所有节点矢量和所有控制顶点,分别构成节点矢量集合U和控制顶点集合P,其中,U={u0,u1,…,un+4},P={P0,P1,…,Pn},(n+1)为控制顶点的个数,其中,u0=u1=u2=u3=0和un+1=un+2=un+3=un+4=1;相应的,所述转换模块,用于采用B样条节点插入技术,对节点矢量集合U中的所有节点进行重复插入操作,直到每个节点的重复度均为3,每相邻两个重复度为3的节点之间为一条3次贝奇尔曲线,其中,当原始3次B样条曲线的节点矢量集合U中的节点矢量ui满足ui=ui+1=…=ui+r-1时,则节点ui的初始重复度为r,且r≤2。进一步的,还包括存储模块;所述获取模块,还用于获取每一段3次贝奇尔曲线的4个控制顶点;所述存储模块,用于将每一段3次贝奇尔曲线以及对应的4个控制顶点存储于结构体数组中。根据本专利技术的又一个方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行3次B样条曲线的快速插补方法。本专利技术提供一种3次B样条的快速插补方法及系统,采用B样条的节点插入技术与微分递推求值技术来进行3次B样条插补,整个插补过程不涉及任何B样条基函数的求值求导计算,插补计算的效率高。附图说明图1为本专利技术一个实施例的3次B样条曲线的快速插补方法流程图;图2为本专利技术一个实施例的将3次B样条曲线转换为3次贝奇尔曲线的流程图;图3为本专利技术一个实施例的3次B样条曲线的快速插补系统连接框图;图4为本专利技术另一个实施例的3次B样条曲线的快速插补系统连接框图;图5为本专利技术一个实施例的电子设备连接框图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。参见图1,提供了本专利技术一个实施例的3次B样条曲线快速插补方法,能够提高3次B样条曲线的插补速度,该方法包括:采用B样条节点插入技术将原始3次B样条曲线转换为连续的多段3次贝奇尔曲线;针对每一段所述3次贝奇尔曲线,构造对应的快速插补模型;利用构造的所述快速插补模型,对相应的3次贝奇尔曲线进行快速插补;遍历每一段3次贝奇尔曲线,直到所有的3次贝奇尔曲线均快速插补完毕。3次B样条曲线,在工程应用中非常普遍,对于3次B样条的插补,目前有多种插补方本文档来自技高网...

【技术保护点】
1.一种3次B样条曲线的快速插补方法,其特征在于,包括:采用B样条节点插入技术将原始3次B样条曲线转换为连续的多段3次贝奇尔曲线;针对每一段所述3次贝奇尔曲线,构造对应的快速插补模型;利用构造的所述快速插补模型,对相应的3次贝奇尔曲线进行快速插补;遍历每一段3次贝奇尔曲线,直到所有的3次贝奇尔曲线均快速插补完毕。

【技术特征摘要】
1.一种3次B样条曲线的快速插补方法,其特征在于,包括:采用B样条节点插入技术将原始3次B样条曲线转换为连续的多段3次贝奇尔曲线;针对每一段所述3次贝奇尔曲线,构造对应的快速插补模型;利用构造的所述快速插补模型,对相应的3次贝奇尔曲线进行快速插补;遍历每一段3次贝奇尔曲线,直到所有的3次贝奇尔曲线均快速插补完毕。2.如权利要求1所述的快速插补方法,其特征在于,所述采用B样条节点插入技术将原始3次B样条曲线转换为连续的多段3次贝奇尔曲线之前还包括:获取原始3次B样条曲线的所有节点矢量和所有控制顶点,分别构成节点矢量集合U和控制顶点集合P,其中,U={u0,u1,…,un+4},P={P0,P1,…,Pn},(n+1)为控制顶点的个数,其中,u0=u1=u2=u3=0和un+1=un+2=un+3=un+4=1;相应的,所述采用B样条节点插入技术将原始3次B样条曲线转换为连续的多段3次贝奇尔曲线具体包括:当原始3次B样条曲线的节点矢量集合U中的节点矢量ui满足ui=ui+1=…=ui+r-1时,则节点ui的初始重复度为r,其中,r≤2;采用B样条节点插入技术,对节点矢量集合U中的所有节点进行重复插入操作,直到每个节点的重复度均为3,其中,每相邻两个重复度为3的节点之间为一条3次贝奇尔曲线。3.如权利要求2所述的快速插补方法,其特征在于,所述采用B样条节点插入技术将原始3次B样条曲线转换为连续的多段3次贝奇尔曲线之后还包括:获取每一段3次贝奇尔曲线的4个控制顶点,并将每一段3次贝奇尔曲线以及对应的4个控制顶点存储于结构体数组中。4.如权利要求2或3所述的快速插补方法,其特征在于,所述针对每一段3次贝奇尔曲线,构造对应的快速插补模型具体包括:获取每一段3次贝奇尔曲线的4个控制顶点,分别为P0、P1、P2和P3;将4个控制顶点沿偏移矢量V偏移后得到新的4个控制顶点P0’、P1’、P2’和P3’,使得新的4个控制顶点P0’、P1’、P2’和P3’的坐标分量均不为0;令新的4个控制顶点分别为P0’=(x0,y0,z0)T,P1’=(x1,y1,z1)T,P2’=(x2,y2,z2)T,P3’=(x3,y3,z3)T,则新的3次贝奇尔曲线表示为:其中,t为曲线参数,Bi,3(t)为3次伯恩斯坦基函数,计算为:将式(1)进行变形为:对式(3)计算关于参数t的一阶导矢可得:其中,ΔPi=Pi+1-Pi,i=0,1,2,联立式(3)和式(4)得到:C′(t)=MC(t);其中,M为系数矩阵,表示为:根据...

【专利技术属性】
技术研发人员:张宾李传军王立萍刘焕王学雷吴泰羽
申请(专利权)人:中国农业大学承德石油高等专科学校
类型:发明
国别省市:北京,11

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

1