三次曲线

2024-08-01

三次曲线(共6篇)

三次曲线 篇1

摘要:三次Bezier曲线是常用的一种曲线, 本文在讨论其传统生成算法的基础上, 又进行了进一步的改进, 使其生成速度大大提高。

关键词:Bezier曲线,控制顶点,矢量

曲线是计算机图形学的重要内容, 它是描述物体的外型, 建立所画对象的数学模型的有力工具[1]。Bezier曲线因具有良好的几何性质, 能简洁、完美地描述和表达自由曲线曲面, 是最常用的曲线之一。

在利用Bezier曲线造型时, 如果阶次太高, 固然能表示复杂的造型, 但易造成计算复杂度增加, 控制顶点增多, 形状不易控制。而二次Bezier曲线表示能力有限, 又是平面曲线, 所以最常用的就是三次Bezier曲线。本文讨论了三次Bezier曲线传统递推算法实现, 又提出了一种新的递推算法实现, 使其绘制速度和绘制效果大大提高。

1 Bezier曲线的描述

定义:给定空间n+1个点的位置矢量Pi (i=0, 1, 2, …, n) , 则Bezier参数曲线上各点坐标的插值公式是:

其中, Pi构成该Bezier曲线的特征多边形, 是n次Bernstein基函数:

2 Bezier曲线的分割定理

Bezier曲线P (t) , 经中间某点分割而得到的两条曲线分别为Q和R, 这两段曲线同样是Bezier曲线, 它们的控制定点由de Casteljau算法产生, 即:P=Q+R

3 三次Bezier曲线的生成算法

曲线Q曲线P和曲线P (t) 相比, 显然其控制顶点离曲线更近, 那么, 再次把曲线Q分割, 分割后得到的曲线的控制定点和曲线将距离更近。依此类推, 如果不停的分割, 将会得到一系列分割后的Bezier曲线和其控制顶点, 当控制定点和曲线的距离小于指定的很小正数ε, 就可以用这些控制顶点的连线所组成的折线近似代替曲线。为方便计算, 设分割的比例系数t=1/2。另外, 还应注意一种特殊情况, 如图2所示, 当控制顶点所组成的控制多边形中相邻两边的夹角θ为锐角时, 控制多边形与Bezier曲线外形有较大的差距, 此时控制顶点的连线不宜作为Bezier曲线的近似曲线, 因而需直接进行下一步的曲线分割。

因此有以下两种情况:

(1) 当 时, 据下述3.1或3.2的方法进行处理。

(2) 当 时, 直接进行曲线分割分割。

3.1 传统递推算法实现。

如图3所示, d1'和d2'表示控制顶点到曲线的距离, 当max (d1', d2') 小于指定的很小正数ε, 即可以用这些控制顶点的连线所组成的折线近似代替曲线, 而不再对曲线进行再次分割。直接计算控制顶点P1P2到Bézier曲线P (t) 的距离很麻烦, 但是由Bézier曲线的凸包性可知,

d1和d2表示点Pi到线段P0P3的距离, 计算点到直线的距离要相对容易, 故在一定的误差范围内, 可用右端代替左端。

当d1和d2中最大值小于ε时, 就可以用控制顶点的连线代替曲线段。

3.2 新递推算法实现。

4所示, 图中阴影部分面积为A1、A2, 当max (A1、A2) 小于指定的很小正数ε, 即可以用这些控制顶点的连线所组成的折线近似代替曲线, 而不再对曲线进行再次分割。

阴影部分面积A1, A2如下:

如图5所示, 当满足条件曲线分割时A1, i、A2, i分别为

结束语

综上所述, 绘制三次Bezier曲线如果用传统递推算法实现需要两次用到矢量叉乘计算点到直线的距离, 而如果采用新的递推算法实现, 除了第一次计算A1、A2的面积需用矢量叉乘之外, A1, i+1只需用上一次的计算结果A1, i即可求得, 计算量降低了一半, 算法效率提高显著。经实验验证, 绘制出的曲线效果良好。

参考文献

[1]杜华.Bezier曲线算法研究与实现[J].考试周刊, 2010, 12:159-160.

[2]倪明田, 吴良芝.计算机图形学) [M].北京:北京大学出版社, 1999:218-221.

[3]孙家广.计算机图形学 (第三版) [M].北京:清华大学出版社, 1998:306-307.

[4]罗振东, 廖光裕.计算机图形学[M].上海:复旦大学出版社, 1993:114-128.

[5]王飞.计算机图形学基础[M].北京:北京邮电大学出版社, 2000:82-83.

三次曲线拟合的一种简便方法 篇2

数控加工中,经常会遇到非圆曲线的加工问题。非圆曲线通常给出一系列的坐标点加以表达,这就需要对列表曲线加以拟合。拟合的方法很多,较为常用的一种方法是使用CAD, Pro/E软件,根据已知坐标点绘制成样条曲线,这样做虽然直观,但曲线在何处取得极值、何处存在拐点、最小曲率半径是多少等等,均不得而知,更不能剔除坏点(破坏曲线趋势的实测点称为坏点)。难以保证加工的精度。因而人们更乐于使用某个函数的曲线来拟合,通常是用三次曲线拟合(拟合精度高、二阶导数连续,效果明显优于圆弧拟合)。然而确定三次方程的各项系数又成了劳神费力的事情。这里介绍一种较为简便的方法,此法既不用人工解方程,也不用编程序,而是利用了极其常见的一个软件——Excel。

1 方法应用介绍

下面结合一个实例,详细叙述这种方法。实测的原始数据列于表1。

a) 初步分析数据,剔除坏点:测量中的误差、数据传抄和打字中的失误都会产生坏点。如果加工者不能剔除坏点,显然无法加工出合格的零件。有的坏点显而易见,如表1第5个点,y值明显多了一个负号,这样的点可以直接予以剔除。有的坏点比较隐蔽,需要我们通过数据分析加以剔除。

打开Excel,第1行用作表头,在前两列里输入原始数据,如表2。然后在C3格内打入“=(B3-B2)/(A3-A2)”,按回车键确认后,再把鼠标点在C3格内,把本格右下角的填充柄往下拉,拉到C25格时放开鼠标,这一列数据可以看作是列表曲线的一阶导数。再在D4格内打入“=(C4-C3)/(A4-A3)”,确认后按住填充柄向下拉至D25格内,这一列数据可以看作是二阶导数。看D列内

表2 原始数据表

是否有某个数据明显与临近的数据不同号,如果有则说明是坏点。本例(-9.18,9.9)点致使11和12两行导数明显背离趋势。应视为坏点加以剔除。重复前一步计算过程,发现点(5.0155,9.19)仍不符合要求,加以剔除。剔除坏点之后的数据列表如表3,列表中数据符合曲线趋

势,均可用于拟合。

表3 剔除坏点之后的数据

b) 选定三次曲线通过的4个点,列出增广矩阵:设三次曲线为y=ax3+bx2+cx+d。在靠近两端处选两个点,中间再选两个点。本例选第4, 9, 16, 22点。把这4个点的x值复制到K1~K4格中,y值复制到M1~M4格中,见表4。

表4 x, y值复制表

在J1格中打入“=K1^2”,在I1格中打入“=K1^3”,选中这两格,把填充柄往下拉至第4行,则在J列中出现的数是K列中对应数的平方,I列中的数是其立方。在L1格里打入1,往下拉至L4格,则出现4个1。从I1到M4这20个数所组成的矩阵是由选定的4个点所确定的一个增广矩阵。

c) 列出能够用来找出系数的4个行列式:选中I1~L4这16个数,在下面复制4次。如表4,分别复制到了I6~L9, I11~L14, I16~L19, I21~L24这4个矩形块中。然后把鼠标点在J16格内,编辑栏里出现“=K16^2”,改为“=J1”,确认后把填充柄往左拉一格,紧接着(使I16, J16处于选中状态)再往下拉到这个小矩形块的底部(第19行)。表中数值虽没有变化,但这一步不能省去。

选中M1到M4这4个数,分别把它复制到下面4个小矩形块的第一至第四列,如表4,这些小矩形块就是需要的行列式。

d) 计算行列式的值:把鼠标点在H4格内,输入“=MDETERM(I1:L4)”,确认后,格内出现的数(4.8334E+12)就是I1~L4这个行列式的值。用鼠标右击此格,选“复制”,再右击H9单元格,选“粘贴”,则I6~L9这个行列式的值出现在格里。照此再分别在H14, H19和H24格内各粘贴一次,以计算出每个行列式的值。

e) 求出各项系数:在F26格内打入“=H9/H4”,此值是3次项系数。在H26格内打入“=H14/H4”,在J26格内打入“=H19/H4”,在L26格内打入“=H24/H4”(选定在哪一单元格中输入数字不受限定)。这3个数分别是2次项系数、1次项系数、常数项。为了直观起见,可以像表4那样将3次解析式表示完整。拟合的方程如下:

y=2.15731×10-6x3-0.000316396x2-0.05183x+9.673354

f) 计算拟合误差,检验拟合精度:为了验证拟合的优度,还需要计算出误差程度。把鼠标点在E2格内,在编辑栏中打入“=F$26×A2^3+H$26×A2^2+J$26×A2+L$26”确认,格内计算出第一个点的y的理论值y1′。把填充柄向下拖至E24格,则这一列y′值全部计算出来。再把鼠标点在F2格内,在编辑栏中打入“=E2-B2”,确认后同样把填充柄向下拖至F24格,则y值的误差计算出来。

误差计算结果符合厂家所提要求。拟合结果达到预期效果。

2 结语

三次曲线 篇3

Bezier曲线和B样条是用户曲线造型的重要工具,尤其是三次样条曲线,其实用性更为突出,但是也有一定的缺陷,例如不能精确表示工程中常见的螺旋线、悬链线等超越曲线。为了精确表示圆、双曲线等,人们提出了很多新的样条曲线,空间span{1,t,...,tk-3,sinht,cosht}(k≥3)上的双曲均匀B样条曲线[1]等。但是曲线的形状是相对于控制顶点固定的,如果要调整曲线的形状,必须调整控制顶点的位置。所以近年来对于能够改变曲线形状的新方法进行了广泛地研究,文献[2,3]给出了同时修改控制顶点和权,改变曲线外形的方法。文献[4,5,6]分别给出了NURBS曲线和曲面几何约束修改的新方法。文献[7,8,9]则提出带形状参数的双曲多项式及三角多项式均匀B 样条曲线。 为了精确地表示双曲线以及方便地调节曲线的形状,本文构造了三次带多形状参数的双曲均匀B样条曲线,它不仅保持了三次B样条曲线很多优美的性质,而且在控制多边形固定的情况下,能生成不同形状的曲线,通过调整形状参数,可以达到局部或者整体调控曲线形状的效果。

1 三次带多形状参数双曲均匀B样条基函数

1.1 基函数的构造

给定参数t的一个节点向量,令

其中0≤λi≤2coshΔ+2,i=c,d,e,f,Δ=ti+1-ti

Γ={λc,λd,λe,λf},取Ni,4(Γ,t)为:

Ni,4(Γ,t)为三次带多形状参数双曲均匀B样条基函数。图1显示了基函数的形状图。

1.2 基函数的性质

三次带多形状参数双曲均匀B样条的基函数有很多与三次B样条类似的性质。

性质1.1 非负性:Ni,4(Γ,t)≥0,t∈(-∞,+∞)。

证:容易得到ci(ti)=0,ci(ti+1)>0,根据λ的取值范围,当t∈[ti,ti+1)时,

ci ′(t) = (a(cosh(ui )-1) + b(cos(2ui )-1))/(ti + 1 -ti )≥0。

所以Ni,4(Γ,t)≥0,t∈[ti,ti+1)。当t∈[ti+3,ti+4)时情况类似。

t[ti+1,ti+2)Νi,4(Γ,ti+1)>0Νi,4(Γ,ti+2)>0Νi,4´(t)=1-a(cosh(1-ui+1)-1)-b(cosh(2-2ui+1)-1)ti+2-ti+1

。因为a(cosh(1-ui+1)-1)-b(cosh(2-2ui+1)-1)<1,所以Ni,4 ′(Γ ,t) > 0,于是Ni,4(Γ,t)>0。当t∈[ti+2,ti+3)时情况类似可证。

性质1.2 局部支柱性:

性质1.3 归一性:∑Ni,4(Γ,t)≡1。

证 不妨设t∈[ti,ti+1),得

Ni,4(Γ,t)=∑j=i-3iNj,4(Γ,t),

Nj-3,4(t)=e(ui),Nj,4(t)=c(ui),

Nj-2,4(t)=1-ui+d(ui)-f(ui)-e(ui),

Nj-1,4(t)=ui-c(ui)-d(ui)+f(ui),

可得∑Ni,4(Γ,t)≡1。

性质1.4 线性无关性:对于任意i=0,±1,±2,...; Ni-3,4(Γ,t),Ni-2,4(Γ,t),Ni-1,4(Γ,t),Ni,4(Γ,t)在[ti,ti+1)上线性无关。

利用基函数的归一性可证。

2 三次带形状参数双曲B样条曲线

给定R3中的控制顶点Pi,i=0,1,...,n与节点向量T={ti}0n+4,titi+1,称Ρ(t)=i=0nΝi,4(Γ,t)Ρi,t∈[t3,tn+1],n≥3为三次带形状参数双曲B样条曲线。

三次B样条曲线在控制多边形与节点向量T给定的情况下,其曲线的形状也就被唯一地确定了,而三次带多形状参数双曲B样条曲线含有多个形状参数,可进一步通过调节参数的大小来调整曲线的形状,使得曲线不断逼近它的控制多边形。类似与三次B样条曲线,三次带形状参数双曲B样条曲线具有如下性质。

性质2.1 凸包性:定义在[ti,ti+1)内的一段曲线,即P(t),位于由四个控制顶点确定的凸包Hi内,整条曲线位于所有这些凸包Hi的并集Η=i=0nΗi之内。

性质2.2 几何不变性:曲线P(t)上的点都是控制顶点的仿射组合,因此不依赖于坐标系的选取,曲线的形状与坐标系的选取无关。

性质2.3 局部形状调控:变动一个控制顶点,只改变曲线的局部形状。

参考文献

[1] Lu Y G,Wang G Z.Uniform hyperbolic polynomial B-spline curv-ers.Computer Aided Geometric Design,2002;19(6):379—393

[2] Piegl L.Modifying the shape of rational B-splines,Part 1:curvers.Computer Aided Design,1989;21(8):509—518

[3] Au C K,Yuen M F.Unified approach to NURBS curve shape modifi-cation.Computer Aided Design,1995;27(2):85—93

[4] Sanchez R J.A simple technique for NURBS shape modification.IEEE Computer Graphics and Application,1997;17(1):52—59

[5] Hu shi-min,Zhou Den-wen,Sun jia-guang.Shape modification ofNURBS curves via constrained optimization//In:Proceedings of theCAD/Graphicx’99.Shanghai:WenHui Publishers,1999:958—962

[6] Hu Shi-min,Li You-fu,Ju-tao.Modifying the shape of NURBS sur-faces with geometric constraints.Computer Aided Design,2001;33(12):903—912

[7]王文涛,汪国昭.带形状参数的双曲多项式均匀B样条.软件学报,2005;16(4):625—633

[8]王文涛,汪国昭.带形状参数的三角多项式均匀B样条.计算机学报,2005;28(7):1192—1198

三次曲线 篇4

复杂曲线或曲面的加工中需要采用插补技术。目前,主要的插补技术有小线段方法和样条方法,小线段插补技术在传统数控机床上应用广泛[1,2]。理论和实验证明,采用直线段逼近复杂曲线并使用线性插补进行加工存在很多不足,如进给速度波动大、加工效率低、代码段数量庞大等,且存在精度要求和速度要求的矛盾[3,4]。与小线段方法相比,样条法具有拟合精度高、NC代码简单、能有效避免小线段方法可能存在的数据饥荒等优点,因此,样条法逐渐在CNC中占有重要地位[3,4,5,6]。

目前常采用的插补算法有等参数插补算法、恒速度插补算法、基于弓高误差控制的插补算法、基于加速度约束的插补算法以及综合精度和加速度约束的插补算法等。这些算法在轨迹平滑性、精度以及算法实现等方面均存在缺陷[6,7]。

针对复杂曲线的数控加工,本文研究了基于三次B样条的复杂曲线实时平滑拟合、三次B样条曲线的高速、高精度插补及其轨迹规划等问题。

1 三次均匀B样条曲线的构建

由于具有可进行局部修改、更加逼近特征多边形、阶次与特征多边形顶点无关等特点,因此,B样条曲线在曲线、曲面的造型与加工中得到了广泛的应用。在B样条曲线中,三次B样条曲线是工程上使用最多的样条曲线。

在三维空间中,设特征多边形控制点的集合为{C0,C1,…,Cn},则依据该集合可以构建三次B样条曲线段序列{B1,B2,…,Bn-2},其中,第i个三次B样条曲线可用矩阵表示为

Bi(u)=16[u3u2u11]Τ[-13-313-63030301410][CiCi+1Ci+2Ci+3](1)

式中,Bi(u)为B样条曲线上任一点的位置矢量;u为参变量,u∈[0,1]。

在对复杂曲线的拟合应用中,通常给出的是一系列曲线的型值点而非特征多边形的控制点,且要求所构造的三次B样条曲线精确地通过各个型值点。这时,需根据预先给定的型值点反求相应的控制点以构造样条曲线。若给定型值点序列{P1,P2,…,Pn-1},则由三次B样条曲线的端点性质,型值点与控制点的关系如下:

Ci=16(Ρi+4Ρi+1+Ρi+2)(2)

由式(2)可得到n-1个联立方程,而控制点为n个,故必须补充两个边界条件。文献[8]具体讨论了边界条件的给出方法。

文献[7]提出了一种B样条曲线的重叠拼接算法,该方法无须将所有型值点一次读入,并能有效地解决B样条曲线段的光滑连接问题,从而提高插补过程的实时性,本文将该方法用于三次B样条曲线段的平滑拼接。

2 三次均匀B样条曲线插补器

由式(1)可知,三次B样条曲线的每个坐标分量可定义为参数u的函数。三次B样条曲线插补的实质是在各个采样周期内求取满足一定约束条件的参数增量Δu,然后代入曲线表达式中进行计算,得到采样周期内各空间坐标的增量。因此,对曲线进行插补首先要确定参数增量Δu,一个好的Δu应该具有自适应特性,能够适应曲线曲率变化,且能满足加工系统速度、加速度要求。

设当前插补周期为k,设插补开始时的进给速度为v(k),插补周期为T,如果保持恒速插补,则当前插补周期的进给步长为ΔLv(k)=v(k)T

在三次B样条曲线插补中,每个插补周期都是一个直线代替曲线弧的处理过程。由于用弦线来逼近弧,故不可避免地带来了弓高误差(轮廓误差)δ,如图1所示。

弓高误差的大小与进给步长和曲率半径有关。设当前插补周期为k,如果以圆弧段近似代替曲线弧,则可得三次B样条曲线插补的弓高误差为

式中,ρ(k)为当前点的曲率;ΔLe(k)为弦长,即插补步长。

对三次B样条曲线进行插补时,不但需要考虑进给部件的切向加速度,还需要考虑法向加速度,尤其在进给速度较大、轨迹曲率半径较小的情况下,法向加速度过大往往会导致轨迹精度下降,并对运动部件造成冲击。

设P(k)插补点时切向加速度为ak,t,法向加速度为ak,n,系统允许的最大加速度为amax,则有[5]

ak=ak,t2+ak,n2=ΔLe4(k)Τ4ρ2(k+1)+ak,t2amax(4)

进一步,可得

ak=64δ2(k)Τ4+ak,t2amax(5)

变形后,有

其中,ak,t为变量,取ak,t为系统允许的最大法向加速度amax,t,则δ(k)为常数,令为δa。

δe为给定的最大弓高误差,取基于弓高约束和加速度约束的综合轮廓误差的允许误差为δ0,δ0=min(δa,δe)。依据式(3)有

ρ(k)-ρ(k)-(ΔLe(k)2)2δ0(7)

根据文献[3]对式(7)进行简化处理,在最大轮廓误差约束下有

ΔLe(k)8ρ(k)δ(k)(8)

ρ(k)可由下式计算:

ρ(k)=[(x˙k)2+(y˙k)2+(z˙k)2]3/2[|y˙kz˙ky¨kz¨k|2+|z˙kx˙kz¨kx¨k|2+|x˙ky˙kx¨ky¨k|2]1/2(9)

式中,xyz为三维空间的坐标变量;x˙ky˙z˙kxyz对参数u的一阶微分;x¨ky¨kz¨kxyz对参数u的二阶微分。

由式(9)确定ρ(k)非常繁琐,可用三次B样条曲线的中点与插补直线段中点的距离来近似表示曲率半径差。设在当前插补周期内,位于三次B样条曲线上的节点为B(uk)和B(uk+1),则本段曲线插补的弓高误差可近似表示为

δ(k)|B(uk)+B(uk+1)2-B(uk+uk+12)|(10)

则可得到综合轮廓误差δmax约束下的步长为

ΔLe(k)=δmaxδ(k)ΔLv(k)(11)

取进给步长ΔL(k)=min(ΔLv(k),ΔLe(k)),由此可知该插补周期的插补平均速度为vkL(k)/T。也可以得到该插补周期内的参数增量Δu(k),进而得到目标节点B(uk+1)。

采用上述方法得到的步长考虑了曲线的曲率、进给速度和加速度等因素,具有自适应的特性,提高了插补的效率和精度,也可以避免轨迹的突变和由此引起的冲击。

3 加减速控制

设根据插补器得到的三次B样条曲线的当前节点为B(uk),目标节点为B(uk+1),则在该插补周期内,三维空间中的插补运动增量分别为

Δx(k)=Bx(uk+1)-Bx(uk)Δy(k)=By(uk+1)-By(uk)Δz(k)=Bz(uk+1)-Bz(uk)}(12)

式中,BxByBz分别为节点xyz轴方向的坐标分量。

式(12)中的各运动轴增量是不相等的,因此,有必要对运动轴的速度进行调节,以使所有运动轴在相同的时间内完成不同的位移量。另外,由于运动惯性的存在,为避免运动轴启动、停止以及轨迹转接引起冲击、失步及振荡等现象,必须对运动轴进行加减速控制。

目前,加减速控制有两种方式:一种是加减速控制放在插补前,称为前瞻加减速控制,这种方法需要预测减速点,难度较大;另一种是将加减速控制放在插补后,相较前瞻加减速控制方法,这种方法易于实现。本文在设计插补器时,已经将轨迹轮廓误差限制在允许的范围内,因此,这里采用后者。

3.1 轨迹约束条件

对运动轴进行轨迹规划之前,首先建立轨迹的位移、速度和加速度平滑约束条件(以x轴为例)如下:

x(tk)=Bx(uk)x(tk+1)=Bx(uk+1)x˙(tk)=vx(k)x˙(tk+1)=vx(k+1)x¨(tk)=x¨(tk+1)=0}(13)

另外,加加速度反映力的瞬时变化量,如果存在突变,则在突变的上升沿和下降沿将使系统受到较大的振动和冲击,从而影响加工质量,降低加工效率,甚至导致刀具和工件的损坏。因此,理想的轨迹加加速度应具有平滑特性。

3.2 节点轨迹规划

构造如下函数:

s1(t)=t22Τ+Τ4π2cos(2πtΤ)-Τ4π2(14)

s2(c(t))=[1+exp(-α(c(t)-a)b)]-1c(t)=11-t/Τ-1t/Τ}(15)

s1(t)和s2(t)在t=0和t=T时均为零,且它们的一阶导数、二阶导数和三阶导数在t=0和t=T时均为零。

在式(15)描述的函数中,abα为可修改的参数,当t从0变化到T时,函数值从0变到1。当c(t)在[a-b,a+b]区间变化时,s2(t)将从d变化到1-d,则有α=ln((1-d)/d),可见,通过改变abd的值,可以得到函数不同的变化曲线。

仍以x轴为例,以式(14)和式(15)为基础,规划其轨迹如下:

x(t)=Bx(uk)+vx(k)t+Δvx(k)s1(t)+Δxs2(t)Δvx(k)=vx(k+1)-vx(k)Δx=(vx(k+1)-vx(k))(Τ-0.5)}(16)

vx(k+1)=Δx(k)/T (17)

式中,vx(k)为当前插补周期开始时x轴的速度;vx(k+1)为当前插补周期结束时x轴的速度。

显然,式(16)形式的运动轨迹满足式(13)的轨迹约束条件。同理,可以依式(16)建立其他运动轴的轨迹。这种形式的轨迹具有以下好处:①不同于一般的分段曲线描述,该轨迹具有统一和简单的描述形式,易于编程实现;②在每一个插补的开始和结束时刻,加速度和加加速度均为零,使得每个插补周期的轨迹是独立的,从而保证了相邻插补周期之间速度、加速度以及加加速度的平滑过渡;③通过适当地选取参数abd的值可提高轮廓的跟踪精度,并能对最大速度和最大加速度进行修正以使其限定在规定的范围内。

4 仿真实验与结果分析

对圆曲线进行三阶B样条曲线插补。圆曲线方程取参数方程形式:x=25cosθ-25(mm),y=25sinθ(mm)。θ在[0,2π]内均匀选取46个值,计算对应(x,y)型值点。插补B样条曲线时,每次读入15个型值点,重叠6个。本文设计的三次B样条插补器使用VC++6.0开发环境进行编程,在Intel P4 3.0GHz CPU中运行。将本文插补算法与传统的直线和圆弧逼近的插补算法相比,在插补精度要求较低的情况下,传统算法具有更低的计算耗时,而当精度要求提高时,本文插补算法则明显优于传统算法,如当弓高误差要求低于1μm时,本文插补算法的一次插补的最大计算耗时为35μs,而传统算法的相应耗时则为55μs。

实验重点放在经三次B样条插补后的运动轨迹的验证上。取初始进给速度为零,最大弓高误差为0.5μm,插补周期为1ms,并忽略最大速度和最大加速度的限制,仅关心轨迹的连续性和平滑性。

随机地选取某个插补周期的轨迹(此处选取第649个),经计算,该插补周期的当前节点为(45.2254,-14.6946)(mm),目标节点为(45.3529,-14.5176)(mm)(计算时取小数点后8位精度,本文分析时仅给出小数点后4位),取x轴、y轴的速度为vx(k)=0.1290m/s, vx(k+1)=0.1275m/s, vy(k)=0.1759m/s, vy(k+1)=0.1771m/s。

图2为当前插补周期内的x轴和y轴位移曲线图,由图2可以看出x轴和y轴的运动近似为匀速运动。

图3和图4所示分别为当前插补周期内的x轴和y轴的速度变化曲线图。由图3、图4可以看出,x轴和y轴的运动速度具有很好的平滑性、且无突变,能够满足插补周期的速度约束。

图5为当前插补周期内x轴和y轴的加速度变化曲线图。由图5可以看出,x轴和y轴的加速度具有很好的平滑性,在插补开始和结束时为零,确保了相邻周期之间轨迹的相对独立性。

图6为当前插补周期内x轴和y轴的加加速度变化曲线图。由图6可以看出,x轴和y轴的加加速度具有很好的平滑性,可以避免机床的运动冲击。

图7所示为该插补周期内,机床运动曲线与理想曲线之间的轮廓误差曲线。经过插补运动后,轮廓误差最大值的位置不再是三次B样条曲线时的中间点,这与插补轨迹的设计有关,可以通过式(16)的参数予以修正,但整个插补周期内的轮廓误差都在精度允许的范围内,因此无需特别讨论参数对精度的影响。

5 结束语

本文以复杂曲线的插补和轨迹规划为研究对象,建立了基于三次B样条曲线拼接的复杂曲线实时拟合模型,以此为基础,研究了基于轮廓精度、速度和加速度约束的样条曲线插补方法,进而对插补轨迹进行了规划。通过仿真实验,验证了本文轨迹规划方法的有效性。 ()()

三次B样条曲线在几何描述上能用比小直线段和圆弧更少的数据来描述曲线,因此能减小数据处理量,同时,三次B样条曲线的参数连续性能保证在插补过程中进给速度和加速度的平滑。因此,与传统的用直线和圆弧逼近的插补算法相比,本文提出的插补方法具有平滑性好、精度高以及代码量小等优点。

本文方法已初步应用于自行开发的三轴数控系统中。目前,正在开展该方法在五轴联动数控系统中的应用研究。

参考文献

[1]王宇晗,肖凌剑,曾水生,等.小线段高速加工速度衔接数学模型[J].上海交通大学学报,2004,38(6):901-904.

[2]Rong S L.Real-ti me Surface Interpolator for 3-DParametric Surface Machining on 3-axis MachineTools[J].International Journal of Machine Toolsand Manufacture,2000,40(9):1513-1526.

[3]李思益,罗为.NURBS曲线高速高精度插补及加减速控制方法研究[J].计算机集成制造系统,2008,14(6):1142-1147.

[4]Kong T,Narayanawami R.A Parametric Interpola-tor with Confined Chord Errors,Acceleration andDeceleration for Machining[J].Computer-aidedDesign,2003,35(13):1249-1259.

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

[6]Yau H T,Wang J B,Chen WC.Development andI mplementation for Real-ti me Lookahead Interpo-lator by Using Bezier Curve to fit CNC ContinuousShort Blocks[C]//Proceedings of the 2005 IEEEIn-ternational Conference on Mechatronics.Taipei:IEEE,2005:78-83.

[7]赵彤,吕强,张辉,等.三次均匀B样条曲线高速实时插补研究[J].计算机集成制造系统,2008,14(9):1830-1836.

三次曲线 篇5

关键词:图像轮廓,自适应角点检测,三次Bézier曲线拟合,MATLAB,一次连续性

1 概述

数字图像是用二进制来表示的离散的数据集,图像轮廓模糊粗糙不连续。连续的图像轮廓可提高视频图像的画面感,视频图像运动目标分析中的剪影跟踪方法需要获取目标的连续轮廓以得到目标所占据的精确区域,该文用三次Bézier曲线拟合方法得到图像的连续轮廓。三次Bézier曲线拟合需要找到图像的角点作为曲线的端点和构造出曲线的控制点,合适的角点检测算法以及控制点的构造方法是得到高精度拟合轮廓的关键。Mokhtarian和Suomela等人于1998年提出了基于曲率尺度空间(CSS)的角点检测算法[1],该算法有较强的抗噪能力,可以提取出准确的角点,但精确性和稳定性较差。汪华琴,谈国新等人基于曲率尺度空间技术,提出了一种自适应角点检测方法[2],该方法应用于复杂图像具有精确性和稳定性。理想情况下只使用一个三次Bézier曲线来拟合完整的轮廓,但这是不可能的,文献[3]指出如果数字图像轮廓的曲率变化很大,或轮廓包含两个以上的角点,那它就不能用一个三次Bézier曲线段来拟合。在大多数情况下,图像的轮廓采用分段逼近的方法来拟合。文献[4-5]研究了2条三次Bézier样条曲线的光滑拼接的充要条件, 解决了用组合曲线表示复杂曲线的光滑拼接问题。王家润,赵南松等利用向量工具,对分段三次Bézier曲线的控制点给出一种构造设计算法,该算法使曲线的整体形状较好[6]。该文将给出一种角点检测算法和三次Bézier曲线控制点的构造方法,并通过实验实现图像轮廓的拟合。

2 基于曲率尺度空间的自适应角点检测方法

轮廓曲线的曲率K( u , σ )的数学表达式为:

其中,X(u,σ)= x(u)g(u,σ) ,X(u,σ)= x(u)g(u,σ) ;Y(u,σ)= y(u) g(u,σ) ,Y(u,σ)= y(u) g(u,σ) 。?表示卷积符号,u为弧长参数,σ为尺度参数,g(u,σ) 和g(u,σ) 对应g(u,σ) 关于u的一阶和二阶导[7-8]。

步骤:该方法在提取图像的初始轮廓基础上, 采用一个固定的低尺度计算所有轮廓点的曲率, 并根据曲率得到候选角点集, 然后用由自适应支持区域确定的角点角度和一个动态曲率阈值代替固定的阈值筛选出正确角点。

3 三次Bézier曲线拟合方法

3.1三次Bézier曲线

三次Bézier曲线段B(t)的数学表达式如下[3]:

其中,P0和P1是曲线段端点,A0和B0是控制点。三次Bézier曲线是依据这四个点和表达式1绘制的一条光滑曲线。端点是曲线的起止点,控制点的作用是控制曲线的形状和路径,如图1所示。在应用中,一般已知两个端点,两个内部控制点需按实际情况构造出来。

3.2三次Bézier曲线的说明

1) 直线段是特殊的三次Bézier曲线,两个控制点位于直线上。因此图像轮廓的直线部分可以用三次Bézier曲线拟合。

2) 三次Bézier曲线的两个内部控制点A0和B0分别位于两个端点P0和P1的切线上,如图1所示。因此可以在端点的切线上构造出控制点,即A0=P0+P0a ,B0=P1-P1b(a,b是标量)。

3) 如果将两个曲线段进行拼接,若连接点左右两边切向量方向相同,就称拼接曲线在连接点处具有一次连续性。若将两个三次Bézier曲线段进行拼接,连接点与位于其左右两边的控制点三点共线与拼接三次Bézier曲线在连接点处具有一次连续性互为充要条件,如图2所示。

3.3分段曲线控制点的构造

用分段三次Bézier曲线将n+1个数据点拟合成一条闭合曲线,记数据点为P(ixi,y)i,i∈[0,n]。闭合曲线从P0开始经过P1,P2…Pn,最后回到P0。在任两个相邻点Pi与Pi+1之间,用一条三次Bézier曲线连接起来,起点为Pi,终点为Pi+1,起点与终点之间的控制点依次记为Ai和Bi,如图3所示。为确保分段曲线在连接点处的一次连续性,控制点必须位于相应端点的切线上,可据此构造出控制点:在每个Pi点上分别作曲线的切线,然后把位于Pi前面的控制点Bi-1和位于Pi后面的控制点Ai,都取在过Pi点的切线上。如果把过Pi点的切线方向取为与线段Pi-1Pi+1平行的方向,那控制点Ai和Bi的坐标即为:

其中,a,b是两个任意给定的正数,若取a=b=1/4,控制点的坐标变为:- -

位于P0点和Pn点前后的控制点A0, An, Bn-1,Bn不能用上述公式计算,因为不存在(x-1,y-1),(xn+1,yn+1),(xn+2,yn+2)这三个点。为得到一个闭合曲 线可令 (x- 1,y- 1) =(xn,yn),(xn + 1,yn + 1)=(x0,y0),(xn + 2,yn + 2)=(x1,y1)。容易求 得 :A0(x0+ a(x1- xn),y0+ a(y1- yn)) ,Bn - 1(xcn- b(x0- xn - 1),yn- b(y0- yn - 1)) ,An(xn+ a(x0- xn - 1),yn+ a(y0- yn - 1)) ,Bn(x0- b(x1- xn),y0- b(y1- yn)) 。

4 数值模拟实验

在MATLAB平台上,先用上文介绍的角点检测方法检测图像,得到图像角点集P(ixi,y)i;接着计算各段三次Bézier曲线的控制点Ai,Bi;最后画出各段三次Bézier曲线就完成了图像轮廓的拟合。如图5所示图像近乎全部位于拟合轮廓的内部,且角点都位于拟合轮廓上。由图6可知数字图像的轮廓是粗糙模糊不连续的,由图7可知用三次Bézier曲线拟合的图像轮廓平滑连续。本实验费时0.4946秒,其中角点检测0.4246秒,控制点的计算和画图费时0.07秒。该方法完成了拟合工作,并将误差控制在一定的范围内,具有一定的可行性和可靠性。

5 结论

三次曲线 篇6

在CAD/CAM中, 常以多项式生成曲线曲面, 如Ferguson曲线、Bézier曲线、B样条曲线及非均匀有理B样条 (NURBS) 曲线[1]等, 其中NURBS已成为工业产品制造中的一个标准。但NURBS方法的其权因子与参数化问题至今仍未完全解决, 而且NURBS方法在求积、求导计算时也比较复杂[2], 使得NURBS的应用出现局限性。为解决上述问题, 近年来人们对非多项式样条, 特别是三角多项式样条的研究产生了兴趣, 开始在带三角函数的空间上寻求构造曲线曲面的表示方法, 其中文献[3]基于函数空间{1, t, sinht, cosht}生成了H-曲线;文献[4]以1, t, cost和sint为基函数构造了著名的C-曲线;文献[5]基于函数空间{1, cost, cos2t, …, cosmt}给出了一组正规基;文献[6, 7]分别构造了带一个形状参数的二次与三次三角多项式曲线;文献[8]提出了一种基于三角函数的曲线拟合方法;文献[9]给出了带有参数的三次三角多项式样条曲线;文献[10]则以{1, sint, cost, sin2t}为基构造了一种带一个形状参数的三角多项式曲线等等。

受上述思想的启发, 本文首先以{1, sinu, cosu, sin2u}为基函数生成了一种带两个形状参数的类三次三角Bézier曲线, 并简称为QCT-Bézier曲线。然后, 探讨了QCT-Bézier曲线的性质及两条曲线段的拼接条件, 并研究了形状参数对整条QCT-Bézier曲线的调节作用。接着, 用QCT-Bézier曲线精确地表示了圆弧、椭圆弧、抛物线弧等二次曲线及几种不同形状的特殊图形。因此, QCT-Bézier曲线可用于自由曲线曲面造型。

1 QCT-Bézier曲线的构造

定义1给定R2或R3空间中四个控制顶点Pi (i=0, 1, 2, 3) , 对于0≤u≤π/2, 称曲线:

为带形状参数λ1, λ2 (0≤λ1, λ2≤2) 的QCT-Bézier曲线。其中Xi (u) (i=0, 1, 2, 3) 称为QCT-Bézier基函数, 满足:

容易得知, QCT-Bézier基函数Xi (u) (i=0, 1, 2, 3) 具有如下性质:

1) 非负性Xi (u) ≥0 (i=0, 1, 2, 3) 。

3) 拟对称性将u用 (2/π-u) 替换, 且λ1与λ2互换, 有:

4) 可调性通过修改形状参数λ1与λ2的取值, 可对基函数Xi (u) (i=0, 1, 2, 3) 的形状进行调节。

2 QCT-Bézier曲线的性质

由QCT-Bézier基函数的性质, 可导出它有如下性质:

1) 端点性质曲线插值于控制多边形的端点, 即:

且与控制多边形的端边相切:

两端的二阶导矢、三阶导矢分别为:

2) 拟对称性由QCT-Bézier基函数的拟对称性可知, 若将QCT-Bézier曲线控制顶点的次序完全颠倒, 且将λ1与λ2互换, 则由新控制顶点生成的曲线与原来的曲线是重合的, 只不过有相反的定向而已。

3) 凸包性和保凸性由于QCT-Bézier基函数具有正权性, 故QCT-Bézier曲线落在其控制多边形形成的凸包内。而当控制多边形为凸时, 相应的可调QCT-Bézier曲线也是凸的。

4) 几何不变性即曲线仅依赖于控制顶点而与坐标系的选取无关。

5) 退化性当形状参数取λ1=λ2=0时, QCT-Bézier曲线退化成一条线段。事实上, 当λ1=λ2=0时, 式 (1) 可写为:

显然有0≤sin2u≤1, 故上式表示一条连接点P0和点P3的线段。

6) 可调性由于形状参数λ1与λ2的引入, QCT-Bézier曲线具有更强的表现能力。当控制顶点不变, λ1与λ2分别在[0, 2]内取值时, 可获得一簇可调QCT-Bézier曲线, 方便设计不同形状的曲线。

7) 逼近性

定理1对于给定的控制顶点Pi (i=0, 1, 2, 3) , 形状参数λ1或λ2 (0≤λ1, λ2≤2) 的取值越大, 曲线r (u) 越逼近控制多边形。

证明依据式 (1) 及基函数的权性, 有:

对于给定的控制顶点Pi (i=0, 1, 2, 3) , 显然有:

(C为一正常数)

对任意的u∈[0, π/2], 记:

显然有f′ (λ1) =sin2u-sinu≤0, 此即说明, 当0≤u≤π/2时, f (λ1) 随着λ1的增大而减小。于是, 由不等式 (7) 可知, λ1的取值越大, ‖r (u) -P1‖的最大值越小, 即曲线r (u) 越逼近点P1。

同理, 对于点P2, 有:

对任意的u∈[0, π/2], 记:

显然有g′ (λ2) =1-cosu-sin2u=cos2u-cosu≤0, 此即说明, 当0≤u≤π/2时, g (λ2) 随着λ2的增大而减小, 亦说明λ2的取值越大, 曲线r (u) 越逼近点P2。

显然, 当形状参数λ1与λ2同时增大时, 曲线r (u) 更加逼近控制多边形。

3 QCT-Bézier曲线的拼接

令r1 (u) 和r2 (v) 为两条QCT-Bézier曲线, r1 (u) 的控制顶点为Pi (i=0, 1, 2, 3) , 其形状参数为0≤λ1, λ2≤2;r2 (v) 的控制顶点为Qi (i=0, 1, 2, 3) , 相应的形状参数为0≤δ1, δ2≤2。适当选取形状参数λi和δi (i=1, 2) , 能使两条曲线段在拼接点处达到一定的连续条件。

下面仅讨论两条QCT-Bézier曲线段在连接点处满足C3拼接的情况, 此时取λi=δi=2 (i=1, 2) 。

3.1 两曲线间C1拼接

两条QCT-Bézier曲线段在连接点满足C1拼接的条件为:

参照式 (3) 、式 (4) 并令λi=δi=2 (i=1, 2) , 上式可改写为:

式 (8) 的几何意义为:两条曲线段在连接点满足C1拼接时, 顶点P2, P3 (=Q0) , Q1必须共线。

3.2 两曲线间C3拼接

要使两条QCT-Bézier曲线段满足C2拼接, 首先要满足C1拼接条件, 即满足式 (8) , 另外, 还必须满足下列关系:

参照式 (5) , 并注意到λi=δi=2 (i=1, 2) , 上式可改写为:

于是当λi=δi=2 (i=1, 2) 时, 两条QCT-Bézier曲线段在连接点处满足C2拼接的条件为式 (8) 和式 (9) 同时成立。其几何意义为:P2, P3 (=Q0) , Q1三点共线;P1, P2, P3 (=Q0) , Q1, Q2五点共面。

定理2当λi=δi=2 (i=1, 2) 时, 若两条QCT-Bézier曲线段在连接点处满足C2拼接, 则自然满足C3拼接。

证明参照式 (6) , 并注意到λi=δi=2 (i=1, 2) , 显然有r1 (π/2) =r2 (0) , 此即说明当两条曲线段在连接点处满足C2拼接时, 同时也满足C3拼接。

4 形状参数对整条QCT-Bézier曲线的调节

设n段QCT-Bézier曲线分别为:

其中第i段曲线的形状参数为0≤λi1, λi2≤2 (i=1, 2, …, n) 。

若当整条曲线满足C1拼接时, 由式 (3) 与 (4) 有:

由上式可知, 在控制顶点保持不变的情况下, 改变曲线某一形状参数λi2时, 只有参数λi+1, 1的取值随之改变, 而其它参数保持不变。即改变形状参数λi2, 只会调节整条曲线中的两段ri (u) 和ri+1 (u) , 而对其它部分的曲线段没有影响, 因此形状参数能做到对整条曲线的局部调节。特别地, 当把整条曲线中的所有形状参数λi1, λi2 (i=1, 2, …, n) 都取相同的值时, 则可通过惟一的形状参数做到对整条曲线的整体调节。

如图1所示, 整条开曲线由四段QCT-Bézier曲线ri (u) (i=1, 2, 3, 4) C1拼接而成, 分别取λ11=λ12=λ21=2、λ22=λ31=2 (长虚线) 、λ22=λ31=1.5 (实线) 、λ22=λ31=1 (短虚线) , λ32=λ41=λ42=2时, 由于形状参数λ22, λ31的改变, 曲线段r2 (u) 与r3 (u) 的形状得到了调节, 而对曲线段r1 (u) 与r4 (u) 没有任何影响。

5 QCT-Bézier曲线的应用

5.1 椭 (圆) 弧、抛物线弧的精确表示

不妨取λ1=λ2=2, 令:

则曲线式 (1) 可写为:

此时, a≠b时, 上式表示一段椭圆弧;a=b时, 上式表示一段圆弧。

不妨取λ1=λ2=1, 取:

则曲线式 (1) 可写为:

上式显然表示一段抛物线弧。

5.2 一些特殊图形的构造

当形状参数在范围内取不同值时, 可得到用QCT-Bézier曲线表示的一系列形状的不同的图形。例如, 当形状参数依次取λ1=λ2=1 (长虚线) 、λ1=λ2=1.5 (实线) 、λ1=λ2=2 (短虚线) 时, 可得到不同心形图形, 如图2所示。图3为形状参数依次取λ1=λ2=1 (长虚线) 、λ1=λ2=1.5 (实线) 、λ1=λ2=2 (短虚线) 时不同形状的花瓣图形。

6 结论

本文通过引入形状参数, 生成了一种基于三角函数的类三次三角Bézier曲线——QCT-Bézier。QCT-Bézier曲线不仅具有三次Bézier曲线的诸多性质, 而且其形状还可以通过修改两个形状参数进行局部或全局调节, 方便设计不同形状的曲线。除此以外, QCT-Bézier曲线在无需有理形式的情况下也可精确表示圆弧、椭圆弧、抛物线弧等二次曲线弧, 是一种应用价值较高的自由曲线曲面造型方法。

另外, 本文仅讨论了类三次三角Bézier曲线, 对于其曲面形式没作讨论。事实上, 曲面形式作为曲线向空间的直接拓广, 研究曲面的性质及调节参数对曲面的影响等也是非常有意义的, 这些将另文讨论。

摘要:给出了一种基于三角函数的类三次三角Bézier曲线, 并简称为QCT-Bézier曲线, 其基函数由四个带两个形状参数的三角多项式组成。由四个顶点控制的QCT-Bézier曲线不仅具有类似于三次Bézier曲线的诸多性质, 而且其形状可通过修改两个形状进行局部或整体调节, 方便设计不同形状的曲线。选取适当的形状参数, 可使两条QCT-Bézier曲线段在连接点处满足C3拼接。另外, 在适当条件下, QCT-Bézier曲线无需有理形式即可精确地表示圆弧、椭圆弧、抛物线弧等二次曲线。

关键词:三角曲线,Bézier曲线,形状参数,二次曲线,曲线设计

参考文献

[1]朱心雄, 等.自由曲线曲面造型技术[M].北京:科学出版社, 2000.

[2]王国瑾, 汪国昭, 郑建民.计算机辅助几何设计[M].北京:高等教育出版社&施普林格出社, 2001.

[3]Pottmann H.The geometry of Tchebycheffian splines[J].Computer Aided Geometric Design, 1993, 10:181210.

[4]Zhang J W.C-curves:An Extension of Cubic Curves[J].Computer Ai-ded Geometric Design, 1996, 13 (3) :199217.

[5]Pea J M.Shape preserving representations for trigonometric polynomial curves[J].Computer Aided Geometric Design, 1997, 14 (1) :511.

[6]Xuli Han.Quadratic trigonometric polynomial curves with a shape pa-rameter[J].Computer Aidad Geometric Design, 2002, 19 (7) :503512.

[7]Xuli Han.Cubic trigonometric polynomial curves with a shape parame-ter[J].Computer Aided Geometric Design, 2004, 21 (6) :535548.

[8]朱仁芝, 程漠嵩.拟合任意空间曲面的三角函数方法[J].计算机辅助设计与图形学学报, 1996, 8 (2) :108114.

[9]吴晓勤, 韩旭里.带参的三次三角多项式样条曲线[J].计算机应用与软件, 2007, 24 (4) :6263, 89.

【三次曲线】推荐阅读:

复杂曲线07-18

标准曲线05-12

曲线优化05-26

曲线建筑06-23

几何曲线06-23

功率曲线06-25

流量曲线06-26

平面曲线06-27

控制曲线07-03

曲线影响07-06

上一篇:制图能力下一篇:标准统一