资源描述
三次参数样条曲线1 1问题提出有空间的n个点,p1,p2,p3,,pn要用一条曲线光滑连接p1p2p3pnp42 2解决问题的思路插值插值三次样条曲线三次样条曲线三次参数样条曲线三次参数样条曲线3 3三次样条曲线-定义对对对对于于于于给给给给定定定定的的的的n n个个个个型型型型值值值值点点点点P Pi i(x(xi i,y,yi i),),且且且且h hi i=x=xi+1i+1-x-xi i0,0,i=1,2,ni=1,2,n,若,若,若,若y=S(x)y=S(x)满满满满足下列条件:足下列条件:足下列条件:足下列条件:(1)(1)在在在在P Pi i(x(xi i,y,yi i)点上有点上有点上有点上有y yi i=S(x=S(xi i);(2)S(x)(2)S(x)在在在在xx1 1,x,xn n 上二上二上二上二阶连续阶连续阶连续阶连续可可可可导导导导;(3)(3)在每个子区在每个子区在每个子区在每个子区间间间间xxi i,x,xi+1i+1 上,上,上,上,S(x)S(x)是是是是x x的三次多的三次多的三次多的三次多项项项项式;式;式;式;则则则则称称称称S(x)S(x)为为为为过过过过型型型型值值值值点点点点的的的的三三三三次次次次样样样样条条条条函函函函数数数数,由由由由三三三三次次次次样样样样条条条条函函函函数数数数构成的曲构成的曲构成的曲构成的曲线线线线称称称称为为为为三次三次三次三次样样样样条曲条曲条曲条曲线线线线。4 4三次样函数的形式推导三次样函数的形式推导由定由定义义可知在可知在xi,xi+1上,上,Si(x)可写成:可写成:Si(x)=ai+bi(x-xi)+ci(x-xi)2+di(x-xi)3ai,bi,ci,di为为待定系数待定系数(1)由于由于yi=Si(xi),Si(xi+1)=Si+1(xi+1)=yi+1,有有 yi=ai ai+bihi+cihi2+dihi3=yi+1(用于求用于求bi)(2)由由Si(x)=bi+2ci(x-xi)+3di(x-xi)2 有有 Si(xi)=bi 由由Si(x)=2ci+6di(x-xi)有有 Si(xi)=2ci5 5三次样函数的形式推导三次样函数的形式推导(3)要求曲要求曲线线在二在二阶连续阶连续可可导导,则则有有 Si(xi+1)=Si+1(xi+1)Si(xi+1)=Si+1(xi+1)从而有从而有 bi+2cihi+3di hi2=bi+1 2ci+6di hi=2ci+1 (求求di)(4)令令Mi=2ci;则则有有:ai=yi ci=Mi/2 di=(Mi+1-Mi)/6 hi bi=(yi+1-yi)/hi-hi(Mi/3+Mi+1/6)6 6三次样函数的形式推导三次样函数的形式推导从而有从而有:ai-1=yi-1 ci-1=Mi-1/2 di-1=(Mi-Mi-1)/6 hi-1 bi-1=(yi-yi-1)/hi-1-hi-1(Mi-1/3+Mi/6)(5)由由 Si-1(xi)=Si(xi)有有bi-1+2ci-1hi-1+3di-1 hi-12=bi令令:i=hi-1/(hi-1+hi),i=hi/(hi-1+hi)Di=6/(hi-1+hi)*(yi+1-yi)/hi-(yi-yi-1)/hi-1可得可得:i Mi-1+2 Mi+i Mi+1=Di,其中:其中:i+i=1,i=2,3,n-17 7三次样函数的端点条件三次样函数的端点条件(1)夹夹持端:持端:端点端点处处一一阶导阶导数已知,即数已知,即 S1(x1)=y1 亦即亦即y1=b1=(y2-y1)/h1-h1(M1/3+M2/6)2 M1+M2=6(y2-y1)/h1-y1/h1 Sn-1(xn)=yn亦即亦即yn-1=bn-1=(yn-yn-1)/hn-1-hn-1(Mn-1/3+Mn/6)Mn-1+2Mn=6 yn-(yn-yn-1)/hn-1/hn-1得方程得方程组为组为:2 M1+M2=6(y2-y1)/h1-y1/h1;i Mi-1+2 Mi+i Mi+1=Di,i=2,3,n-1;Mn-1+2Mn=6 yn-(yn-yn-1)/hn-1/hn-1;8 8三次样函数的端点条件三次样函数的端点条件(2)自由端:自由端:端点端点处处曲曲线线二二阶导阶导数数为为零零即即S1(x1)=y1=0,Sn-1(xn)=yn=0亦即亦即 S1(x1)=2c1=0;=M1=0 Sn-1(xn)=2cn-1+6dn-1hn-1=0;=Mn=0得方程得方程组组:M1=0;i Mi-1+2 Mi+i Mi+1=Di,i=2,3,n-1;Mn=0;9 9三次样函数的端点条件三次样函数的端点条件(3)抛物端抛物端:曲曲线线的的首首尾尾两两段段S1(x)和和Sn-1(x)为为抛抛物物线线。即即曲曲线线在在首尾两段曲首尾两段曲线线上二上二阶导阶导数数为为常数。常数。y1=y2,yn-1=ynS1(x1)=2c1=S2(x2)=2c2 =M1=M2Sn-2(xn-1)=2cn-2+6dn-2hn-2=Sn-1(xn)=2cn-1+6dn-1hn-1 =Mn-1=Mn得方程得方程组组:M1 -M2=0;i Mi-1+2 Mi+i Mi+1=Di,i=2,3,n-1;Mn-1-Mn=0;10102024/5/8 2024/5/8 周三周三1111三次样条曲线-程序程序演示程序演示1212三次参数样条曲线有空间的n个点,p1,p2,p3,,pn要用一条三次参数样条曲线插值p1p2p3pnp41313三次参数样条曲线定义三次参数样条曲线的表达式三次参数样条曲线的表达式 p(t)=B1+B2t+B3t2+B4t3 0=t=tm在两点在两点p1,p2之间定义一条该曲线(参数形式)之间定义一条该曲线(参数形式)令令p1t=0;p2t=t2;已知:已知:p1,p2代入方程可得方程系数代入方程可得方程系数B1B2B3 B4p1p21414三次参数样条曲线推导1515三次参数样条曲线推导1616连续的三次参数样条曲线1717连续的三次参数样条曲线式中式中:pi 第第i点的切矢量为未知数,点的切矢量为未知数,(i=1,,n)求解求解n个未知数,要个未知数,要n个方程个方程1818连续的三次参数样条曲线端点条件1919三次参数样条曲线端点条件2020三次参数样条曲线求三次参数样条曲线的表达式求三次参数样条曲线的表达式求三次参数样条曲线的表达式求三次参数样条曲线的表达式 p(t)=B p(t)=B1 1+B+B2 2t+Bt+B3 3t t2 2+B+B4 4t t3 3 0=t=t0=t=tmm(1)(1)给点给点给点给点p pi i(i=1,ni=1,n)(2)(2)给端点条件给端点条件给端点条件给端点条件(3)(3)解方程求各点切矢量;解方程求各点切矢量;解方程求各点切矢量;解方程求各点切矢量;(4)(4)计算各段系数(取计算各段系数(取计算各段系数(取计算各段系数(取t ti+1i+1为第为第为第为第i i段直线段长)段直线段长)段直线段长)段直线段长)(5)(5)根据参数给各段曲线根据参数给各段曲线根据参数给各段曲线根据参数给各段曲线p1p2p3p5p421212024/5/8 2024/5/8 周三周三2222
展开阅读全文