您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 第34讲-三次样条曲线与参数样条曲线
11/61第三讲:三次样条曲线和参数样条曲线第三讲:三次样条曲线和参数样条曲线20020099年年33月月CAD/CAMCAD/CAM技术基础技术基础2/61上课内容上课内容一、背景知识(放样,设计,插值问题等若干问题)二、三次样条曲线(1)三次样条函数及其力学背景(2)用型值点处的一阶导数表示的三次样条曲线(3)用型值点处的二阶导数表示的三次样条曲线(4)三次样条在曲线拟合中的局限性、解决办法等三、弗格森曲线(三次参数曲线段、三次参数样条的一种特殊情况)四、参数样条曲线(累加弦长)23/61一、背景知识1.放样与设计设计放样4/61放样对曲线的要求放样对曲线的要求z点点通过z光顺z计算简单工程中构造曲线的要求工程中构造曲线的要求————插值插值35/61z拉格朗日(Lagrange)插值z线性插值z三次样条插值几种典型的插值法几种典型的插值法工程中构造曲线的要求工程中构造曲线的要求-505-1.5-1-0.500.511.52y=1/(1+x2)n=2n=4n=6n=8n=10-6-4-2024600.10.20.30.40.50.60.70.80.91n=10-5-4-3-2-101234500.10.20.30.40.50.60.70.80.916/61设计对曲线的要求设计对曲线的要求z形象直观z易于交互z计算简单工程中构造曲线的要求工程中构造曲线的要求47/61几种典型的设计方法几种典型的设计方法zBézier方法zB样条方法zNURBS方法工程中构造曲线的要求工程中构造曲线的要求8/61三次样条函数及其力学背景三次样条函数及其力学背景样样条条函函数数的的由由来来飞机、船体、汽车外形的放样(设计)59/61打点:按给定的数据将型值点准确地点在图板上描线:用“压子”使“样条”通过型值点三次样条函数及其力学背景三次样条函数及其力学背景模线绘制的一般过程模线绘制的一般过程10/61分段:两个“压子”之间可以认为是一段。数学本质是每两个“压子”之间曲线的表达式不同光滑:不象每两点之间之间连线那样有明显的棱角。数学本质是整条曲线具有连续的导函数三次样条函数及其力学背景三次样条函数及其力学背景模线的形状特征611/61在生产领域和科学研究中,要反复研究自然规律之间的函数关系,而往往因素之间的关系很难有明显的函数关系,通常只是由观察和测量到的一些离散数值。插值设法建立一个较简单的函数φ(x),用φ(x)近似表示原来的函数关系f(x),即φ(x)=f(x)一、背景知识2.插值问题具体地:给出一张函数表选择一个函数φ(x)使得φ(xi)=yii=0,1…n作为f(x)的近似,这样函数逼近为插值问题满足上述关系式的函数φ(x)为f(x)的插值函数f(x)被插函数x0,x1…xn为插值基点12/61函数φ(x)选择不同,就产生了不同类型的插值代数多项式--代数多项式插值φ(x)为三角多项式--三角多项式插值有理函数--有理函数插值:一、背景知识713/61一、背景知识对于寻求一个n次的代数多项式插值,必须给出n+1互异的插值基点Pn(x)=a0+a1x+a2x2+…+anxnPn(xi)=yii=0,1…n由于x0,x1…xn互异,因此a0,a1,…an唯一确定14/61但是:(1)必须求解n+1个线性方程组计算复杂(2)次数越高,系数a0,a1,…an越多,物理概念难于理解,会产生不希望有的波动。因此:为通过较多的数据点,而盲目地提高插值多项式的次数是不恰当的,宁可采用分段低次多项式(例如三次)一、背景知识815/61三次样条函数-三次样条曲线就是一个分段三次多项式插值,能保证曲线上斜率连续变化(c1连续)、曲率连续变化(c2连续)。分段线性插值c0连续位置连续分段二次插值c1连续位置连续,斜率连续分段三次插值c2连续位置连续,斜率连续,曲率连续:一、背景知识16/61逼近:在某些情况下,测量所得或设计员给出的数据点本身就很粗糙,要求构造一条曲线严格通过给定的一组数据点就没有什么意义。更合理的提法应是,构造一条曲线使之在某种意义下最为接近给定的数据点,称之为对这些数据点进行逼近(approximatton),所构造的曲线称为逼近曲线。这些数据点若原来位于某曲线上,则称该曲线为被逼曲线(原始曲线)。构造逼近曲线所采用的数学方法称为曲线逼近法。类似地,可将曲线逼近推广到曲面。拟合:插值与逼近统称为拟合(fitting)。一、背景知识917/61“样条”工具有机玻璃或木条压铁(型值点)物理上弹性细梁弹性细梁在外加集中栽荷作用下产生的弯曲变形二、三次样条曲线(三次样条函数及其力学背景)1.数学上的三次样条函数的来源平面曲线的曲率欧拉公式M(x)弯矩P(x)梁的曲率半径E、J与梁材料有关的常数由于在各小段上M(x)是线性函数,因此可知,在各小段上函数y(x)是x的三次多项式。在整个梁上,y(x)就是分段三次函数,但它具有直到二阶的连续导数(因为从整个梁来说弯矩M(x)是连续的折线函数)。这一力学背景导致了数学上三次样条函数概念的建立。18/61由样条函数构成的曲线称为样条曲线。当要求在每个数据点处三阶或更高阶的导数也连续时,就要用高次样条,例如,五次样条有四阶导数连续。二、三次样条曲线(三次样条函数及其力学背景)2.三次样条函数的定义1019/61分段来考虑Step1:[0,1]区间上带一阶导数的插值问题。Step2:从[0,1]区间上推广到[xi-1,xi]区间.Step3:为了保证分段的三次参数曲线拼接时满足三次样条曲线的定义(在[x0,xn]上两次连续可导),那么各连接点处(型值点)的一阶导数mi必须满足一定的关系式-m关系式二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线)1.问题的提出:20/61条件:两个端点处的值与一阶导数值求:三次插值函数中的四个系数a0,a1,a2,a3二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线)2.Step1:[0,1]区间上带一阶导数的插值问题1121/61解:设三次插值函数,对y(u)求一阶导数,即,根据端点条件,u=0,y0,y0’u=1,y1,y1’代入端点条件即二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线)例题:曲线段方程y(u)=y0F0(u)+y1F1(u)+y’0G0(u)+y’1G1(u),式中F0(u)、F1(u)、G0(u)、G1(u)称为埃尔米特基函数或三次混合函数。试描述一下上述四个混合函数对曲线形状的影响。0001231'10'123123ayaaaayayaaay=+++==++=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡'1'01032103210001011110001yyyyaaaa0011'20'311000001033212211ayayayay⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥−−−⎢⎥⎢⎥⎢⎥−⎣⎦⎣⎦⎣⎦[]00112323'20'31010101'0'110000010()1133212211()()()()ayayyuuuuuuuayayyyFuFuGuGuyy⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎡⎤⎡⎤==⎣⎦⎣⎦⎢⎥⎢⎥⎢⎥−−−⎢⎥⎢⎥⎢⎥−⎣⎦⎣⎦⎣⎦⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦22/61二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线)埃尔米特基函数F0,F1,G0,G1对曲线的影响为:•F0,F1专门控制端点的函数值对曲线形状的影响,而同端点的导数值无关;•G0,G1则专门控制端点的一阶导数值对曲线形状的影响,而同瑞点的函数值无关。•F0,G0控制左端点的影响,•F1与G1则控制右端点的影响。[]⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡='1'0101010)()()()()(yyyyuGuGuFuFuy1223/61functionhermit()%画出Hermit基函数closeall;u=linspace(0,1,20);F0=2*u.^3-3*u.^2+1;F1=-2*u.^3+3*u.^2;G0=u.*(u-1).^2;G1=u.^2.*(u-1);F0c=6*u.^2-6*u;%F0的一阶导数F1c=-6*u.^2+6*u;%F1的一阶导数G0c=3*u.^2-4*u+1;%G0的一阶导数G1c=3*u.^2-2*u;%G1的一阶导数subplot(121);plot(u,F0,'-r','LineWidth',2);title('埃尔米特基函数');holdall;plot(u,F1,'--r','LineWidth',2);plot(u,G0,'-b','LineWidth',2);plot(u,G1,'--b','LineWidth',2);subplot(122);plot(u,F0c,'-r','LineWidth',2);title('埃尔米特基函数的导数');holdall;plot(u,F1c,'--r','LineWidth',2);plot(u,G0c,'-b','LineWidth',2);plot(u,G1c,'--b','LineWidth',2);24/61基函数的作用基函数的作用z基函数不同就会导致曲线类型不同三次样条函数的理论基础三次样条函数的理论基础FergusonFerguson曲线曲线BBéézierzier曲线曲线BB样条曲线样条曲线HermiteHermite基函数基函数BernsteinBernstein基函数基函数BB样条基函数样条基函数1325/61关键:[xi-1,xi],引入u,作线性变换,变换到[0,1]二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线)3.Step2:从[0,1]区间上推广到[xi-1,xi]区间.[]⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡='1'0101010)()()()()(yyyyuGuGuFuFuy26/61二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线)4.Step3:进行拼接1427/61二、三次样条曲线(用型值点处的一阶导数表示的三次样条曲线)5.结论:m-关系式注意端点条件28/61一一个个结结论论z对于如图所示的型值点列,如果每个点处的且方向m已知,那么按照表达式:xyxi-1xiabyiyi-1三次样条函数的理论基础三次样条函数的理论基础]uGmhuGm[huFyuFyxy1ii01-ii1i01-i)()()()()(+++=分段表示出的曲线一定是一阶连续。如果要二阶连续,这些切矢量必须满足m关系式:i1iii1-iiCmμ2mmλ=+++1529/61一一个个问问题题z给定一批型值点,如何构造处二阶连续的曲线?三次样条函数的理论基础三次样条函数的理论基础xyxi-1xiabyiyi-1(1)按照m关系式构造出方程组,称该方程组为三切矢方程(组),计算出各型值点处的切矢量;(2)各型值点之间的曲线段表示为:]uGmhuGm[huFyuFyxy1ii01-ii1i01-i)()()()()(+++=30/61i1iii1-iiCmμ2mmλ=+++三切矢方程的普通表达形式三切矢方程的普通表达形式121101Cmμ2mmλ=++……1-n1-n1-n21-nCmμ2mmλ=++−nn如何求解:如何求解:((nn--11))个线性方程个线性方程,,内节点的内节点的mm11、、mm22、、……、、mmnn--11未知未知三次样条函数的理论基础三次样条函数的理论基础1631/61①已知m0和mn②已知两端点处的二阶导数。③未知①、②相邻三个节点拟合抛物线,并数值微分求端点的一阶导数。三次样条函数的理论基础三次样条函数的理论基础三切矢方程的边界条件边界条件32/61两个边界条件追赶法求解三次样条函数的理论基础三次样条函数的理论基础三切矢方程的求解求解⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡n1-n210n1-n2101-n1-n2-n211mcccmmmmmm1μ2λ
本文标题:第34讲-三次样条曲线与参数样条曲线
链接地址:https://www.777doc.com/doc-7246576 .html