NURBS方法

2024-05-28

NURBS方法(共7篇)

NURBS方法 篇1

0 引言

凸轮机构是工程中实现机械化和自动化的一种主要控制机构,理论上,只要凸轮廓线的设计得当,可将凸轮的匀速转动转化为从动件任意规律的运动。凸轮廓线传统的表示方法为多项式,三角函数,圆弧、摆线或渐开线及其组合函数等标准解析型函数[1,2,3,4,5,6,7,8],这些方程形式不统一,研究不能泛化。

为了使凸轮轮廓曲线有统一的表达形式,学者们采用B样条、Hermite样条来表示[9,10,11]。但Hermite样条利用矢量的大小和方向产生曲线,不便于曲线的调控,并容易产生曲线缠绕的问题, Hermite样条还将确定的每个型值点处的一阶导数作为初始条件,这在应用时很不方便。B样条不仅具有Bézier样条可以通过控制多边形来解决曲线整体形状的优点,在曲线局部位置的控制方面也具有优势[12]。为了能精细准确控制曲线,可以采用有理B样条,但实际工程中的型值点经常任意分布,因此本文采用非均匀有理B样条(non-uniform rational B-splines,NURBS)曲线来控制凸轮廓线,并将此方法用于步行式插秧机共轭凸轮推秧装置中共轭凸轮廓线的表达。

1 NURBS曲线逼近

曲线拟合常用的方法是插值,根据设计要求给定一些型值点后,通过插值得到一条构造的曲线(多项式曲线、分段多项式曲线、样条曲线等),并使该曲线通过所有型值点。为了提高插值曲线的光滑性,往往要求插值曲线有一阶、二阶连续导数,但如果某些型值点几何性质不理想,譬如凸轮廓线上的某一段廓线曲率较大时,这段廓线上的型值点在拟合时就很难实现一阶、二阶连续可导,从而限制了插值方法在有急回运动机械中的应用[13]。为此,笔者采用NURBS曲线逼近型值点,并通过一些控制点来调整曲线的变动,以求达到凸轮廓线拟合光滑性要求。曲线拟合过程中,如果绝大部分的数据拟合较为理想,但局部拟合偏离较大,则整体误差较大。为了减小整体逼近误差,本文采用最小二乘法逼近。

1.1NURBS曲线的数学表示

NURBS曲线的基本思想是将整个样条划分成若干段,在计算每一段坐标曲线时,只使用有限个点。具体地讲,NURBS曲线通过两个多项式之比定义:

Q(t)=i=0nRi,k(t)Ρi (1)

Ri,k(t)=wiSi,k(t)j=0nwjSj,k(t)

式(1)表示一条有n+1个控制点Pi(i=0,1,…,n)的k次参数式NURBS曲线,它是由参数t的序列,即节点矢量T=(t0,t1,…,tn+k+1)所决定的k次分段多项式,其定义域为t∈[tk,tn+1]。在大多数实际应用里,tk=0,tn+1=1。wi是相应控制点Pi的权因子,wi越大,该点对曲线的影响越大,Si,k(t)是由节点矢量T按德布尔-考克斯递推公式决定的k次B样条基函数,Si,k(t)的递归计算定义如下:

约定0/0=0[14]。

1.2NURBS曲线目标函数的建立

给定m+1个型值点qd(d=1,2,…,m+1),寻找一条封闭的k次NURBS曲线Q(t)(t∈[0,1])逼近这些型值点,该曲线满足q1=Q(0),qm+1=Q(1),其余型值点q2、q3、…、qm在最小二乘意义上被逼近[15],即使关于n-1个控制点pe(e=1,2,…,n-1;n=m+k-1)的目标函数

f=d=2mzd|qd-Q(t˜d)|2 (3)

的值最小。其中,zd为型值点权因子,它表示不同型值点对曲线的影响;t˜d为型值点的参数值,可以采用积累弦长参数法求取。

2 基于NURBS曲线的凸轮廓线表达模型的建立

现有一组非均匀的凸轮廓线数据,选取m+1个数据点作为型值点qd,使用k次NURBS曲线逼近。

2.1节点向量的确定

NURBS曲线的定义域为t∈[tk,tn+1],即定义域内节点为tk+l(l=1,2,…,n-k),其余节点为定义域外节点,定义域内节点值的选取必须能反应型值点参数值t˜d的分布情况,可按如下定义[16]:

c是一个正实数,d=int(lc)表示dlc的最大整数,令c=(m+1)/(n-k+1),则定义域内的节点值为

上述方法决定的内节点值保证了定义域每个节点区间包含至少一个t˜d

凸轮廓线是封闭的曲线,而NURBS闭曲线常要求C(k-1)参数连续,即要求控制顶点pm+b b=pb b(b b=0,1,…,k-1),则定义域外的节点可用定义域内的节点表示,具体如下:

2.2权因子函数的确定

根据具体的数据重要性情况给定一组与型值点相对应的型值点权因子zd,型值点权因子和控制点权因子有如下关系[17]:

i=0nwiSi,k(td+k-1)=zd (6)

根据式(6)可列出m+1个方程,当k=3时,可补充边界条件

根据式(6)、式(7)可以求出k=3时相应的NURBS曲线控制点权因子wi

2.3求解控制点

要使式(3)的目标函数值最小,必须有n-1个控制点的导数值都等于零[18,19]。

为了便于计算,将中间量rh=qh-q1R0,k(t˜h)-qm+1Rn,k(t˜h)(h=2,3,,m)代入式(3),得

f=h=2mzh|rh-e=1n-1peRe,k(t˜h)|2 (8)

式(8)关于控制顶点pe的导数等于零,则它的第s个导数为

fps=h=2m(2zhRs,k(t˜h)e=1n-1peRe,k(t˜h)-2zhrhRs,k(t˜h))=0

整理得

h=2mzhrhRs,k(t˜h)=h=2me=1n-1zhpeRe,k(t˜h)Rs,k(t˜h) (9)

式(9)可以表示成矩阵方程:

NTNP=R (10)

Ν=[z2R1,k(t˜2)z2R2,k(t˜2)z2Rn-1,k(t˜2)z3R1,k(t˜3)z3R2,k(t˜3)z3Rn-1,k(t˜3)zmR1,k(t˜m)zmR2,k(t˜m)zmRn-1,k(t˜m)]Ρ=[p1p2pn-1]ΤR=[z2R1,k(t˜2)z3R1,k(t˜3)zmR1,k(t˜m)z2R2,k(t˜2)z3R2,k(t˜3)zmR2,k(t˜m)z2Rn-1,k(t˜2)z3Rn-1,k(t˜3)zmRn-1,k(t˜m)][r2r3rm]

该矩阵方程的系数矩阵A=NTN正定,即|A|≠0,所以方程有一组唯一的非零解p*=(p*1,p*2,…,p*n-1)。

3 凸轮廓线拟合实例与结果分析

3.1步行式插秧机共轭凸轮拟合实例

笔者在研究步行式插秧机强制推秧机构时,将共轭凸轮应用于推秧装置中,用共轭凸轮带动推秧杆伸出和缩回,并对该机构进行了反求设计,得到了满足插秧农艺要求的共轭凸轮廓线数据点[20],如图1所示。但这些离散的数据点不能满足凸轮廓线光顺性要求,因此,本文拟采用NURBS曲线逼近这些离散的共轭凸轮廓线数据点,再插值生成步长足够小的点坐标,以保证共轭凸轮廓线的光顺性。

3.1.1 主凸轮型值点的选取

反求得到的共轭凸轮廓线共360个数据点(主副凸轮各180个数据点)。主副凸轮中,a段廓线上的点到凸轮转动中心的距离不断变化,每两个点与转动中心的连线形成的夹角不等;b段廓线上的点到凸轮转动中心的距离恒定,但每两个点与转动中心的连线形成的夹角不等。由此可见,反求得到的凸轮廓线数据点是非均匀的离散的数据点。为了加快计算速度,从180个数据点中选取一定量的数据点做为型值点。

现采用三次NURBS曲线拟合此共轭凸轮廓线。在曲线拟合过程中,封闭曲线逼近型值点,对于此共轭凸轮廓线,a段廓线上的型值点决定了凸轮廓线形状,所以为了提高拟合精度,从主副凸轮a段廓线上各选取7个数据点,再从主副凸轮b段廓线上各选取6个数据点,组成用于拟合此共轭凸轮廓线的型值点,其中用于拟合主凸轮廓线的型值点为q1,q2,…,q13,如表1所示。

3.1.2 主凸轮廓线的拟合

13个型值点需要20个节点、15个权因子和15个控制点,按照第1、2节建立的拟合模型,编程求解。由式(4)、式(5)可求得节点值t0、t1、…、t19,由式(6)、式(7)可求得控制点权因子w0、w1、…、w14 (在此凸轮轮廓拟合中,各型值点的作用可以认为是等同的,所以取各型值点权因子z0= z1=…= z14=1),由式(10)求得控制点p0,p1,…,p14,主凸轮计算结果如表1所示,主凸轮廓线拟合结果如图2所示,副凸轮廓线拟合结果如图3所示。

3.2结果分析

3.2.1 轮廓曲率变化

为对比凸轮廓线拟合前后的效果,分别将拟合前后的主凸轮廓线导入UG中,利用曲率分析功能,对凸轮廓线进行曲率分析,曲率分布如图4所示,图中粗实线为主凸轮廓线,放射状细实线的高度和方向分别表示曲率的大小和正负,从轮廓线出发,细实线向外表示此处曲率为正,细实线向里表示此处曲率为负。从图4可以看出,经过拟合后的凸轮廓线曲率分布比较均匀,没有多余的拐点,满足凸轮廓线加工要求。

3.2.2 与传统表示方法的对比

现采用分段多项式最小二乘方法拟合主凸轮廓线,a段廓线决定了主凸轮形状,所以将a段廓线所在区间作为分段多项式的一个区间。当选用相同型值点时,如图2所示,a段廓线上共有7个型值点,用六次多项式F(x)拟合a段廓线,拟合结果如图5a所示。当增加型值点数目时,选取14个型值点,采用九次多项式S(x)拟合a段廓线,拟合结果如图5b所示。

a段廓线上每间隔3个数据点选取1个数据点,共选取11个点(xi,yi)(i=0,1,…,10)。将xi对应的参数值x˜i代入式(1),求得用NURBS曲线拟合后对应的纵坐标值Q(x˜i);将xi代入多项式F(x),求得用六次多项式拟合后对应的纵坐标值F(xi);将xi代入多项式S(x),求得用九次多项式拟合后对应的纵坐标值S(xi),如表2所示。将拟合后得到的纵坐标值减去拟合前纵坐标值,求得用这3种方法拟合后的残差分布,如图6所示。

从图5、图6可以看出,当给定相同型值点时,用NURBS曲线拟合后,残差分布均匀,且在大部分区间内,残差接近于零,而用六次多项式拟合后,残差变化较大,且最大残差接近0.8mm。当拟合精度相近时,对于此主凸轮廓线,九次多项式需要14个型值点,NURBS曲线方法需要7个型值点,由此可见NURBS曲线可以用较少的型值点精确地控制凸轮廓线。

4 结论

(1)将NURBS曲线拟合技术用于凸轮廓线的拟合,可得到由控制顶点及权值控制的凸轮廓线,使凸轮廓线具有统一的表达形式。

(2)采用NURBS曲线拟合的凸轮廓线曲率变化均匀、误差小,同时需要的型值点少。

摘要:为了使不同的凸轮廓线具有统一的表达形式,并保证凸轮廓线的光顺性,采用NURBS曲线来逼近凸轮廓线,并结合最小二乘法构建了NURBS曲线的目标函数,建立了基于NURBS曲线的凸轮廓线表达模型。将该模型用于步行式插秧机共轭凸轮推秧装置中共轭凸轮廓线的表达,拟合得到的凸轮廓线曲率变化均匀。与传统的拟合方法对比发现,用NURBS曲线拟合后得到的凸轮廓线曲率变化均匀、误差小,需要的型值点少,从而表明采用NURBS曲线表达凸轮廓线具有明显的优势。

关键词:NURBS曲线,凸轮廓线,最小二乘法,逼近

NURBS方法 篇2

关键词:三维地形可视化,NURBS,实测数据,云南

0 引言

地形可视化是在20世纪60年代以后随着地理信息系统的出现而逐渐形成的,是一门以研究数字地形模型(Digital Terrain Model,DTM)或数字高程域(Digital Height Field)的显示、简化、仿真等内容的学科。三维地形可视化则是通过计算机的计算过程和计算结果将地形数据转化为图形图像以及三维逼真的显示、模拟仿真、简化、多分辨率表达地形数据的一种技术[1~3]。随着20世纪末“数字地球”、“数字城市”等理念的提出,对于三维地形可视化研究受到越来越多的研究学者们的重视,并且三维地形可视化技术在城市规划、工程设计、项目选址、环境监测和灾害预报等众多领域都有着十分广泛的应用前景[3,4]。近几年来关于三维地形可视化的论文和技术层出不穷,吕秋灵[3]详细地阐述了三维地形可视化显示的方法,凌成星[5]以及李汇军[6]等诸多作者的论文都有各自实现三维地形的技术和方法。

然而众多研究都是集中在小比例尺、大范围地域三维场景的真实再现,而关于大比例尺、小范围地域的三维可视化显示研究却相对较少。本文针对云南特殊的山地地形为研究背景区域,并从中选取一个比较有代表性的试验区,通过野外测绘数据,制作DEM,在三维软件中尝试利用NURBS曲线建模,真实地再现试验场景的地形地貌,希望能够为试验区相关工程和科研等提供基础成果与技术手段。

1 理论基础

NURBS为非均匀有理B样条曲线(NonUniform Rational B-Splines,NURBS),是一种能够很好地控制物体表面的曲线度,并准确表达曲线和曲面的模型方法。NURBS始于20世纪50年代,由于其可以精确地表示自由曲面,最早被应用于船体、航空航天外表面和车身等曲面的设计。后来随着技术的成熟,NURBS被应用于众多领域,并成为国际认定的标准几何图形学的数学方法之一。近年来,国内外众多学者也尝试将NURBS曲线应用到三维地形建模中来[7]。

非均匀有理B样条曲线(NURBS)是常用的一种数学模型应用在计算机图形学中,用于生成和表示曲线和曲面,它在处理分析模型的表面和形状上具有非常强大的灵活性和精确性。NURBS曲线和NURBS曲面是由控制点、节点及其权重和一个数学公式来表达的[8],因而可以用它做出各种复杂的曲面造型和表现特殊的效果。

2 地形可视化模型的构建方法

本次研究中应用模型采用GIS软件与3D软件等众多软件相互结合制作而成。其中,GIS软件是将野外采集回来的数据进行基础处理,3D软件最终将这些地形基础数据转化为可视化的三维模型。GIS软件基于Arc GIS、Map GIS、Global Mapper和CASS四个平台。3D软件选用Rhinoceros软件,Rhinoceros优于其他三维软件是因为它是以NURBS为理论基础的3D建模软件,另外更重要的一点是Rhinoceros能够很好地解决计算机硬件和图形显示效果的矛盾,其占用计算机内存少。研究中,试验过程采用Rhinoceros软件下的地形建模Rhino Terrain插件,在构建三角网时是基于一个强大和可靠的约束三角剖分算法,能够处理庞大的数据量,并且能够精确地表达地形。

2.1 技术处理流程

数字高程模型(DEM)是实现三维地形可视化的重要数据来源,为了准确真实地表达地面形态,在构建三维地形模型时要选用合适尺度的DEM数据以达到预期的效果,并且在制作好的三维地形模型上叠加其它数据还可以进行地学分析。研究试验是在GIS软件平台下,对野外实测的等高线和高程点进行处理,考虑到高程点数据是分布于等高线之间的离散点,为了增加三角网数量以逼近真实地面,对这两组数据进行融合。将融合好的数据载入Rhinoceros软件中,通过Rhino Terrain插件强大的约束三角剖分算法构建TIN,制作DEM,并基于NURBS曲线建模基础最终实现地形三维的可视化。

2.2 DEM数据获取

DEM数据获取一般有3种途径:①野外直接实地测量;②以地形图为数据源矢量化后获取DEM数据;③利用摄影测量方法(航空、航天遥感影像)获取的DEM数据[9]。

由于云南地貌以山地为主,地形起伏多变,航空、航天遥感以及小比例尺的地形图矢量化获取的DEM数据不能精确地表达区域的起伏变化,而实地测量往往是大比例尺、小范围地域,精度高,能准确地表达真实场景。所以研究的数据来源于野外实地直接测量获取的DEM数据。

2.3 DEM数据处理

2.3.1 实测数据的处理

野外实测的数据并不能直接利用,需要在GIS平台下经过多个步骤的处理才可以为后面的制作过程应用。

通过南方CASS软件在野外实测数据中提取等高线数据和高程点数据,对等高线和高程点数据做细致的处理后,再经过GIS软件融合成一个文件,并定义统一的投影坐标以便于后期与其他各种数据叠加进行地学分析。

对于等高线数据,为了达到精确逼近真实地面,在构建TIN时就必须增加三角网的数量,所以需要对等高线进行等距离抽稀提取,将抽稀系数设置比较小可以获得数量庞大的高程点数据,但是抽稀系数也不能太小,这样数据量太过庞大影响后期处理的速度。经过处理后的文件中包含三列数据:

第1行:X1坐标,Y1坐标,高程值1

第2行:X2坐标,Y2坐标,高程值2

…..

第n行:Xn坐标,Yn坐标,高程值n

对于高程点数据,在GIS软件中进行无编码处理,并输出无编码的高程点。为了后期高程数据的融合,必须对此文件进行处理,此文件包含4列:

第1行:1,X1坐标,Y1坐标,高程值1

第1行:2,X2坐标,Y2坐标,高程值2

….

第n行:n,Xn坐标,Yn坐标,高程值n

所以必须删除第一列,构成和等高线同样格式的文件,为后面一步的数据融合做准备。

2.3.2 数据融合

借助Global Mapper强大的数据融合功能,将等高线生成的高程点文件与经过处理的原始采集的高程点文件进行融合,并输出等间距的高程点,获得一个高程点密集的点阵文件。

2.4 三维地形可视化模型的建立

将输出的点阵文件导入到Rhinoceros软件中,构建三角网,在构建三角网中利用约束三角剖分算法控制三角网数量以逼近真实地面,并制作数字高程模型,最终形成还原真实地形的三维地形可视化模型。

3 应用实例

云南地处云贵高原,也属于青藏高原的南延部分,大面积的土地高低参差、纵横起伏,一定范围内又有平坦的缓和面。这种高低起伏、多变的地形对于研究具有十分重要的意义。所选试验区位于云南西北部,坐落于东经100°16'58″~100°18'24″,北纬27°28'07″~27°29'11″之间(位置如图1所示),地处云贵高原与青藏高原结合部,地势西北高、东南低,山高谷深,沟壑纵横,高差极为悬殊,境内山脉属横断山岭山脉。试验区的海拔在3182~3331m,高低相差149m。坡度5°~20°,一般坡度10°~15°,局部大于20°地形起伏不大,地势比较平坦,地貌类型为丘陵。

图1 试验区位置图Fig.1 The location map of pilot area

3.1 DEM数据选取

为了制作高精度的数字高程模型(DEM),本试验选用1∶2000野外实测等高线数据和高程点数据,等高线的等高距为2m。基础数据(等高线和高程点)如图2所示。

图2 试验区的等高线和高程点Fig.2 Contour and elevation of experimental area

3.2 数据处理和融合

按照DEM数据处理过程描述的方法,对采集回来的数据在GIS软件中进行处理,并对数据定义统一的坐标系统(试验区为Xian 1980 3 Degree GK Zone 33)。最终在Global Mapper软件中融合,并输出融合的点阵文件,在输出这个点阵文件时选取点的采样间距X和Y方向同时为一个适当的距离,得到的结果如图3所示。

3.3 三维地形模型的实现

在Rhinoceros软件中,通过Rhino Terrain插件,利用约束三角剖分构建TIN,并生成三维地形模型(如图4所示)。

图3 试验区融合后的高程点Fig.3 The fused elevation point of experimental area

图4 试验区三维地形图Fig.4 Experimental area three-dimensional topographic

通过制作的三维地形模型,我们可以清晰地看到,在滇西北地形起伏的丘陵地区,NURBS曲面能充分发挥其建模的作用,构建的三维地形模型真实,对于后期的地学分析和工程应用等都有很大的帮助。

4 结论

本文基于对三维地形可视化的发展状况认识,针对大比例尺、小范围地域开展了利用NURBS曲线实现三维建模的试验探讨。全文详细阐述了三维地形可视化的NURBS曲线的数学基础、DEM数据的获取途径和方法、DEM基础数据等高线和高程点融合的方法以及最终制作三维地形模型的技术和方法。研究工作在基于GIS和Rhinoceros软件环境下,选用精确度较高的野外实测数据,并利用其制作DEM,生成真实感强的三维地形模型,并达到了三维地形可视化的要求。通过制作好的三维地形,叠加各种在此试验区范围内的所有矢量和栅格数据,实现全景再现试验区的效果。由于工作时间和研究条件的限制,试验相对容易,但试验结果仍然具有理论意义和应用价值。

参考文献

[1]王永明.地形可视化[J].中国图像图形学报,2000,(6):449~456.Wang Yongming.Overview of terrain visualization[J].Journal of Image and Graphics,2000,(6):449~456.(in Chinese)

[2]汤国安,刘学军,闾国年.数字高程模型及地学分析的原理与方法[M].北京:科学出版社,2005.Tang Guo’an,Liu Xuejun,Lu Guonian.Principles and methods of digital elevation models and geographic analysis[M].Beijing:Science Press,2005.(in Chinese)

[3]吕秋灵,张俊霞.三维地形可视化及其实时显示方法[J].河海大学学报(自然科学版),2002,30(4):85~87.Lyu Qiulin,Zhang Junxia.3-D terrain visualization and realtime display techniques[J].Journal of Hohai University(Natural Sciences),2002,30(4):85~87.(in Chinese)

[4]龚建华.地形可视化探讨[J].遥感学报,1999,3(3):236~244.Gong Jianhua.Discussion on visualization[J].Journal of Remote Sensing.1999,3(3):236~244.(in Chinese)

[5]凌成星等.高分辨率遥感图像与DEM结合的三维地形可视化[J].林业调查规划,2008,33(4):24~26.Ling Chengxing et al.Three-dimensional terrain visualization of combining DEM with high resolution images[J].Forest Inventory and Planning,2008,33(4):24~26.(in Chinese)

[6]李汇军等.三维地形的可视化研究[J].解放军理工大学学报(自然科学版),2001,2(6):90~94.Li Huijun et al.Toward visualization of 3D topography[J].Journal of PLA University of Science and Technology(Natural Science Edition),2001,2(6):90~94.(in Chinese)

[7]钟登华等.复杂地质体NURBS辅助建模及可视化分析[J].计算机辅助设计与图形学学报,2005,17(2):284~290.Zhong Denghua et al.Visualization analysis of complex geologic body with NURBS modeling[J].Journal of Computer-Aided Design&Computer Graphics,2005,17(2):284~290.(in Chinese)

[8]Les Piegl,Wayne Tiller.The NURBS book[M].2nd Edition.Springer,1996.

NURBS方法 篇3

在五轴联动加工中,工件坐标系插补具有众多优点:可以减小非线性误差,有效避免过切与欠切,还可提高加工精度[1,2]。等距双NURBS刀具路径是描述工件坐标系光顺路径的有效手段,可以消除工件坐标系线性刀路的一阶不连续,从而获得更高更平滑的进给速度,使机床运动更平稳,加工工件的表面质量更好[3,4]。等距双NURBS刀具路径由两条NURBS曲线构成,其中一条描述刀具中心点的轨迹,称为刀具中心点NURBS曲线;另一条描述刀具轴线上指定一点的轨迹,称为刀轴点NURBS曲线。通过这两条NURBS曲线可以唯一确定刀具姿态,等距是指两条NURBS曲线上对应点(同一条曲线参数)间的距离保持恒定。

文献[5]给出了五轴联动刀路的二阶光顺方法,但对于刀具方向的光顺,该方法并没有针对工件坐标系进行考虑。Langeron等[6]对刀具中心点和刀轴点进行NURBS拟合以获取双NURBS曲线刀具路径,但该方法产生的双NURBS曲线并不等距。事实上,等距双NURBS曲线比非等距双NURBS曲线更适用于数控插补,因为前者的刀具方向也是一条NURBS曲线,在插补中计算更为简单、高效。目前除软件CATIA外,一般的商用CAM软件并不支持等距双NURBS曲线刀路的生成。然而CATIA生成的等距双NURBS刀路由于受到几何精度的限制,会在曲面的大曲率区域出现一阶不连续的断点,在实际加工中会影响伺服系统的动态特性及机床运动的平稳性,限制了进给速度的提高。

针对等距双NURBS描述的五轴联动刀具路径,本文提出了一种光顺方法,在确保刀具路径满足拟合精度的同时实现G1或G1以上连续,以消除进给速度的方向突变,改善各轴伺服跟随性能,减轻机床冲击,从而适应五轴联动高速加工的需求。

1 断点路径段的Bezier曲线描述

等距双NURBS刀具路径由两条NURBS曲线构成,如图1所示。

针对刀位数据源文件(CLSF)描述的工件坐标系五轴离散刀路,采用对偶四元数插值获取等距双NURBS刀路[7],然后校验五轴联动等距双NURBS刀路的拟合误差[8],把不满足给定精度的五轴刀位点记录为拟合断点,拟合断点间的线性路径称为断点路径段。则刀具路径由若干段满足给定精度的双NURBS曲线和若干断点路径段组成,如图2所示。在NURBS路径段与断点路径段之间以及断点路径段与断点路径段之间都会出现一阶不连续断点。

针对断点路径段,首先分别给出刀具中心点及刀具方向的Bezier曲线描述;在此基础上,给出断点路径段的对偶四元数矢量函数描述。

1.1断点路径段的Bezier曲线描述

对于相邻的两个拟合断点LkLk+1,对应的刀具中心点为pkpk+1,刀具方向为akak+1。则刀具中心点的断点路径段为直线段pkpk+1,可采用一次Bezier曲线来描述(图2a):

p(u)=i=01CiBi,1(u)u[0,1] (1)

其中,控制顶点C0=pk,C1=pk+1;Bi,1(u)为一次Bezier基函数。

刀具方向的断点路径段为在单位球面上的大圆弧段akak+1,可用二次有理Bezier曲线描述(图2b):

a(u)=i=02ΗiBi,2(u)wiBi,2(u)u[0,1] (2)

式中,Hi为控制顶点;wi为权值;Bi,2(u)为二次Bezier基函数。

1.2断点路径段的对偶四元数矢量函数描述

相邻两个拟合断点LkLk+1间的刀具中心点及刀具方向断点路径段的Bezier曲线描述分别记为p(u)和a(u)。断点Lk的刀具方向为ak,其四元数描述为qk。刀具方向a(u)相对ak旋转位移的轴线s(u)为

s(u)=aka(u)|aka(u)|=akak+1|akak+1| (3)

由于akak+1与a(u)共面,因此s(u)=(s1,s2,s3)T为恒定值。设θ(u)为旋转位移对应的转角,则旋转位移对应的四元数ξ(u)为

ξ(u)=cosθ(u)2+sinθ(u)2(s1i+s2j+s3k) (4)

式中,i、j、k为四元数的双向量基。

刀具方向a(u)对应的四元数q(u)可表示为

q(u)=ξ(u)qk (5)

d(u)为p(u)的四元数描述,则断点路径段的对偶四元数描述z^(u)为

z^(u)=ξ(u)qk-12εd(u)ξ(u)qk (6)

式中,ε为对偶四元数中的对偶数。

z^(u)的一阶导矢为

z^˙(u)=ξ˙(u)qk-12εd˙(u)ξ(u)qk-12εd(u)ξ˙(u)qk (7)

其中,ξ˙(u)d˙(u)分别为

ξ˙(u)=-utan2αk2+(s1i+s2j+s3k)tanαk2(1+u2tan2αk2)32 (8)

d˙(u)=pk+1-pku¯k+1-u¯k(i,j,k)Τ (9)

式中,αk为刀具方向akak+1的夹角。

2 断点路径段的光顺处理

需针对以下三种情况进行断点路径段的光顺处理:①双NURBS路径段与断点路径段间的光顺连接;②断点路径段与双NURBS路径段间的光顺连接;③断点路径段之间的光顺连接。三种情况的处理方法类似:在一阶不连续处插入对偶四元数Bezier矢量函数,使之分别与相邻路径段(双NURBS路径段或断点路径段)相切。根据插入的对偶四元数Bezier矢量函数,可以获得对应的刀具中心点和刀具方向Bezier曲线,称为断点光顺过渡段,如图3所示。若断点光顺过渡段不满足精度要求,则重复插入对偶四元数Bezier矢量函数,使其起点和终点更靠近拟合断点,直至满足精度为止。

下面以双NURBS路径段与断点路径段间的光顺处理为例进行说明。假设五轴刀位Lk-1与Lk间的双NURBS路径段满足拟合精度,对应的分段对偶四元数Bezier矢量函数为W^(u);五轴刀位LkLk+1间的双NURBS路径段不满足拟合精度,即LkLk+1为拟合断点,LkLk+1间断点路径段的对偶四元数矢量函数描述为z^(u)。需插入对偶四元数Bezier矢量函数V^(u),使之分别与W^(u)及z^(u)均相切。假设给定V^(u)的起点为V^s,终点为V^e,起点导矢为V^′s,终点导矢为V^′e,则V^(u)的表达式为

V^(u)=i=03V^iBi,3(u)(10)

其中,Bi,3(u)为三次Bezier基函数,控制顶点V^i

断点路径段的光顺处理算法如下:

(1)初始化:j=1,令us(j)=u¯k+u¯k-12ue(j)=u¯k+1+u¯k2u¯k-1u¯ku¯k+1分别为刀位点Lk-1、LkLk+1对应的曲线参数。

(2)令V^(u)的起点为V^s(j)=W^(us(j)),终点为V^e(j)=z^(ue(j)),起点导矢为V^s(j)=W^(us(j)),终点导矢为V^e(j)=z^(ue(j))

(3)根据式(10)和式(11)确定第j次插入的对偶四元数Bezier矢量函数为V^j(u)。

(4)获取V^j(u)对应的刀具中心点和刀轴点的有理Bezier曲线,并转换为NURBS形式Pj(u)和Qj(u),u∈[u(j)s,u(j)e]。

(5)检验双NURBS曲线Pj(u)和Qj(u)与刀位点L(j)s、LkL(j)e组成的线性刀路间的拟合误差,L(j)s和L(j)e为对偶四元数V^(j)s和V^(j)e对应的五轴刀位。若不满足给定精度,转至步骤(6);反之,则对偶四元数Bezier矢量函数V^j(u)满足光顺处理要求,算法结束。

(6)令jj+1us(j)=u¯k+us(j-1)2ue(j)=uue(j-1)+u¯k2,跳转至步骤(2)。

对整条刀具路径中的拟合断点进行上述光顺处理以消除一阶不连续,使整条双NURBS刀具路径达到G1及G1以上连续且满足给定的精度要求。

3 仿真实验

采用本文提出的算法,对整体叶轮上的一个叶片五轴联动侧刃加工时的线性刀路进行光顺处理,生成满足拟合精度且达到G1或G1以上连续的等距双NURBS刀具路径。针对以下两方面进行验证:一是与文献[7]中的光顺方法进行比较,验证本文算法的拟合精度;二是验证采用本文算法获取的等距双NURBS刀路的光顺性。算例中的线性刀路由工件坐标系的离散刀位构成,如图4所示。

3.1拟合精度比较

分别设定三组拟合精度(表1)对图4中的线性刀路进行光顺,生成等距双NURBS刀具路径。

表1中第1组拟合精度为“无设定”,表示在路径光顺过程中不进行拟合精度检测和控制(即文献[5]中所采用的光顺方法),所得的拟合误差如图5a所示。从表1可以看出,光顺后的双NURBS曲线刀具路径存在着较大的拟合误差,刀具中心点的最大拟合误差达0.133mm,刀具方向拟合误差达0.177°。当采用本文算法按照设定的第2组和第3组拟合精度进行刀具路径光顺时,对应的拟合误差曲线如图5b、图5c所示,最大拟合误差在表1中列出,可见均满足设定的拟合精度要求。

3.2光顺性比较

采用本文算法获得的双NURBS刀具路径的单位切矢如图6所示,由于刀具中心点NURBS刀路中的断点线性段为直线段,因此相应的切矢退化为一个点。从图6中可以看出,采用本文算法获得的刀具路径的单位切矢处处连续,即实现了整条刀具路径的G1或G1以上连续;而采用CATIA生成的双NURBS刀路(设置同样的精度条件)的单位切矢不连续,即G1不连续,如图7所示。刀路的G1不连续会导致进给速度的方向突变,影响机床运行的平稳性,不利于高速加工。

4 结语

五轴联动等距双NURBS刀路是描述工件坐标系光顺路径的有效手段,是发展高速、高精度五轴联动加工的关键技术。本文针对等距双NURBS刀路,对不满足拟合精度的断点采用对偶四元数Bezier矢量函数进行光顺处理。给出的算例表明,本文提出的算法可以获得满足拟合精度且达到G1或G1以上连续的等距双NURBS曲线刀路,消除进给速度的方向突变,改善各轴伺服跟随性能,减轻机床冲击,从而适应五轴联动高速加工的需求。

摘要:针对采用等距NURBS描述的五轴联动刀路给出了一种光顺方法,对不满足拟合精度的断点采用对偶四元数Bezier矢量函数进行光顺处理,确保刀具路径满足拟合精度的同时实现G1或G1以上连续,以消除进给速度的方向突变,改善各轴伺服跟随性能,减轻机床冲击,从而适应五轴联动高速加工的需求。

关键词:五轴联动,高速加工,路径光顺,非均匀有理B样条

参考文献

[1]冯景春,李宇昊,王宇晗,等.面向刀尖点速度平滑的五轴联动插补算法[J].上海交通大学学报,2009,43(12):1973-1977.Feng Jingchun,Li Yuhao,Wang Yuhan.A Five-axis Interpolation Algorithm for Smooth Speed ofthe Tool Tip[J].Journal of Shanghai Jiao TongUniversity,2009,43(12):1973-1977.

[2]姚哲,冯景春,王宇晗,等.面向五轴加工的双NURBS曲线插补算法[J].上海交通大学学报,2008,42(2):235-238.Yao Zhe,Feng Jingchun,Wang Yuhan.DualNURBS Curve Interpolation Algorithm for 5-axisMachining[J].Journal of Shanghai Jiao Tong Uni-versity,2008,42(2):235-238.

[3]Mohan S,Kweon S H,Lee D M,et al.ParametricNURBS Curve Interpolators:a Review[J].Interna-tional Journal of Precision Engineering and Manu-facturing,2008,9(2):84-92.

[4]Wang Y H,Feng J C,Sun C,et al.Research onFive-axis Dual-NURBS Adaptive InterpolationAlgorithm for Flank Milling[J].Key EngineeringMaterials,2010,443(1):330-335.

[5]赵鹏,楼佩煌,刘明灯,等.五轴联动数控加工的刀具路径优化方法研究[J].中国机械工程,2012,23(2):146-150.Zhao Peng,Lou Peihuang,Liu Mingdeng,et al.Research on Tool Path Optimization Method for 5-axis CNC Machining[J].China Mechanical Engi-neering,2012,23(2):146-150.

[6]Langeron J M,Duc E,Lartigue C.A New Formatfor 5-axis Tool Path Computation Using BsplineCurves[J].CAD Computer Aided Design,2004,36(12):1219-1229.

[7]毕庆贞.面向五轴高效铣削加工的刀具可行空间GPU计算与刀具方向整体优化[D].上海:上海交通大学,2009.

NURBS曲线形状微调 篇4

非均匀有理B样条 (NURBS) 曲线成为几何设计中的重要曲线, 它不仅提供了曲线的统一数学表达式, 而且具有局部调整性, 在形状定义和设计方面有很大的灵活性。此外, NURBS曲线还拥有通用、有效的标准算法和强有力的配套技术, 使之成为计算机表示曲线曲面几何问题的标准。但是在设计当中常常遇到NURBS曲线形状调整的问题, Terzopoulos和Qin[1]曾经提出这样一个问题:调整曲线的形状, 是移动一个控制点呢, 还是改变一个权因子, 或者是移动两个权因子?Farin[2]认为可选的方法增加了, 与其说增加便利还不如说是个麻烦

NURBS曲线的形状可以通过调整控制点、权因子、节点向量和曲线的几何特性等实现。Piegl[3]提出了直接从数学定义的角度出发来修改NURBS曲线的方法, 重新计算权因子和控制点, 但是要求插入新的节点矢量。Au和Yuen[4]讨论了在权因子和控制点同时变化的情况下, NURBS曲线是如何变化的。在几何建模和图形应用当中, 有时需要修改曲线的几何特性来调整他们的形状[5,6,7,8], 如修改曲线上某一点的位置、斜率、曲率等, 但是上述方法都不能直接通过调整曲线上的任意点的几何特性达到调整整条曲线的目的。

此外, NURBS曲线形状的微调, 要求相应的控制点或者权因子的变化较小, 这对设计者来说是比较难把握的。现给出NURBS曲线形状微调, 以及直观调整权因子的方法, 更适合设计中交互的操作。

1 调整插值曲线的控制点

构造三次B样条曲线p (u) , 插值k次NURBS曲线l (u) 的控制点p0, p1, …, pm。移动插值曲线p (u) 的控制顶点, 改变曲线p (u) 的形状, 即改变NURBS曲线控制点的位置, 进而调整NURBS曲线的形状。

1.1 反算B样条插值曲线

1.1.1 确定B样条插值曲线节点矢量

构造一条三次B样条曲线p (u) 插值k次NURBS曲线l (u) 的控制点p0, p1, …, pm, 当首末数据点不重合时, 插值曲线p (u) 将有n+1个控制点dj (j=0, 1, …, n) , 其中n=m+2。节点矢量定义为U=[u0, u1, …, un+4]。取四重节点端点的固支条件及规范定义域u∈[u3, un+1]=[0, 1]。于是有u0=u1=u2=u3=0, un+1=un+2=un+3=un+4=1。对数据点qi (i=0, 1, …, m) 取规范积累旋长参数化得参数值序列ui (i=0, 1, …, m) , 相应的定义域内节点值为u3+i=ui (i=0, 1, …, m) 。

1.1.2 反算插值曲线得控制顶点

插值数据点qi (i=0, 1, …, m) 的三次B样条插值曲线方程为

求解三次B样条插值曲线未知控制顶点的线性方程组可写成如下矩阵形式

式 (2) 中

式 (2) 中m+1=n-1个方程不足以求解包含n+1个未知控制顶点的方程组, 增加边界条件如下

n+1个方程求解n+1个未知控制顶点, 从而确定三次B样条插值曲线p (u) 。

1.2 移动插值B样条曲线的控制点

当插值B样条曲线的控制点di移动距离d时, 插值曲线p (u) 变为p* (u) , 有下列关系

式 (3) 中v, d分别表示控制点di移动的单位向量和移动距离。

移动插值B样条曲线的控制顶点di, 至多影响定义在 (ui, ui+4) 区间上曲线段的形状, 该区间上包含NURBS曲线控制点pi, pi+1, …, pi+4, 其移动距离为

由此可见, 当插值B样条曲线的控制点di移动距离d时, NURBS曲线上的控制点pi, pi+1, …, pi+4移动距离小于d。

当插值曲线p (u) 为均匀B样条曲线或接近均匀B样条曲线时, B样条基在定义域内各个节点区间上都具有相同的图形, 其中任意区间上的B样条基都可由另一个节点区间上的B样条基平移得到, 因此有

这说明插值B样条曲线控制点di的移动距离与NURBS曲线的控制点pi, pi+1, …, pi+4的移动距离和基本相等, 因此方便设计者在交互方式下对NURBS曲线形状进行微调。

当NURBS曲线控制点pi沿v方向移动的时候, 对应曲线段上的点也沿v方向移动;当NURBS曲线多个控制点pi, pi+1, …, pi+4分别沿vi, vi+1, …, vi+4方向移动时, 对应曲线段上的点沿vi, vi+1, …, vi+4矢量和方向移动。

2 调整权点

调整NURBS曲线的形状, 除了修改控制点外, 还可以调整权因子。权因子对NURBS曲线的影响, 是当保持控制顶点与其他权因子不变, 减小和加大某权因子时, 起到把曲线推离和拉向相应顶点的作用, 但是权因子的调整不便于交互, 于是引入了权点。

在NURBS曲线的控制多边形的两端点pi, pi+1之间, 引入一个点qi, 按下列的比例分这两个端点

点qi称为权点, 表示权因子的相对值, 其位置可以通过下列式子得到:

给定端点pi, pi+1的权因子ωi, ωi+1, 根据式 (6) 可以得到qi;反过来, 给定权点qi也可以找到权因子ωi, ωi+1。交互地调整NURBS曲线的形状, 可通过沿di, di+1方向移动权点qi来完成。对设计者来说, 修改权点的方法比调整权因子更直接。

移动权点qi, 权值ωi+1, ωi的比值发生变化, 规定式 (5) 中分子不变, 只改变分母的值。于是, 权点qi向数据点pi方向移动, 则数据点pi+1的权值增大;反之, 权点qi向数据点pi+1方向移动, 则数据点pi+1的权值减小。权点qi移动距离p, 数据点pi+1的权值发生变化, 这也将影响另外一个权点qi+1, 权点qi+1满足下列关系:

要使数据点pi+2的权值ωi+2不变, 移动权点qi+1的位置, 它的移动距离为

式 (8) 中

权点qi向pi+1移动时, 新权值ω′i+1与ωi+1的关系如式 (9)

式 (9) 中, d表示权点qi的移动距离。当d>0时, 权点qi向数据点di+1移动;当d<0时, 权点qi向数据点pi移动。此时, 新的NURBS曲线l* (u) 为

在一个商业CAD系统中, 专门修改控制顶点或专门修改权因子都不易得到满意的结果, 两者的结合使用将容易地且满意地设计出所需要的形状。

3 实例

下面以三次NURBS曲线为例, 分别采用修改插值B样条曲线的控制点、NURBS曲线的权点来修改NURBS曲线形状, 其中阴影部分表示NURBS曲线前后变化区域。

图1中移动插值B样条曲线的控制点, NURBS曲线l (u) 上的控制点p1, p2沿控制点移动方向移动, 且B样条曲线的控制点p1′的移动距离大于控制点p1, p2的移动距离。

图2中NURBS曲线的权点q2向控制点p2移动时, 控制点p2的权因子ω2增大, 为避免权因子变化的传递, 权点q3也向控制点p2方向移动。此时, NURBS曲线l (u) 上的数据点都沿制点p2方向移动。

通过上述例子可以看到, 修改插值曲线控制点和NURBS权点的方法对NURBS曲线形状的修改不同。修改插值曲线的一个控制点, 影响NURBS曲线的若干控制点, 而调整NURBS曲线的权点, 只影响NURBS曲线的一个控制点。

4 结论

通过修改插值NURBS曲线控制点的B样条曲线的控制点来调整NURBS曲线的形状, 放大了控制点的移动距离, 适合设计中的形状微调。此外, 引入权点的概念, 将NURBS曲线的权因子修改转化为对权点的修改, 使得设计中的交互更方便, 并在实践中得到较好的效果。

参考文献

[1] Terzopoulos D, Qin H.Dynamic NURBS with geometric constraints for interactive sculpting.ACM Trans on Graphics, 1994;2:103—136

[2]Farin G.From conics to NURBS:a tutorial and survey.IEEE Comput-er Graphics and Applications, 1992;1:78—86

[3] Piegl L.Modifying the shape of rational B-Splines.Computer-aided Design, 1989;21: 509—518

[4] Au C, Yuen M.Feature-based reverse engineering of mannequin for garment design.Computer-aided Design, 1995;31:751—759

[5]Boehm W, Farin G, Kahmann J.Asurvey of curve and surface meth-ods in CAGD.Computer Aided Geometric Design, 1984;1:1—60

[6] Zhang Guohua, Yang Xingqiang, Zhang Caiming.Weight-based shape modification of NURBS curve.Journal of Computer-aided Design and Computer Graphics, 2004;16: 1396—1400

[7] Sun Liqun, Zhang Caiming, Liu Ning.Adjusting shape of NURBS curve by cross product of tangent vector.Journal of Computer-aided Design and Computer Graphics, 2003;15:527—531

NURBS方法 篇5

在逆向工程中,自由曲面重构是零件三维CAD模型重建中的核心技术环节。目前相对具有代表性的自由曲面重构技术,主要是以三角网格面为基础的近似曲面重构和以样条曲面为基础的自由曲面重构两种方案。三角网格面的研究相对较早,其技术和方法已经相对比较成熟,并取得了一些比较成熟的研究成果。但是三角网格面在光顺性以及与CAD/CAM系统在模型表示方法的统一上存在缺陷。

由于非均匀有理B样条(NURBS)曲面本身所具有的良好光顺性、局部可编辑和标准的数学表达形式等优点,引起了在逆向工程领域研究中学者们的重视[1]。尤其是近几年来,研究人员在采用NURBS进行曲面重构方面进行了许多研究和实验,也取得了大量的NURBS曲面拟合方法和结果。而在对各种方法的优劣和拟合结果的评价过程中,如果仅靠视觉直观等简单的手段显然是不科学的,必须给出一种定量的计算方法对NURBS曲面拟合的精度作出客观和准确的评测。

本文在采用NURBS对散乱点云进行自由曲面重构的基础上,设计了一种区域划分搜索迭代的拟合精度评测算法,通过此算法可以较快速地求解出每一个原始数据点到NURBS曲面的误差,并以最终的统计结果反映拟合的精度。该方法有效地避免了求解高次方程计算费时,而且容易导致计算发散等问题。

1NURBS曲面拟合过程

1.1B样条及NURBS的基本概念[1,2]

B样条方法是继Bezier方法之后,由美国通用汽车公司的Gordon等人出于外形设计的需求,于1974年提出。该方法克服了Bezier曲线曲面不能作局部修改、曲线阶次受控制顶点个数决定等缺点,同时继承了Bezier方法的一切优点。B样条曲面的定义如式(1)所示:

undefined (1)

其中,顶点Pi,j为控制顶点,k、l为B样条曲线的次数。Bi,k(u)和Bj,l(v)分别为k和l次B样条基函数。NURBS在B样条基础上加入了权因子,使其不仅能表示自由曲线曲面形状,而且能精确表示圆锥曲线、二次曲面等规则曲线曲面。同时NURBS设置节点矢量两端重复度为曲线次数加1,解决了型值点分布不均匀时,用均匀B样条曲线插值求得的曲线两端产生拐点的问题。

1.2基于NURBS的散乱点云曲面重构

本文针对散乱点云数据,在上述基本定义的基础上,采用NURBS曲线插值的方式进行自由曲面重构。该过程主要有两个阶段:第一阶段,通过对型值点的一次插值计算得到单条NURBS曲线,由交互方式经过多次选取数据点和插值计算,得到多条NURBS曲线。第二阶段,由选定的多条NURBS曲线进一步拟合生成NURBS曲面[3,4],处理流程如图1所示。

本文方法采用了修正弦长参数化的方法计算并确定节点矢量,同时根据已有型值点和计算得到的对应节点矢量,代入NURBS曲线的定义公式,通过求解方程组得到控制顶点。

在统一节点矢量的过程中,本文方法采用基于二分插值的节点统一方案,尽可能地保留了曲线的细节部分[5]。在样条次数为3次的条件下,本文通过实验得到了如图2和图3的拟合结果,其中(a)、(b)分别为拟合生成的NURBS曲面网格和打开光照的效果。

2拟合曲面的精度评测

2.1模型精度评价

逆向工程中,精度反映着逆向模型和实物以及模型和产品差距的大小,其评价指标分为量化指标和非量化指标[6]。非量化指标主要用于曲面模型表面光顺性等结果的评价,通过光照效果、法矢和主曲率,并结合人的感官进行评价。量化指标则以定量和准确的数值计算结果来反映模型与实物的实际偏差程度,具体可通过实物上的原始点到模型表面的偏差距离来表示。曲面拟合的精度对模型重构过程中的误差控制和曲面重构方法的选择与改进有着重要指导意义,因此有必要研究出一种实用、有效的精度评测方法。

2.2传统计算方法

对于量化指标的计算,传统的方法是通过求解非线性方程组获得实物点到拟合结果曲面间的距离。该方法的基本原理是曲面外一点Q和曲面上最近的点P(u,v)的距离矢量undefined与曲面在P(u,v)的法矢方向相同,如图4所示。这样将点到曲面的最短距离的计算转换为计算点在参数曲面r(u,v)上的投影,投影方向为曲面的法矢。用方程表示如(2)式。

undefined (2)

其中R为点Q到曲面r(u,v)的最短距离,undefined为参数曲面的偏导数。对于复杂曲面,式(2)所示的方程是一个高次非线性方程,通常采用Newton-Rephson迭代法进行求解。该方法的缺陷是对初值要求严格,选取不当会导致计算发散,同时Newton-Rephson法比较费时,在实践中不是理想的方法。

在实际处理过程中,为了避免求解非线性方程组,常采用几何分割法将曲面离散成一系列平面片组成的多面体,然后计算点到各个平面片的距离,取其中最小值为要求的最短距离。该方法的计算精度与曲面片的离散程度成正比,但如果要得到较高的精度,就必须提高曲面片的离散精度,但计算速度也随之下降。虽然到目前为止,在计算点到Bezier曲面的最短距离方面有一些研究成果,但针对NURBS曲面的拟合精度方面仍然缺乏十分行之有效的计算方法[7]。

2.3基于区域划分的搜索迭代算法

上述通过求解方程组的传统方法中的关键处理环节是求得点在曲面上的空间距离最近的点。从整张曲面上搜索最近的点可以避免直接求解方程组,但又会带来计算时间过长的弊端。本文所研究方法是根据NURBS曲面网格和曲面节点矢量的对应关系,将空间点对应到曲面上的每一个曲面网格,并在曲面网格内按设定的步长迭代搜索离空间点最近的点,这种方法避免了对最近点的基于全局策略的盲目搜索。最后统计出所有空间点到NURBS曲面的最长、最短和平均距离,完成对NURBS曲面拟合精度的量化评测。

在上述算法基本思想下,基于区域划分的搜索迭代算法步骤如下:

Step1 从原始点云数据中读入所有点到链表Points中,并给每一个节点添加三个属性,横向节点矢量编号uNum,纵向节点矢量编号vNum,到曲面的最短距离minDis。

Step2 假设生成的NURBS曲面为S(u,v),横向和纵向节点向量数组分别为U[uControlNum+k+1],V[vControlNum+l+1],其中uControlNum,vControlNum分别为S在横向和纵向的控制顶点个数,k、l为NURBS曲线的次数。实验中采用3次NURBS曲线,故这里k=l=3。

Step3 从Points中依次取出一个点P,初始化其P.uNum=uControlNum,P.vNum=vControlNum。设置循环变量i=k~uControlNum,j=1~vControlNum。不从0开始的目的是为去除节点向量数组中的端点重复值。

Step4 循环比较P的横向坐标值(若横向为x方向,则为P.x;若为y方向,则为P.y)和S(U[i],0)的大小,若小于S(U[i],0),则使P.uNum=i,结束本次循环。

Step5 循环比较P的纵向坐标值和S(U[P.uNum],V[j])的大小,若大于S(U[P.uNum],V[j],则使P.vNum=j,结束本次循环。跳转到Step3继续执行,直至Points中所有的点都完成区域划分。

Step6 从完成区域划分的Points中依次取出一个点P,在u=U[P.uNum-1]~U[P.uNum],v=V[P.vNum-1]~V[P.vNum]区域内迭代搜索曲面S离P最近的点,搜索的步长取du=(U[P.uNum]-U[P.uNum-1])/M,dv=(V[P.vNum]-V[P.vNum-1])/N。显然,搜索的次数为M×N。

Step7 完成点P的搜索后,记下P到曲面S最近点的距离作为P到S的最短距离,保存到P的属性minDis。跳转到Step6继续执行,直至所有的点P都完成迭代搜索。

Step8 最后计算得到所有点中到曲面距离的最大值、最小值和平均值。

该算法处理步骤中,在对点云数据中每个点的区域划分过程中,时间复杂度为O(uControlNum×vControlNum),且容易分析出是由NURBS曲面的控制顶点个数决定。在迭代搜索每个点到曲面上最近点的过程中,时间复杂度是O(M×N)。搜索的精确程度与M和N的取值大小有关,M、N取值越大,搜索越精细,搜索得到与最近点距离越能代表空点和NURBS曲面的最短距离。但随着M、N取值的增大,算法的计算时间也会随抛物线级增长,影响算法执行的效率。故需要在尽可能精确的条件下给M、N设定一个合适的值。

3实验结果

作者以本文第2节中所述及的“管状”零件模型和人脸模型为例,采用本文算法对其经重构生成的NURBS曲面进行拟合精度计算。实验的硬件环境为P4 3.0GHZ CPU,512MB 内存,编程环境为Visual C++ 6.0,图形开发环境为OpenGL。

经过多次测试和试验,在实验中取M和N的值为10,表1给出了采用本文算法计算得到的NURBS曲面拟合结果的量化精度计算结果。为了使数值结果具有可参照性,表1中同时给出了模型平均宽度和高度。

为了验证表1中评测结果是否真实反映NURBS曲面拟合精度,作者采用本文NURBS方法对标准球体模型进行曲面拟合,对拟合得到的曲面采样获取一定数量曲面上的点,计算这些点到球心的距离与半径之间的偏差,计算结果如表2所示。表2中各偏差相对于半径的百分比与表1中各偏差分量相对于模型宽度和高度的百分比接近,从而间接证明表1中评测结果是NURBS曲面拟合偏差的真实体现,也证明了本文算法的正确性。

4结语

本文针对散乱点云数据采用NURBS进行了自由曲面重构,得到了良好的拟合效果。在此基础上设计了一种基于区域划分的搜索迭代算法,该算法为NURBS曲面拟合精度分析过程提供了一种量化的计算方法。实验结果验证了该算法在时间能够被接受的前提下得到了当前曲面与原始模型的偏差,同时也证明了该算法的可行性和正确性。

参考文献

[1]张曦煌,杜俊利.计算机图形学[M].北京:邮电大学出版社,2006.

[2]Donald Hearn,M Pauline Baker.计算机图形学[M].蔡士杰,等译.北京:电子工业出版社,2005.

[3]慈瑞梅,李东波.逆向工程中NURBS曲面重构技术研究[J].南京理工大学学报,2004,28(4):391-394.

[4]王田苗,曹宇男,陈友东,等.基于de Boor算法的NURBS曲线插补和自适应速度控制研究[J].中国机械工程,2007,18(21):2608-2613.

[5]林致浩,姜晓峰.逆向工程中曲面重构技术的研究与实现[D].苏州大学,2006.

[6]金涛,童水光,等.逆向工程技术[M].北京:机械工业出版社,2003.

NURBS方法 篇6

1 点云数据的采集与预处理

通常把三维空间内点的集合称为点云, 点云的数据个数从几百、几千到几万个不等, 排列方式也有散乱点云、扫描线点云、网格化点云等。不同数据采集装备所产生的点云是不同的, 所采用的处理方法也是不同的。

1.1 数据采集与精简

反求工程采用的测量方法主要有两种:一是传统的接触测量法, 二是无接触测量法[2]。本文的数据采集装置是激光扫描仪, 通过规划路径, 可以获得一系列点的Z坐标值, 进而进行后续的点云数据处理与对比分析。采用均匀网格法可以减少数据量, 其原理是:首先把所得的数据点进行均匀网格划分 (通常由用户指定) , 然后从每个网络中提取点根据Z值排序, 如果某个点位于各个点中间, 那么这个点被选中保留, 其他点滤除[3]。

1.2 数据平滑

经过数据精简的点云数据若直接进行曲面重建, 可能出现局部曲率过大的情况, 容易增加后期曲面重建时运算负担, 所以要进行平滑处理。高斯滤波法以高斯滤波器在指定域内的权重为高斯分布 (正态分布) , 其平均效果较小, 在数据平滑的同时, 能较好地保持原数据形貌, 因而常被使用。高斯滤波算法按式 (1) 计算。

式中pi-3~pi+3--连续相邻7个点的坐标值 (mm×mm×mm) 。

1.3 边缘识别与分割

采集装置采集得到的点云数据不仅包括被测零件点云数据, 还包括零件周围台面及台面上其他物体的点云数据。必须进行边缘识别与分割, 将被测零件从台面中区分出来。被测零件与台面间的边界主要属于褶皱边界 (切矢不连续) , 可以通过检查曲率半径的方式来判定是否为边界点。

2基于NURBS技术的曲面重建

NURBS曲面可采用有理分式方法表示为:

这里控制定点di, j (i=0, 1, ……, m;j=0, 1, ……, n) 呈拓扑矩形阵列, 形成一个控制网格。ωi, j是与定点di, j联系的权因子, 规定四角顶点处用正权因子, 即ω0, 0、ωm, 0、ω0, n、ωm, n>0, 其余ωi, j≥0且顺序k×l个权因子不同时为0。Ni, k (u) (i=0, 1, ……, m) 和Nj, l (v) (j=0, 1, ……, n) 分别为u向k次和v向l次的规范B样条基。它们分别由u向和v向德节点矢量U=[u0, u1, ……, um+j+1]与V=[u0, u1, ……un+l+1]按德布尔递推公式决定。控制网格的生成是重建NURBS曲面十分重要的一步。在生成m×n的控制网格时, 由于点云数据在沿x方向上的密度远大于沿y方向上的密度, 因而令n等于扫描路径的数目。沿x方向上控制点数m由用户设定, 按式 (3) 计算跨距S:

在x方向上每隔跨距S取一点的坐标值作为控制点的坐标, 从而生成m×n的均匀矩形控制网格。要确定一个NURBS曲面的形状, 不光要知道控制点信息, 还要知道节点向量和权值。为使NURBS曲面边界与点云数据边界具有更高的重合度, k阶NURBS曲面节点向量的前k+1个参数为0, 最后k+1个参数为1。由于点云数据基本均匀分布, 权值可以都设为1。在确定控制点网格、节点向量和权值后, 就可以通过插值生成NURBS曲面。

3 算法实现

采用上述方法, 对如图1所示的点云进行了曲面重建实验, 边缘分割结果和曲面重建结果分别如图2和图3所示。在数据平滑过程中, 如果一次平滑的效果不理想, 可以进行多次数据平滑。对于一个m×n的控制网格, m由扫描路径条数决定, 在参数输入区输入n的值, 就能根据这个m×n的控制网格分段NURBS曲面, n值的大小决定了重建曲面的精度。从实验结果可以看出, 本文算法成功地实现了数据的预处理、分割以及NURBS曲面重建。

4 结语

在点云数据曲面重建过程中, 原始点云数据不能直接用来重建曲面, 需要通过数据精简、数据平滑、边缘识别与分割才能生成适于重建曲面的点云数据。从该点云数据中选取适当点作为NURBS曲面的控制点, 并赋予适当的权值和节点向量, 就能生成NURBS曲面。

摘要:在反求工程中, 点云数据的曲面重建质量直接关系到结果的精确性和实用性。本文基于N U R B S技术对点云数据的曲面重建过程进行了研究, 建立了点云数据预处理和曲面重建的算法, 通过实验验证了文中算法的正确性。

关键词:曲面重建,NURBS,点云,反求工程

参考文献

[1]WEIYIN MA, PEIREN HE.B-spline surface local updating with unorganized points[J].Computer-Aided Design, 1998, (11) :853-862.

[2]苏海.反求工程在工业设计中的应用研究[D].昆明:昆明理工大学, 2000.

NURBS方法 篇7

随着硬件平台的不断改善以及曲线曲面造型理论的发展, CNC系统处理参数样条曲线的能力受到研究者的重视。国外著名厂商如日本FANUC公司已将非均匀有理B样条 (NURBS) 插补功能集成于其产品中, 日本Mitsubishi、德国SIEMENS已经开发出了带此项功能的CNC系统。Piegl等[1]解释了NURBS应用的一些理论性问题, 为NURBS技术发展和应用奠定了基础。此后, 相关研究论文不断涌现:Yang等[2]最早利用一阶和二阶泰勒展开计算参数曲线进给量, Yeh等[3]给出了依据曲线曲率来动态改变速度进给的理论依据;彭芳瑜等[4]将速度前瞻控制技术引入参数曲线插补理论中, Guo等[5]研究了机床动力学特性及自适应插补策略, 李建刚等[6]提出了在线速度修正的NURBS曲线插补器结构, 赵国勇等[7]研究了加速度和弓高误差约束条件下的NURBS曲线插补问题。

针对NURBS曲线、曲面在数控领域中的应用, 相关研究包括如何减少数值计算复杂度、结合反馈控制策略提高加工精度、结合机械动力学约束条件提高运动平滑度等, 这些工作在上述文献中已得到较为充分的挖掘, 而对于NURBS曲线这一类较特殊的曲线在CNC系统内部采用何种方式去逼近以获得较为满意的控制效果, 相关文献论述不多。另外, 由于参数样条曲线本身构造的局限性, 即其数值计算存在截断误差, 这一特性直接导致其切线方向计算的不稳定性, 由此带来了速度波动性问题, 相关学者提出了具有数值反馈特性的自适应插补概念[8], 本文将对这一问题进行探讨并展开实验研究。

1 NURBS曲线应用数学理论基础

依据文献[1], 一条k次NURBS曲线可表示为一分段有理多项式函数:

C (u) =i=0nωiΡiΝi, k (u) i=0nωiΝi, k (u) =i=0nRi, k (u) Ρi (1)

Ri, k (u) =ωiΝi, k (u) i=0nωiΝi, k (u)

式中, u为参变量, u∈[0, 1];Ri, k (u) 为该NURBS曲线的有理基底函数;Pi为控制点;ωi为控制点Pi的权因子;Ni, k (u) 为k次规范B样条基函数。

NURBS曲线插补需要计算相应参数曲线导数, 如C (1) (u) 、C (2) (u) 等, 需要对每个控制节点的基底函数Ri, k (u) 进行求导, 相应一阶、二阶求导公式如下:

Rik (1) (u) =ωiΝi, k (1) (u) i=0nωiΝi, k (u) -ωiΝi, k (u) i=0nωiΝi, k (1) (u) [i=0nωiΝi, k (u) ]2 (2)

Ri, k (2) (u) =ωiΝi, k (2) (u) i=0nωiΝi, k (u) -2ωiΝi, k (1) (u) i=0nωiΝi, k (1) (u) +ωiΝi, k (u) i=0nωiΝi, k (2) (u) [i=0nωiΝi, k (u) ]2+2ωiΝi, k (u) [i=0nωiΝi, k (1) (u) ]2[i=0nωiΝi, k (u) ]3 (3)

由式 (2) 、式 (3) 知, 进行NURBS曲线计算需要进行大量数据运算工作, 其算法效率极大影响着CNC系统工作的有效性。

2 双圆弧算法

对现代CNC系统配备高次曲线插补功能是目前的研究热点, 各种曲线计算方法层出不穷, 其中双圆弧形式数值计算方法开始进入相关研究人员的视野。Piegl等[9]给出了双圆弧 (biarc) 应用于曲线逼近的若干重要特征。以此为理论基础, 本文给出其具体分析过程。

双圆弧由两个光滑连接的圆弧构成, 用来逼近已知起点和终点的曲线段。具体描述如下:给定某曲线段的起点Ps和终点Pe, 并且相应知道起点和终点单位切向量Ts和Te, 则双圆弧逼近问题需要满足以下三条规律:①该双圆弧通过该段曲线起点Ps和终点Pe;②在起点Ps具有和该曲线相同的切向量Ts, 终点处具有相同的切向量Te;③构成双圆弧的两个子圆弧以G1型光滑连接。

由于双圆弧具有以上特点, 因而具备描述曲线段一阶切向量的性质, 相对于传统上的直线段和单圆弧法能够容纳被描述曲线段的更多物理信息。应用此理论于数控系统加工中, 可以获得更为平坦而光滑的加工轨迹, 理论上可以保证轨迹曲线段斜率连续, 也可以用较少的圆弧来逼近原先设计的曲线, 减轻了数据传输负担。

根据Piegl等的定义给出双圆弧应用曲线逼近一般理论推导过程:一个双圆弧完整的约束条件只需要相应的5个控制点即可, 如图1中的Ps、P1、P2、P3、Pe。

不失一般性, 我们由相应的定义可以给出未知的三个控制点计算公式:

P1=Ps+αTs (4)

P3=Pe-βTe (5)

Ρ2=βα+βΡ1+αα+βΡ3 (6)

式中, αβ均为正数。

取中间变量v=Ps-Pe, 整理式 (6) 可得

v·v+2v· (αTs+βTe) +2α β (TTe-1) =0

上式中未知变量为αβ, 令r=α/β, 则有

v·v+2βv· (rTs+Te) +2r β2 (TTe-1) =0 (7)

相当多的研究文献集中于r值的分析, 我们取r=1, 大大简化了数值计算工作量, 其相应的曲线描述效果也经过了实验检测。为将上述双圆弧曲线逼近理论应用于NURBS插补过程中, 这里给出具体实现算法步骤。

NURBS参数曲线插补问题一般可表述为如下形式:

假设某一个三维空间曲线可表示为

C (u) =Cx (u) i+Cy (u) j+Cz (u) k (8)

设当前曲线路径坐标为

C (uk) =Cx (uk) i+Cy (uk) j+Cz (uk) k (9)

则下一个插补周期相应轨迹坐标为

C (uk+1) =Cx (uk+1) i+Cy (uk+1) j+Cz (uk+1) k (10)

通过不断地进行uk+1=uku的迭代运算, 从而获得完整的曲线路径坐标。获得了曲线路径坐标只是完成了插补工作的第一部分即粗插补部分, 接下来利用双圆弧实现对前一段粗插即C (uk) 和C (uk+1) 之间数据的密化, 亦即完成精插补。利用双圆弧实现精插的基本原理是:利用已知的计算得到的NURBS曲线上的点C (uk) 和C (uk+1) 作为双圆弧的起始坐标和终点坐标, 即为式 (4) 、式 (5) 中的Ps和Pe, 而利用式 (7) 获得关键中间点P2, 则曲线分布构成为PsP2和P2Pe两部分曲线, 相应地用两段圆弧去逼近原始曲线, 这就是双圆弧算法的核心意义所在。

除了两端点坐标约束之外, 算法还引入端点的切线向量作为额外的几何信息, 为简化计算, 这里起点和终点切线方向向量可由NURBS曲线特定控制顶点以给定参数形式确定。由端点坐标Ps、Pe和切线向量Ts、Te获得曲线的切向圆弧来逼近原始曲线, 进而完成曲线精插补。基于双圆弧的NURBS曲线插补流程如图2所示。

3 NURBS曲线插补速度波动问题理论分析与算法验证

3.1 理论分析

传统上利用NURBS曲线插补技术产生曲线的一般方法是:利用参数值uk+1=uku来进行迭代进而完成粗插补运算。通常, 在粗插补运算过程中, 参数曲线插补器常用的结构包括等参数插补、等速度插补、具备速度规划特征的插补三种方式。Bedi等[10]最早提出均匀增加参数值的方式, 即Δu为一常数。该方法形式简单, 便于实现, 由于参数域空间与笛卡儿空间的不一致性, 参数的等间隔距离选取并不能保证曲线位置也等间隔分布。所以参数域内的等间隔造成了相邻插补区域之间的插补距离不等, 造成进给速度的严重波动。

文献[11]较早提出利用泰勒展开关系式来获得较为精准的ukuk+1之间的关系。由曲线定义可知, 任意时刻曲线速度为

v (t) =|dC (u) dt|=dsdt=dsdududt (11)

式中, s为位移。

相应地, 参数ut的微分可表示为

dudt=v (t) ds/du (12)

dsdu= (x) 2+ (y) + (z) 2 (13)

式中, x′、y′、z′均为相对u之微分。

合并式 (12) 和式 (13) 则可以得到

dudt=v (t) (x) 2+ (y) + (z) 2 (14)

直接解出式 (14) 较为困难而且计算量很大, 这里利用差分近似的方式给出离散形式解:

uk+1=uk+Τdukdt+ (Τ2/2) d2ukdt2+ (Τ3/6) d3ukdt3+ (15)

式中, T为插补周期。

为减小计算量, 可以采用一阶或者二阶泰勒展开近似。由第2节定义, 一阶和二阶泰勒展开分别为

uk+1=uk+Τv (tk) (x) 2+ (y) + (z) 2 (16)

uk+1=uk+Τv (tk) (xk) 2+ (yk) + (zk) 2- (v (tk) Τ) 2 (xkxk+ykyk+zkzk) 2[ (x) 2+ (y) 2+ (z) 2]2 (17)

一般来说, 进行到二阶泰勒展开已可满足大多数工程应用, 此时高阶项的影响已可忽略不计。另外也可看到, 为了获得参数值的二阶泰勒展开, 需要进行大量的数据运算, 包括求取一阶和二阶导数, 这给相关应用带来了很大困难, 迫使在具体使用时往往需要在精度和速度之间作出平衡。

在研究上述传统数值计算方法的同时, 本文拟结合控制思想, 研究一种基于数值反馈特性的自适应插补的思想和策略, 即利用学习迭代的思想, 对每一个uk+1进行n次学习迭代u (n) k+1, 给予一定的收敛条件判断, 当|u (n) k+1-u (n-1) k+1|<ε时, 结束迭代, 从而得到需要求得的参数值uk+1, 并且可以证明, 这种方法获得的收敛值是唯一的。该算法思想如下:直接采用式 (17) 生成参数u显然可以带来较为理想的精度, 然而将带来沉重的计算负荷。为简化计算, 我们引入差分算子来代替相应的一阶和二阶微分算子, 由文献[8]可得

uk=3uk-4uk-1+uk-22Τ (18)

uk=uk-2uk-1+uk-2Τ2 (19)

代入式 (17) 得

uk+1=3uk-3uk-1+uk-2k≥2 (20)

这种以差分代替微分的离散化表达方式显然大大利于简化数值计算, 但也引起了较大的截断误差。为此, 本文采用了先采用离散差分简化计算, 进而利用学习迭代运算来控制误差幅度的自适应插补策略。相应的学习迭代运算过程表述如下:

u (n) k+1=-α (uk-3u (n-1k+1) +ukn≥1 (21)

α=vk*-β (vk*-vk (n-1) ) +vk*

vk (n-1) =Ρ (uk+1 (n-1) ) -Ρ (uk) Τ (22)

式中, uk为参数变量utk时刻的值;u (n) k+1为参数变量utk+1时刻经过n次迭代运算后的值;β为0至1之间的一个常数;v*k为命令指定速度;vk (n-1) 为经过n-1次迭代后所计算的当前速度。

相应的学习迭代终止条件为

|vk*-vk (n-1) vk*|ε (23)

3.2 算法分析与实际验证

对于NURBS一类复杂曲线造型问题, 在完成参变量uk求取 (即粗插) 之后, 采用何种方法来完成精插工作才是系统的关键所在。对于此问题的研究, 直线和圆弧是工程上常用的两种基本逼近手段, 在大多数文献中已有较全面的论述。基于不同应用考虑, 有的研究者从曲线整体光滑性角度研究NURBS曲线逼近[12], 也有学者从曲线特征提取的角度研究样条曲线逼近[13]。20世纪90年代以来, 由于双圆弧的一些几何上的优异特征, 相关学者相继引入双圆弧来表征一些复杂形状的曲线, 如对平面抛物线的逼近[14]、对任意空间点序列的逼近[15]。但大多数研究仅仅停留在理论分析的层面上, 具体应用于实际工程的案例极少。

考虑到上述因素, 算法验证与实验实施环节主要就以下几个问题展开说明:首先研究所论及的插补算法应用于实际系统的可行性, 基于双圆弧逼近的曲线插补方式, 给出具体曲线造型分析说明, 给出原始生成的G代码, 并给出曲线实际轨迹加工结果;然后, 对所讨论的速度波动抑制的若干策略给出较为详尽的分析, 分析各种算法优劣, 同时也进行实际系统加工测试。

3.2.1 NURBS曲线插补可行性测试

可行性测试实验采用大多数研究者经常采用的不规则复杂图形双翼蝴蝶作为系统验证的实验对象, 采用常见的CAM软件如RhinoScript或ProE等辅助设计软件获得被测图形的G代码描述 (图3) 。图3中, P代表权重, XY为控制节点, KNOT由程序自动求出。上述几段G代码分别描述了双翼蝴蝶的两翼、触须及各连接部分。

为了进一步验证算法的可行性, 本文在自行开发的基于RTLinux的先进数控平台上进行了系统整合和实际加工实验。系统采用基于PC平台的开放式数控系统平台[16]、实时操作系统, 机械本体采用自行开发的三维立式微型铣床 (图4) , 控制接口采用自制的PC104运动控制卡。采用铅笔来记录数控系统的运行轨迹。相应软件仿真和实验运行结果分别如图5、图6所示。

3.2.2 速度波动抑制算法实际应用

如上所述, 由于参数曲线构造本身存在一定的缺陷性, 即由于参数域空间与笛卡儿空间的不一致性, 参数的等间隔距离选取并不能保证曲线位置也等间隔分布, 从而造成进给速度的严重波动。目前的解决方法大多是采用适当的数值修正算法来抑制或减小这种误差。本文就上述一阶泰勒展开、二阶泰勒展开和具有数值反馈特性的自适应插补策略三种数值修正算法给出具体分析和相应的实验结果。

测试对象为二阶NURBS曲线造型“Ω”, 其相应控制参数如表1所示, 相应的曲线形状和实际加工轨迹如图7、图8所示。

采用3.1节算法, 分别采用一阶泰勒展开、二阶泰勒展开、自适应插补等几种方法考察实际系统运行中速度波动情况。相应运行参数为:插补周期2ms, 运行速度10mm/s。相应系统曲线造型预览和速度波动情况如图7和图9所示。从图9可以看出, 二阶泰勒展开、自适应插补展开均比一阶泰勒展开有很大改善, 相对速度误差 (相对速度误差为给定速度减去实际速度然后再除以给定速度) 从一阶泰勒展开的最大2%减小到自适应插补模式下的0.05%。当然, 实际系统设计还要考虑算法的收敛性和运算效率, 这里不再赘述。

4 结语

复杂曲线构成机理一直是目前CAD/CAM领域研究的热点。本文利用双圆弧数值处理算法来逼近NURBS曲线, 并对原有算法进行了简化和改进, 取得了较为满意的运算效果。同时进行了相关实验和数值仿真, 理论和实验都证明本文所提算法的可行性, 研究成果已在实验室应用成功, 可望进一步推广和应用。

摘要:复杂运动轨迹尤其是非均匀有理B样条 (NURBS) 曲线插补技术, 一直是高性能数控系统研究领域的热点。从样条曲线构造机理出发, 分析了双圆弧逼近曲线基本原则, 提出了一种构建NURBS曲线插补的技术方案。分析了NURBS曲线数学理论基础、双圆弧基本数值算法、参数曲线插补速度波动抑制若干策略。验证实验证明了该技术方案的可行性。

上一篇:本科毕业生论文下一篇:初中信息技术教学德育