第6章 自由曲线与曲面new.ppt

上传人:hyn****60 文档编号:70704132 上传时间:2023-01-25 格式:PPT 页数:217 大小:2.90MB
返回 下载 相关 举报
第6章 自由曲线与曲面new.ppt_第1页
第1页 / 共217页
第6章 自由曲线与曲面new.ppt_第2页
第2页 / 共217页
点击查看更多>>
资源描述

《第6章 自由曲线与曲面new.ppt》由会员分享,可在线阅读,更多相关《第6章 自由曲线与曲面new.ppt(217页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第6章章自由曲线与曲面自由曲线与曲面 6.1基础知识基础知识6.2 自由曲线的数学描述自由曲线的数学描述6.3 自由曲面的数学描述自由曲面的数学描述16.1基础知识基础知识一、一、曲线和曲面的表示形式曲线和曲面的表示形式(1)表示形式)表示形式显式:显式:y=f(x),z=f(x,y)如如 y=mx+b表示直线表示直线(一个一个x对应一个对应一个y)一般,显式很难表示封闭、多值曲线。一般,显式很难表示封闭、多值曲线。2隐式:隐式:f(x,y)=0,F(x,y,z)=0例如,例如,ax2+2bxy+cy2+2dx+2ey+f=0圆锥曲线圆锥曲线(x/a)2+(y/b)2+(z/c)2=1椭球面

2、椭球面 参数参数式式:x=x(t),y=y(t)x=x(u,v),y=y(u,v),z=z(u,v)例如,例如,x=rcos,y=rsin 表示圆表示圆x=acos cos y=bcos sin z=csin 表示表示椭球面椭球面 3矢量形式:矢量形式:4非参数方程的表示有以下缺点非参数方程的表示有以下缺点:1)与坐标轴相关与坐标轴相关;2)会出现斜率为无穷大的情况会出现斜率为无穷大的情况;3)非平面曲线曲面难以用常系数非参数化函数非平面曲线曲面难以用常系数非参数化函数表示表示;4)不便于计算和编程。不便于计算和编程。(2)(2)表示形式的比较表示形式的比较5参数方程的优点参数方程的优点:1)

3、有更大的自由度来控制曲线曲面的形状有更大的自由度来控制曲线曲面的形状;2)与坐标轴无关与坐标轴无关;3)便于处理斜率无穷大的问题,不会因此而中断便于处理斜率无穷大的问题,不会因此而中断计算计算;4)用参数表示曲线时,因为参数变量是规范化的,用参数表示曲线时,因为参数变量是规范化的,t的变化限制在的变化限制在0,1范围内,所以曲线总是有界的。范围内,所以曲线总是有界的。6关于关于C0,C1,C2和和G0,G1,G2的连续的连续C0和和G0连续:连续:连接点处位置相等。连接点处位置相等。G1连续:连续:连接点处位置相等,切矢方向相同,大小连接点处位置相等,切矢方向相同,大小不等。不等。C1连续:连

4、续:连接点处位置相等,切矢方向连接点处位置相等,切矢方向/大小均相同。大小均相同。G2连续:连续:连接点处连接点处G0、G1连续,且二阶导数方向相连续,且二阶导数方向相同,大小不等。同,大小不等。C2连续:连续:连接点处连接点处C0、C1连续,且二阶导数大小和连续,且二阶导数大小和方向相等。方向相等。二、曲线段间的连续性二、曲线段间的连续性78三、三、曲线曲面的拟合(插值和逼近)曲线曲面的拟合(插值和逼近)在在工工程程实实践践中中,如如飞飞机机、汽汽车车、船船舶舶的的外外形形设设计计时时,常常遇遇到到由由离离散散点点来来构构造造曲曲线线和和曲曲面面的的问问题。解决这个问题的通常方法是题。解决这

5、个问题的通常方法是“拟合拟合”。拟合包含拟合包含插值和逼近插值和逼近两类方法:两类方法:插插值值法法(interpolation):采采用用完完全全通通过过原原始始给给定定的的型值点构造曲线、曲面并达到某些设计要求的方法。型值点构造曲线、曲面并达到某些设计要求的方法。给定的一组有序数据点,可以从某个形状测量给定的一组有序数据点,可以从某个形状测量得到,也可以是设计员计算给出得到,也可以是设计员计算给出;顺序通过顺序通过这些点,这些点,构造曲线构造曲线/曲面。曲面。9逼近法逼近法(approximation):采用采用相对贴近相对贴近原始给原始给定的型值点构造曲线、曲面并达到定的型值点构造曲线、

6、曲面并达到.设计要求的方法。设计要求的方法。如果测量所得或设计员给出的数据点本身就很如果测量所得或设计员给出的数据点本身就很粗糙,要求构造一条曲线严格通过给定的一组数据粗糙,要求构造一条曲线严格通过给定的一组数据点就没什么意义。这时,点就没什么意义。这时,要求所构造的曲线在某种要求所构造的曲线在某种意义下最为贴近给定的数据点。意义下最为贴近给定的数据点。插值法:插值法:插值法:插值法:三次样条(参数)曲线、双三次三次样条(参数)曲线、双三次coons曲面。曲面。逼近法:逼近法:逼近法:逼近法:Bezier曲线曲线/曲面、曲面、B样条曲线样条曲线/曲面、曲面、NURBS曲线曲线/曲面曲面等。等。

7、106.2 自由曲线的数学描述自由曲线的数学描述一、三次样条曲线一、三次样条曲线 给给定定(n+1n+1)个个点点P Pi i(i=0,1,n),(i=0,1,n),要要找找出出一一条条过过这些型值点的曲线这些型值点的曲线C(u)C(u),有两种极端情况有两种极端情况:1)1)每每对对点点 P Pi i,P PI+1I+1 之之间间的的线线性性插插值值。问问题题是是只只能能保保证证各各个个曲曲线线段段连连续续,整整条条曲曲线线在在型型值值点点处处出出现现拐拐折现象。折现象。为什么用为什么用“三次三次”?11 2 2)使用使用n n次拉格朗日多项式插值。次拉格朗日多项式插值。当当P Pi i的的

8、点点数数n n越越多多,插插值值多多项项式式的的次次数数越越高高,曲曲线线会引起激烈波动、振荡,甚至扭曲,且计算量很大。会引起激烈波动、振荡,甚至扭曲,且计算量很大。另另外外,单单一一的的低低次次多多项项式式曲曲线线又又难难以以用用来来描描述述复复杂杂形状的曲线。形状的曲线。唯唯一一的的选选择择:采采用用分分段段的的低低次次多多项项式式插插值值生生成成低低次次曲线段,并在满足一定的连接条件下曲线段,并在满足一定的连接条件下逐段拼接起来逐段拼接起来。大多数应用发现,大多数应用发现,三次是一个好的折衷。三次是一个好的折衷。12三次样条函数就是一种三次样条函数就是一种分段三次多项式插分段三次多项式插

9、值,值,它不但能保证曲线上斜率连续(一阶导数连它不但能保证曲线上斜率连续(一阶导数连续)变化,而且也能保证曲率连续(二阶连续)续)变化,而且也能保证曲率连续(二阶连续)变化。这对飞机、汽车、船舶的外形来说,已能变化。这对飞机、汽车、船舶的外形来说,已能满足要求了。满足要求了。131.1.1.1.三次样条函数力学背景三次样条函数力学背景 数学上的三次样条来自生产实践中放样员的样条。数学上的三次样条来自生产实践中放样员的样条。所所谓谓的的样样条条是是一一根根富富有有弹弹性性的的均均匀匀的的细细木木条条或或塑塑料料条条。放放样样员员先先将将型型值值点点准准确确地地点点在在图图板板上上,用用压压铁铁强

10、强迫迫模模线线通通过过这这些些型型值值点点,再再适适当当调调整整这这些些压压铁铁,让让样样条条的的形形态态发发生生变变化化,直直至至取取得得满满意意的的形形状状,才才沿着样条画出所需的曲线。沿着样条画出所需的曲线。14如果把样条看成弹性细梁,压铁看成作用在这如果把样条看成弹性细梁,压铁看成作用在这梁的某些点上的集中载荷,可把上述画模线的过程梁的某些点上的集中载荷,可把上述画模线的过程在力学上抽象为:在力学上抽象为:求弹性细梁在外加集中载荷作用求弹性细梁在外加集中载荷作用下产生的弯曲变形下产生的弯曲变形。切出两相邻压铁间的一段梁看,只在梁的两端切出两相邻压铁间的一段梁看,只在梁的两端有集中力作用

11、,故有集中力作用,故弯矩在这段梁内是线性函数弯矩在这段梁内是线性函数。曲率曲率=(x)1=M(x)EJ=y”(1+y2)3/2小挠度条件小挠度条件(y1),y”=M(x)EJ与材料和形状与材料和形状有关的常数有关的常数15M(x)是是线线性性函函数数,函函数数Y(x)是是x的的三三次次多多项项式式,在在整个梁上整个梁上Y(x)是分段三次函数是分段三次函数,但它处处二阶可导。,但它处处二阶可导。这一力学背景,导致了数学上三次样条函数概念的建立。这一力学背景,导致了数学上三次样条函数概念的建立。样条特点:样条特点:(1)样条本身是连续的整体,相当于函数是连续的;)样条本身是连续的整体,相当于函数是

12、连续的;(2)样样条条左左右右两两段段在在压压铁铁处处的的斜斜率率相相同同,相相当当于于函函数数是是一一阶连续的。阶连续的。(3)样样条条左左右右两两段段在在压压铁铁处处的的曲曲率率相相同同,相相当当于于函函数数是是二二阶连续的。阶连续的。162.三次样条函数定义三次样条函数定义 定义定义:在区间在区间x0,xn上给定一个分割:上给定一个分割:x0 x1xn-1xn插值条件为插值条件为:xx0 x1x2xn-1xnyy0y1y2yn-1yn若有函数若有函数y(x)适合:适合:1)y(xi)=yi(i=0,1,n);2)y(x)在全区间在全区间x0,xn上上二次连续可导二次连续可导;3)在每个)

13、在每个子区间子区间xi-1,xi(i=1,n)上是上是x的的三次多项式三次多项式。则称则称y(x)是关于已知插值条件的三次样条函数。是关于已知插值条件的三次样条函数。由样条函数构成的曲线称为样条曲线。由样条函数构成的曲线称为样条曲线。171)三次样条曲线段三次样条曲线段10uy0y1yy0y1以自变量以自变量u表示的三次曲线方程为:表示的三次曲线方程为:y(u)=a0+a1u+a2u2+a3u3曲线的始末端点通过一对已知位曲线的始末端点通过一对已知位置矢量置矢量y0和和y1,已知切矢(对参数已知切矢(对参数u求导求导)y0和和y1,则有方程:则有方程:18解出解出a0,a1,a2,a3,带入带

14、入整理后得到:整理后得到:19(6-1)其中:其中:(6-2)20矩阵形式:矩阵形式:其中:F0、F1、G0、G1称为称为Hermite基函数。基函数。作用:作用:控制曲线段两端点的位置矢量和一价导矢对曲线形控制曲线段两端点的位置矢量和一价导矢对曲线形状的影响。状的影响。(6-3)21xi0 xyi-1yiymimi-1mi+1xi-1xi+12)三次样条曲线之一三次样条曲线之一现现在在解解决决区区间间 x xi i-1-1,x xi i 上上带带一一阶导数的插值问题。阶导数的插值问题。设设对对应应于于区区间间两两端端的的函函数数值值与与一阶导数一阶导数(对对x)x)值如图。值如图。从从u 0

15、,1x xi-1,xi:u=(x-xi-1)/hi,(hi=xi-xi-1)故故,yu=yxhi对应于对应于x xi-1,xi,仿式,仿式(6-3),(6-3),第第i i段曲线的表达式为:段曲线的表达式为:yi(x)=1uu2u3Mcyi-1yihimi-1himi(6-4)(i=1,2,.,n)(用型值点处一阶导数表示用型值点处一阶导数表示)M是对是对x的导数的导数22(6-4)式确定的函数式确定的函数y(x),本身及其一阶导数本身及其一阶导数y(x)在在x0,xn上的连续性,是由各段的插值条件保证的,不论上的连续性,是由各段的插值条件保证的,不论m0,m1,mn取什么值,取什么值,y(x

16、)、y(x)总是连续的。但任意总是连续的。但任意地选取地选取m0,m1,mn就不能保证就不能保证y”(x)在在x0,xn上连上连续。为保证各内节点处的续。为保证各内节点处的y”(x)也连续,也连续,mi必须满足一定必须满足一定条件。条件。xi0 xyi-1yiymimi-1mi+1xi-1xi+123将式将式(6-4)对对x求导两次,得求导两次,得y”i(x)为为u的函数的函数。则让则让:第第i段段xi-1,xi曲线段的末点曲线段的末点(在在xi处处,此点此点u=1),与第与第i+1段段xi,xi+1曲线段的始点曲线段的始点(在在xi处处,此点此点u=0)24的二阶导数连续:的二阶导数连续:y

17、”i(xi)=y”i+1(xi)整理后得整理后得m关系式关系式:imi-1+2mi+imi+1=ci(i=1,2,.,n-1)(6-5)i=,i=1-ihi+1hi+hi+1ci=3(i+i)yi-yi-1hiyi+1-yihi+125式式(6-4)、(6-5)包包含含m0,m1,,mn共共n+1个个未未知知量量,对对应应整整条条曲曲线线的的x0、x1,xn的的n+1型型值值点点,式式(6-5)包包含含n-1个个方方程程个个数数,还还不不足足以以完完全全确确定定这这些些mi,须添加两个条件。须添加两个条件。这两个条件通常根据对边界节点这两个条件通常根据对边界节点x0与与xn处的附加处的附加要求

18、来提供,故称为端点条件。常见有以下几种:要求来提供,故称为端点条件。常见有以下几种:(1)已知曲线两端点处的已知曲线两端点处的m0与与mn。(6-5)式式成成为为关关于于n-1个个未未知知量量m1mn-1的的n-1个个线线性性方方程程。第第一个方程为:一个方程为:2m1+1m2=c1-1m0第第n-1个方程为:个方程为:n-1mn-2+2mn-1=cn-1-n-1mn26(2)给定两端点的二阶导数给定两端点的二阶导数M0、Mn。得得:2m0+m1=C0mn-1+2mn=Cni0代入代入in代入代入27在求得所有在求得所有mi后,分段三次曲线即可由后,分段三次曲线即可由(6-4)确定。确定。整条

19、三次样条曲线的表达式为:整条三次样条曲线的表达式为:y(x)=yi(x)(i=1,2,.,n)(3)特别当特别当M0=0或或Mn=0时,称为自由端点条件。时,称为自由端点条件。此时端点为切点,曲率半径无限大。例如,在曲线此时端点为切点,曲率半径无限大。例如,在曲线端点出现拐点或与一直线相切时。端点出现拐点或与一直线相切时。28与与2)方方法法类类似似,先先解解决决u 0,1带带二二阶阶导导数数的的插插值值问问题题,推广到整个推广到整个x0,xn区间。区间。曲线段两端点四个已知条件:曲线段两端点四个已知条件:y0,y1,y0,y”1。构作三次曲线段方程为:构作三次曲线段方程为:y(u)=y0F0

20、(u)+y1F1(u)+y”0G0(u)+y”1G1(u)(6-6)F0(u)=1-uG0(u)=-u(u-1)(u-2)/6F1(u)=uG1(u)=u(u-1)(u+1)/6(6-7)3)三次样条曲线之二三次样条曲线之二(用型值点处二阶导数表示用型值点处二阶导数表示)29在区间在区间xi-1,xi上带二阶导数的插值。上带二阶导数的插值。设设对对应应于于x xi-1,xi区区间间两两端端点点的的函函数数值值与与二二阶阶导导数数(对对x)值值分别为分别为yi-1,yi,Mi-1,Mi。则该曲线段的表达式为:则该曲线段的表达式为:yi(x)=F0(u)F1(u)G0(u)G1(u)yi-1yih

21、i2Mi-1hi2Mi(6-8)它它适适合合指指定定的的带带二二阶阶导导数数的的插插值值条条件件,保保证证了了函函数数及及其其二二阶导数在阶导数在x0,xn上的连续性。上的连续性。但但为为了了使使各各内内节节点点处处的的一一阶阶导导数数也也连连续续,则则Mi必必须须适适合合M关系式关系式。(i=1,2,.,n)30根据根据:yi(xi)|u=1=yi+1(xi)|u=0,得得M关系式:关系式:iMi-1+2Mi+iMi+1=di(6-9)i=,i=1-ihi+1hi+hi+1di=(-_)yi+1-yihi+1yi-yi-1hi6hi+hi+1-它是一个有它是一个有n-1个方程的线性方程组,含

22、个方程的线性方程组,含n+1个未知数个未知数M0,M1,Mn,为了完全确定它们,必须加上两个端点条为了完全确定它们,必须加上两个端点条件。常用的端点条件有:件。常用的端点条件有:311)两端点二阶导数值)两端点二阶导数值M0、Mn。当当M1=Mn=0时,为自由端点条件。时,为自由端点条件。2)两端点二阶导数值)两端点二阶导数值m0、mn已知。已知。求得求得Mi后,分段三次曲线可由式(后,分段三次曲线可由式(6-8)确定,整条)确定,整条三次样条曲线可由三次样条曲线可由y(x)=yi(x)(i=1,2,n)表示。表示。323.三次样条曲线的局限性三次样条曲线的局限性1)大斜率曲线不能处理大斜率曲

23、线不能处理 受样条函数力学背景假设(受样条函数力学背景假设(dy/dx1)限制限制,不适合大挠度情况。不适合大挠度情况。与坐标系的选取有关。与坐标系的选取有关。2)多值曲线不能处理多值曲线不能处理受样条函数定义限制,受样条函数定义限制,x x与与y y 须单值对应。须单值对应。与坐标系的选取有关。与坐标系的选取有关。3)无局部性无局部性从从m-关系式、关系式、M-关系式可知。关系式可知。334.参数样条曲线参数样条曲线累加弦长三次参数样条曲线累加弦长三次参数样条曲线 给定一组型值点给定一组型值点Pi(xi,yi,zi),(i=0,1,.,n)构造三个关于构造三个关于参数参数u的插值三次样条函数

24、:的插值三次样条函数:x=x(u),y=y(u),z=z(u)它们分别插值于点集它们分别插值于点集(ui,xi)、(ui,yi)、(ui,zi),i=0,1,n。将三者合并,形成三次参数样条曲线将三者合并,形成三次参数样条曲线r(u)=x(u),y(u),z(u)34累加弦长三次参数样条曲线定义:累加弦长三次参数样条曲线定义:给定型值点给定型值点pi(xi,yi,zi),),i=0,1,n,累加弦长为:累加弦长为:s0=0sk=lk=(xi-xi-1)2+(yi-yi-1)2+(zi-zi-1)2,(k=1,2,.,n)i=1ki=1k二阶连续可微,都是参数二阶连续可微,都是参数s的分段三次多

25、项式。所得的参数的分段三次多项式。所得的参数样条曲线样条曲线r(s)=x(s),y(s),z(s)也是二阶连续的,具有连也是二阶连续的,具有连续的斜率、曲率。续的斜率、曲率。由此得数据表由此得数据表:ss0s1.sn xx0 x1.xnyy0y1.ynzz0z1.zn据表可构造三个插值据表可构造三个插值三次样条函数三次样条函数x=x(s),y=y(s),z=z(s),它们在区间它们在区间s0,sn上上35举例举例:已知三个位置矢量已知三个位置矢量P0(0,0)、P1(1,2)、P2(3,2),端点条件端点条件:自由端点自由端点。确定过三点的三次样条曲线确定过三点的三次样条曲线。提示:提示:M0

26、=M2=Mx,My=0,0,Mx=,My=d2x d2s d2y d2s用用M关系式求出关系式求出M1;用(用(6-8)式写出)式写出x=x(s),y=y(s)iMi-1+2Mi+iMi+1=di(6-9)参数用累加弦长确定参数用累加弦长确定36二、二、BezierBezier曲线曲线 1.Bezier曲线的定义曲线的定义 一条一条BezierBezier曲线由两个端点和若干个不在曲线上曲线由两个端点和若干个不在曲线上但能够决定曲线形状的点确定。下图表示一条三次但能够决定曲线形状的点确定。下图表示一条三次BezierBezier曲线由两个端点曲线由两个端点V V0 0、V V3 3和另两个不在

27、曲线上的和另两个不在曲线上的点点V V1 1、V V2 2确定。确定。V V0 0、V V1 1、V V2 2、V V3 3构成构成了了来定义曲线的特征来定义曲线的特征多边形。多边形。V0V1V2V337 一般,一般,n n次次BezierBezier曲线由曲线由 n+1 n+1 个顶点构成的特征个顶点构成的特征多边形确定。多边形确定。Bezier Bezier曲线的表达式:由特征多边形顶点的曲线的表达式:由特征多边形顶点的位位置矢量与伯恩斯坦基函数置矢量与伯恩斯坦基函数线性组合。线性组合。r(u)=ni=0Bn,i(u)Vi其中其中,Vi 是是特征多边形顶点的特征多边形顶点的位置矢量;位置矢

28、量;Bn,i(u)是是伯恩斯伯恩斯坦基函数,坦基函数,控制多边形顶点对曲线形状的影响控制多边形顶点对曲线形状的影响。Bn,i(u)=Cniui(1-u)n-i,Cni=n!i!(n-i)!(6-10)i=0,1,2,.,n38一次一次一次一次BezierBezier曲线曲线曲线曲线:n=1,两个控制顶点两个控制顶点,是一条直线。是一条直线。r(u)=(1-u)V0+uV1,u二次二次二次二次BezierBezier曲线:曲线:曲线:曲线:n=2,有三个控制顶点,是二次圆锥曲线。有三个控制顶点,是二次圆锥曲线。r(u)=1uu2u3 1 0 0-2 2 0 1 -2 1 V1V0 V2u39三次

29、三次三次三次BezierBezier曲线曲线曲线曲线n=3,有四个控制顶点。有四个控制顶点。B3,0(t)=1-3u+3u2-u3B3,1(t)=3u-6u2+3u3B3,2(t)=3u2-3u3B3,3(t)=u310001000-3300-33003-6303-630-13-31-13-31V V0 0V V1 1V V2 2V V3 3u(6-11)(6-12)MBEr(u)=1uu2u3402.Bezier曲线的几何性质曲线的几何性质1)端点性质)端点性质位置矢量位置矢量:u=0时时,r(0)=V0,u=1时时,r(1)=Vn切矢量切矢量:r(0)=n(V1-V0),r(1)=n(Vn

30、-Vn-1)二阶导矢二阶导矢:r(0)=n(n-1)(V2-2V1+V0),r(1)=n(n-1)(Vn-2Vn-1+Vn-2)Bezier曲线的起点和终点曲线的起点和终点分别是特征多边形的始、末顶点;分别是特征多边形的始、末顶点;曲线在起点和终点曲线在起点和终点处分别与特征多边形的第一和最后一条边处分别与特征多边形的第一和最后一条边相切相切,切矢量的模长为第一和最后边长的,切矢量的模长为第一和最后边长的n倍。倍。曲线在两端点处的曲线在两端点处的k阶导矢阶导矢只与它最近的只与它最近的(k+1)个顶点有关。个顶点有关。412)对称性对称性特征多边形的特征多边形的顶点位置不变,顶点位置不变,仅仅仅

31、序号相反,仅序号相反,Bezier曲线的形状曲线的形状不变不变,仅方向相反。仅方向相反。V0V1V2V3r(u)r*(1-u)V0*V1*V2*V3*令 i=n-j,r*(u)=nj=0Bn,n-j(u)Vj=Bn,j(1-u)Vj=r(1-u)nj=0 =r*(u)=ni=0Bn,i(u)Vi*ni=0Bn,i(u)Vn-iVi*=Vn-i,423)凸包性凸包性凸包性凸包性4)几何几何几何几何不变性不变性不变性不变性Bezier曲线的形状和位置,曲线的形状和位置,仅与特征多边形的顶点位仅与特征多边形的顶点位置有关,置有关,与坐标系的选择无关。与坐标系的选择无关。435)变差减小性变差减小性

32、若特征多边形是一个平面图形,若特征多边形是一个平面图形,那么平面内的任意那么平面内的任意直线,直线,与与r(u)的交点个数,的交点个数,不多于与特征多边形的交点不多于与特征多边形的交点个数。个数。443.Bezier曲线的几何作图法及其分割曲线的几何作图法及其分割r(0)r(1)r(1/3)45ABCDEFB点运动,保持这点运动,保持这个比例不变个比例不变46V0V1V2V3V01V11V21V02V12V03分分割割过过程程:V0V1V2V3V00V10V20V30V01V11V21V02V12V03分割分割递推递推递推递推算法算法:Vij=(1-u)Vij-1+uVi+1j-1j=1,2,

33、.,n;i=0,1,.,n-jVi0=Vi47void bez_to_points(degree,npoints,coeff,points)int degree,npoints;float coeff,points;float t,delt;int i;float decas();delt=1.0/(float)npoints;/*step length*/t=0.0;for(i=0;i=npoints;i+)pointsi=decas(degree,coeff,t);t=t+delt;48float decas(degree,coeff,t)float coeff;float t;int d

34、egree;int r,i;float t1;float coeffa10;t1=1.0-t;for(i=0;i=degree;i+)coeffai=coeffi;for(r=1;r=degree;r+)for(i=0;i=degree-r;i+)49coeffai=t1*coeffai+t*coeffai+1;return(coeffa0);504.Bezier曲线的拼接曲线的拼接以三次以三次Bezier曲线为例。曲线为例。对于形状比较复杂的曲线,只用一段三次对于形状比较复杂的曲线,只用一段三次Bezier曲线描述就不够了。工程上往往用分段曲线描述就不够了。工程上往往用分段Bezier样条曲

35、线描述。样条曲线描述。将分段的将分段的Bezier曲线连接起来构成三次曲线连接起来构成三次Bezier样条曲线,其关键问题是如何保证连接样条曲线,其关键问题是如何保证连接处具有处具有G1及及G2连续性。连续性。51V0(1)V1(1)V2(1)V3(1)V0(2)V3(2)V2(2)V1(2)r(1)(u1)r(2)(u2)1)位置连续位置连续r(2)(u2=0)=r(1)(u1=1)V0(2)=V3(1)2)斜率连续斜率连续r(2)(0)=r(1)(1)V1(2)=(V3(1)-V2(1)+V0(2)即,要求三顶点即,要求三顶点(V2(1)、V3(1)=V0(2)、V1(2)共线。共线。52

36、3)曲率连续曲率连续r(1)(1)r(1)(0)|r(1)(1)|3r(2)(0)r(2)(0)|r(2)(0)|3=r(2)(0)=2r(1)(1)+r(1)(1)V2(2)-V3(1)=(2+2+/2)(V3(1)-V2(1)-2(V2(1)-V1(1)表明表明V1(1)、V2(1)、V3(1)=V0(2)、V1(2)、V2(2)五点共面。五点共面。535.反算反算Bezier曲线特征点曲线特征点给定给定 n+1n+1 个型值点个型值点 Pi(i=0,1,.,n),要求构造要求构造一条一条Bezier曲线曲线通过这些点。通过这些点。先求过先求过Pi的的特征多边形顶点的的特征多边形顶点Vi(

37、i=0,1,.,n)。取参数取参数u=i/n代入代入(6-10)式式,与点与点Pi对应,反求对应,反求Vi。54三、均匀三、均匀B B样条曲线样条曲线保留保留Bezier方法方法顶点和基函数线性组合顶点和基函数线性组合带来的直观、带来的直观、方便、易修改的优点方便、易修改的优点,仍然采用控制顶点定义曲线仍然采用控制顶点定义曲线。B样条与样条与Bezier曲线比较曲线比较,区别在于区别在于:Bezier曲线的次数等于控制顶点数曲线的次数等于控制顶点数1,但曲线与,但曲线与特征多边形仍逼近不够特征多边形仍逼近不够;B样条曲线的次数与控制顶样条曲线的次数与控制顶点的数量无关,曲线与特征多边形相当接近

38、点的数量无关,曲线与特征多边形相当接近。Bezier曲线缺乏局部性质曲线缺乏局部性质,修改一个顶点将影响整,修改一个顶点将影响整条曲线;条曲线;B样条曲线具有局部性质样条曲线具有局部性质。55B样条曲线的定义样条曲线的定义:给定给定n+1个顶点个顶点V0,V1,Vn,确定的确定的B样条曲线样条曲线其中,其中,Ni,M是是B样条基函数。样条基函数。r(u)=561.1.1.1.三次三次B B样条曲线样条曲线1)三次三次B B样条基函数样条基函数N0,4(u)N1,4(u)N2,4(u)N3,4(u)=1uu2u3MB(6-13)MB=1410-30303-630-13-3161u先给出工程上常用

39、的先给出工程上常用的三次三次B B样条基函数的矩阵表达式样条基函数的矩阵表达式:572)三次三次B B样条曲线段样条曲线段ri(u)=N0,4(u)N1,4(u)N2,4(u)N3,4(u)ViVi+1Vi+2Vi+3u(6-14)端点性质端点性质:ri(0)=Vi+1+(Vi+Vi+2)Vi+1ri(1)=Vi+2+(Vi+1+Vi+3)Vi+21312131258ri(0)=Vi+1+(Vi+Vi+2)Vi+1131259ri(0)=(Vi+2Vi)ri(1)=(Vi+3Vi+1)ri”(0)=(Vi+2Vi+1)+(ViVi+1)ri”(1)=(Vi+3Vi+2)+(Vi+1Vi+2)1

40、212(6-15)60ViVi+1Vi+2Vi+3ri(0)ri(1)ri”(0)ri”(1)ri(0)ri(1)613)三次三次B B样条曲线样条曲线 当特征多边形的顶点当特征多边形的顶点超过四个超过四个时时,每增加一个顶点每增加一个顶点,相相应地增加一段样条曲线。应地增加一段样条曲线。因为特征多边形中每四个相邻因为特征多边形中每四个相邻的顶点按的顶点按(6-14)式定义一段曲线。式定义一段曲线。=1uu2u3MBri(u)=N0,4(u)N1,4(u)N2,4(u)N3,4(u)ViVi+1Vi+2Vi+3ViVi+1Vi+2Vi+3u,(i=0,1,.,n-2)(6-15)62V0V1V

41、iVi+1Vi+2Vi+3Vi+4VnVn+1ri(u)ri+1(u)u632.2.2.2.B B样条基函数定义样条基函数定义1)三次三次B B样条基函数的样条基函数的Clark方法方法已知已知n+2个顺序排列的位置矢量个顺序排列的位置矢量:V0、V1、.、Vn+1设设Nj,4(u)(j=0,1,2,3)为为u u 的三次多项式的三次多项式:Nj,4(u)=Aju3+Bju2+Cju+Dj,j=0,1,2,3(有有16个系数个系数)ri(u)=N0,4(u)Vi+N1,4(u)Vi+1+N2,4(u)Vi+2+N3,4(u)Vi+3(6-16)(i=0,1,.,n-2;u 0,1)(根据曲线位

42、置、斜率、曲率连续推导)根据曲线位置、斜率、曲率连续推导)64要求曲线段在连接处位置、斜率、曲率连续要求曲线段在连接处位置、斜率、曲率连续,即即ri(1)=ri+1(0)ri(1)=ri+1(0)ri”(1)=ri+1”(0)根据位置矢量根据位置矢量Vi+j(j=0,1,2,3,4)的系数相等条件的系数相等条件,每每式有五个方程式有五个方程,共有共有 15 15 个方程,还差一个方程。个方程,还差一个方程。当当Vi=Vi+1=Vi+2=Vi+3时,时,ri(u)=Vi(曲线退化为一点):曲线退化为一点):N0,4(u)+N1,4(u)+N2,4(u)+N3,4(u)165解方程组得到四个解方程

43、组得到四个三次多项式三次多项式Nj,4(u)(j=0,1,2,3):N0,4(u)=(1-3u+3u2-u3)N1,4(u)=(4-6u2+3u3)N2,4(u)=(1+3u+3u2-3u3)N3,4(u)=u313!13!13!13!66 2 2)递推定义)递推定义定义定义:在参数轴:在参数轴x区间区间a,b上取分割上取分割a=x0 x11、整数),整数),M阶阶B样条基函数是一个只在样条基函数是一个只在M个个子区间子区间xi,xi+M非零的分段(非零的分段(M1m)次多项式,具有次多项式,具有直到直到M2阶的连续导数。阶的连续导数。1阶(阶(0次)次)B样条基:样条基:i,1682阶(阶(

44、1次)次)B样条基:样条基:Ni+1,1(x)=1xi+1 x xi+20 xi xi+1,xi+2代入代入(6-17):Ni,2(x)=x-xixi+1-xixi+2-xxi+2-xi+10 xi x xi+1xi+1 x xi+2xi xi,xi+2令令xi,xi+1内内,u=x-xi:Ni,2(u)=uNi,2(u)=1-u0101ui,1693阶(阶(2次)次)B样条基:样条基:Ni,3(x)=(x-xi)2(xi+2-xi)(xi+1-xi)0 xi xxi+1xi+1 xxi+2xi xi,xi+3(xxi)2(xi+2-xi)(xi+1-xi)(xi+3-xi)(x-xi+1)2

45、(xi+3-xi+1)(xi+2-xi+1)(xi-xi+1)+(xi+3-x)2(xi+3-xi+2)(xi+3-xi+1)xi+2 x xi+370在在(xi xxi+1)区间区间,令令u=x-xiNi,3(u)=u2,u 0,112!Ni,3(u)=(1+2u-2u2),u 0,112!在在(xi+1 xxi+2)区间区间,令令u=x-xi+1在在(xi+2 x xi+3)区间区间,令令u=x-xi+2Ni,3(u)=(1-u)2,u 0,112!01010171Ni,4(x)=(xxi)3(xi+3-xi)(xi+2-xi)(xi+1-xi)(xi+4-xi)(x-xi+1)3(xi+

46、1-xi+4)(xi+1-xi+3)(xi+1-xi+2)(xi+1-xi)+(xxi)3(xi+3-xi)(xi+2-xi)(xi+1-xi)(xi+4-xi)(xi+3-x)3(xi+3-xi+2)(xi+3-xi+1)(xi+3-xi)(xi+3-xi+4)+(xi+4x)3(xi+4-xi+1)(xi+4-xi+2)(xi+4-xi+3)(xi+4x)3(xi+4-xi+1)(xi+4-xi+2)(xi+4-xi+3)4阶(阶(3次)次)B样条基:样条基:0 xi xxi+1xi+1 xxi+2xi+2 xxi+3xi+3 x,xi+4xi xi,xi+472在在(xi xxi+1)区

47、间区间,令令u=x-xiNi,4(u)=u3,u 0,113!Ni,4(u)=(1+3u+3u2-3u3),u 0,113!在在(xi+1 xxi+2)区间区间,令令u=x-xi+1在在(xi+2 xxi+3)区间区间,令令u=x-xi+2Ni,4(u)=(4-6u2+3u3),u 0,113!在在(xi+3 x,xi+4)区间区间,令令u=x-xi+3Ni,4(u)=(1-u)3,u 0,113!733.3.3.3.B B样条曲线几何性质样条曲线几何性质1)端点性质端点性质(以三次(以三次B B样条曲线为例)样条曲线为例)2)直观性直观性形状决定于形状决定于B特征多边形,逼近度更好。特征多边

48、形,逼近度更好。3)局部性局部性改变特征多边形的一顶点,只对相邻的四条曲线改变特征多边形的一顶点,只对相邻的四条曲线段产生影响。段产生影响。4)凸包性凸包性5)对称性对称性6)几何不变性)几何不变性7)变差减小性变差减小性744 4 4 4.基于顶点的三次基于顶点的三次B B样条曲线退化情况样条曲线退化情况1)三顶点共线)三顶点共线起点:拐点,切点起点:拐点,切点2)四顶点共线)四顶点共线起点起点末点末点753)两顶点重合)两顶点重合端点端点4)三顶点重合)三顶点重合V(3)V(2)76设计时,要求:设计时,要求:构造一段直线构造一段直线,则则曲线与特征多边形相切,则曲线与特征多边形相切,则曲

49、线上形成尖点,曲线上形成尖点,则则四顶点共线四顶点共线三顶点共线三顶点共线或或两顶点重合两顶点重合三顶点重合三顶点重合77V0(2)V3(2)V1V2V0(3)V3(3)V1V2始点始点末点末点直线段直线段直线段直线段V0V1V2V35.5.用重顶点端点条件控制曲线首末端点用重顶点端点条件控制曲线首末端点78能否使能否使 B B样条曲线的端点与首末顶点重合?样条曲线的端点与首末顶点重合?利用利用重节点端点技术,重节点端点技术,实质是实质是利用重节点条件利用重节点条件改变改变B B样条基函数样条基函数。当节点重复。当节点重复k ki i次,曲线在该节次,曲线在该节点处的可微性下降为点处的可微性下

50、降为重节点对重节点对B样条曲线的影响:样条曲线的影响:1)在)在B样条曲线定义域内的重节点,重复度每增加样条曲线定义域内的重节点,重复度每增加1,曲线段数减,曲线段数减少少1,样条曲线在该重节点处的可微性降低,样条曲线在该重节点处的可微性降低1;2)当端节点重复度为)当端节点重复度为k时,时,k次次B样条曲线的端点将与相应的控制样条曲线的端点将与相应的控制多边形的端点相重,并在端点处与控制多边形相切;多边形的端点相重,并在端点处与控制多边形相切;3)当在曲线定义域内有重复度为)当在曲线定义域内有重复度为k的节点时,的节点时,k次次B样条曲线插值样条曲线插值于相应的控制顶点;于相应的控制顶点;7

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁