一种计算复杂度自适应的nurbs曲线插补方法

文档序号:6295164阅读:386来源:国知局
一种计算复杂度自适应的nurbs曲线插补方法
【专利摘要】本发明涉及数控系统的插补点计算技术,具体的说是计算复杂度自适应的NURBS曲线插补方法。通过分析de Boor-Cox法在计算插值点时的计算结构,建立插补点求解的计算复杂度公式;化简基函数法计算插值点时的计算结构,通过共享中间结果减少计算复杂度,并建立基函数法求解过程的计算复杂度公式;建立de Boor-Cox法和基函数法计算插值点时的性能判定公式,在曲线插补时,通过所述性能判定公式动态选择计算复杂度低的方法进行插补。应用本发明方法能够有效的共享基函数算法计算过程中的中间结果,降低算法的计算复杂度,能够动态自适应的选择高效的插补算法,提高NURBS曲线的插补效率。
【专利说明】一种计算复杂度自适应的NURBS曲线插补方法

【技术领域】
[0001] 本发明涉及数控系统的插补点计算技术,具体的说是计算复杂度自适应的NURBS 曲线插补方法。

【背景技术】
[0002] 1991年国际标准化组织(ISO)在工业产品几何定义的产品模型数据交换标准 (standard for the exchange of product model data, STEP)中将 NURBS 作为自由型曲 线、曲面的唯一表示形式。随着STEP-NC (IS014649)标准的制定,数控系统中NURBS曲线、 曲面直接插补技术的研究逐渐增多。由于NURBS曲线无法用统一的解析式表示,故存在曲 线、曲面插补点计算的计算复杂度高的问题,导致插补点计算时需要耗费大量计算时间,影 响了加工效率的提高。因此,降低插补点计算的复杂度,对提高加工速度至关重要。
[0003] 现有的插补点计算方法主要分为以下几种:一是采用迭代方式求解,这种求解方 式易于用计算机实现,但平均计算复杂度最高。二是通过基函数法求解,求解过程中每个基 函数求值只需计算一次即可,但存在基函数求解计算量大以及计算中间结果共享的问题。 三是通过de-Boor Cox算法求解,这种方法避免了 B样条基函数的计算,由控制点直接迭代 计算,插补点计算的平均计算复杂度最低,但是算法性能随NURBS曲线参数的变化会出现 波动,极端情况下性能最低。


【发明内容】

[0004] 针对现有插补算法各自的不足之处,本发明要解决的技术问题是提供一种能够根 据NURBS曲线参数的要求,通过动态选择插补点计算算法降低计算复杂度,提高插补效率 的方法。
[0005] 本发明为实现上述目的所采用的技术方案是:一种计算复杂度自适应的NURBS曲 线插补方法,包括以下步骤:
[0006] 通过分析de Boor-Cox法在计算插值点时的计算结构,建立插补点求解的计算复 杂度公式;化简基函数法计算插值点时的计算结构,通过共享中间结果减少计算复杂度,并 建立基函数法求解过程的计算复杂度公式;
[0007] 建立de Boor-Cox法和基函数法计算插值点时的性能判定公式,在曲线插补时,通 过所述性能判定公式动态选择计算复杂度低的方法进行插补。
[0008] 所述de Boor-Cox法插补点求解的计算复杂度公式为m取值为1或2时,曲线插 补所需乘除法运算的总次数:
[0009] D(k, n, l)=2k+3-9, m=l (2)
[0010] D(k, n, 2)=2k+3+2k-12,m=2 (3)
[0011] 其中k为NURBS曲线的次数,n为控制顶点的个数,m为运算过程中导数的最高次 数。
[0012] 所述基函数法求解过程的计算复杂度公式为m取值为1或2时,曲线插补所需乘 除法运算的总次数:
[0013] B(k, n, l)=2k+1+4n2+17n+k+ll (4)
[0014] B(k, η, 2) =2k+1+10n2+42n+8k+20 (5)
[0015] 其中k为NURBS曲线的次数,η为控制顶点的个数,m为运算过程中导数的最高次 数。
[0016] 所述性能判定公式为
[0017] f (k, n, m) =D (k, n, m) /B (k, n, m) -I (6)
[0018] 其中,函数f (k, n, m)表示de Boor-Cox法算法较基函数法的性能提升幅度, D (k, n, m)为de Boor-Cox法插补点求解的计算复杂度公式,B (k, n, m)为基函数法求解过程 的计算复杂度公式;
[0019] m=l时,性能判定公式为:
[0020] f (k, n, I) = (2k+3-9)/(2k+1+k+4n2+17n+lI) -I (7)
[0021] m=2时性能判定公式为:
[0022] f (k, η, 2) = (2k+3+2k-12) / (2k+1+10n2+42n+8k+20) -I (8)
[0023] 所述通过所述性能判定公式动态选择计算复杂度低的方法进行插补,包括以下步 骤:
[0024] Sl :算法开始,读取NURBS曲线参数k,n,m ;
[0025] S2 :读取曲线当前点对应的参数值u ;
[0026] S3 :判断插补过程中所需的求导次数m与1的关系,若m不等于1,转到S5 ;
[0027] S4 :判断m=l时性能判定函数f (k, n, m)的值,若f (k, η, 1) >0成立,转到S6,否则 转到S7 ;
[0028] S5 :判断m=2时性能判定函数f(k,n,m)的值,若f(k,n,2)>0成立,转到S6,否则 转到S7 ;
[0029] S6:用基函数法,采用共享计算过程中间结果的方法对当前插值点求值、求导,进 行插值计算;
[0030] S7 :用de Boor-Cox法,对当前插值点求值、求导,进行插值计算;
[0031] S8 :判断插补过程是否结束,右否返回S2 ;
[0032] S9 :插补结束。
[0033] 本发明具有以下优点及有益效果:
[0034] 1.应用本发明方法能够有效的共享基函数算法计算过程中的中间结果,降低算法 的计算复杂度。
[0035] 2.应用本发明方法能够动态自适应的选择高效的的插补算法,提高NURBS曲线的 插补效率。

【专利附图】

【附图说明】
[0036] 图1为de Boor-Cox算法求值的计算结构;
[0037] 图2为de Boor-Cox算法求导的计算结构;
[0038] 图3为基函数求值化简前的计算结构;
[0039] 图4为基函数求值化简后的计算结构;
[0040] 图5为基函数求导化简前的计算结构;
[0041] 图6为基函数求导化简后的计算结构;
[0042] 图7为算法流程图;
[0043] 图8为计算效率比较图。

【具体实施方式】
[0044] 下面结合附图及实施例对本发明做进一步的详细说明。
[0045] 1.分析de Boor-Cox法在计算插值点时的计算结构,建立插补点求解的计算复杂 度公式。图1、图2分别为de Boor-Cox法进行B样条曲线求值、求导时的计算结构。令函 数D (k, n, m)为采用de Boor-Cox法时,曲线插补所需乘除法运算的总次数,其中k为NURBS 曲线的次数,η为控制顶点的个数,m为运算过程中导数的最高次数,OS i <n。由于在实 际计算过程中m取值为1或2,结合NURBS曲线的表达式(1),可得m=l、m=2时D(k, n, m)的 表达式分别如公式(2)、(3)所示。

【权利要求】
1. 一种计算复杂度自适应的NURBS曲线插补方法,其特征在于,包括以下步骤: 通过分析de Boor-Cox法在计算插值点时的计算结构,建立插补点求解的计算复杂度 公式;化简基函数法计算插值点时的计算结构,通过共享中间结果减少计算复杂度,并建立 基函数法求解过程的计算复杂度公式; 建立de Boor-Cox法和基函数法计算插值点时的性能判定公式,在曲线插补时,通过所 述性能判定公式动态选择计算复杂度低的方法进行插补。
2. 根据权利要求1所述的一种计算复杂度自适应的NURBS曲线插补方法,其特征在于, 所述de Boor-Cox法插补点求解的计算复杂度公式为m取值为1或2时,曲线插补所需乘 除法运算的总次数: D(k, n, l)=2k+3-9, m=l (2) D(k, n, 2)=2k+3+2k-12,m=2 (3) 其中k为NURBS曲线的次数,n为控制顶点的个数,m为运算过程中导数的最高次数。
3. 根据权利要求1所述的一种计算复杂度自适应的NURBS曲线插补方法,其特征在于, 所述基函数法求解过程的计算复杂度公式为m取值为1或2时,曲线插补所需乘除法运算 的总次数: B(k, n, l)=2k+1+4n2+17n+k+ll (4) B(k, n, 2) =2k+1+10n2+42n+8k+20 (5) 其中k为NURBS曲线的次数,n为控制顶点的个数,m为运算过程中导数的最高次数。
4. 根据权利要求1所述的一种计算复杂度自适应的NURBS曲线插补方法,其特征在于, 所述性能判定公式为 f (k, n, m) =D (k, n, m) /B (k, n, m) -1 (6) 其中,函数f (k, n, m)表示de Boor-Cox法算法较基函数法的性能提升幅度,D (k, n, m) 为de Boor-Cox法插补点求解的计算复杂度公式,B(k,n,m)为基函数法求解过程的计算复 杂度公式; m=l时,性能判定公式为: f (k, η, 1) = (2k+3-9)/(2k+1+k+4n2+17n+l 1) -1 (7) m=2时性能判定公式为: f (k, n,2) = (2k+3+2k-12)/(2k+1+10n2+42n+8k+20)-l (8)。
5. 根据权利要求1所述的一种计算复杂度自适应的NURBS曲线插补方法,其特征在于, 所述通过所述性能判定公式动态选择计算复杂度低的方法进行插补,包括以下步骤: 51 :算法开始,读取NURBS曲线参数k,n,m ; 52 :读取曲线当前点对应的参数值u ; 53 :判断插补过程中所需的求导次数m与1的关系,若m不等于1,转到S5 ; 54 :判断m=l时性能判定函数f (k, n, m)的值,若f (k, η, 1) >0成立,转到S6,否则转到 S7 ; 55 :判断m=2时性能判定函数f (k,n,m)的值,若f (k,n,2)>0成立,转到S6,否则转到 S7 ; 56 :用基函数法,采用共享计算过程中间结果的方法对当前插值点求值、求导,进行插 值计算; 57 :用de Boor-Cox法,对当前插值点求值、求导,进行插值计算; 58 :判断插补过程是否结束,若否返回S2 ; 59 :插补结束。
【文档编号】G05B19/41GK104238457SQ201310233938
【公开日】2014年12月24日 申请日期:2013年6月8日 优先权日:2013年6月8日
【发明者】林浒, 孙树杰, 郑飂默, 王品, 黄艳, 陈智殷 申请人:沈阳高精数控技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1