




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论第第8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论8.1 与曲线、曲面有关的基本概念与曲线、曲面有关的基本概念8.2 折线段曲线折线段曲线8.3 参数三次曲线参数三次曲线8.4 参数曲线的几何性质参数曲线的几何性质8.5 Bzier曲线曲线8.6 B-样条曲线样条曲线8.7 非均匀有理非均匀有理B-样条曲线样条曲线习题习题第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论8.1 与曲线、曲面有关的基本概念与曲线、曲面有关的基本概念8.1.1曲线、曲面的表示方法1.曲线、曲面的非参数表示曲线、曲面的非参
2、数表示方法也就是其函数表示法,可细分为显函数和隐函数两种表示法。Oxy平面内一曲线的显式函数与隐式函数表示形式分别为y=f(x),F(x,y)=0(8.1.1)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论Oxyz空间内一曲面的显函数与隐函数表示形式分别为z=f(x,y),F(x,y,z)=0(8.1.2)而Oxyz空间内一曲线通常表示为两个曲面的交线,就像直线作为两个平面的交线用两个平面的方程组表示一样。以曲线为例,在进行几何形状的数学描述时,非参数形式存在以下问题:(1)在曲线上点的切线垂直于x轴时,斜率为无穷大,这将导致计算机处理时出现溢出问题。作为几何曲线,这样的垂
3、直切线是正常的,仅仅是x轴的选择问题。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论(2)不具有几何不变性,即几何形状的描述与选择的坐标系有关。曲线、曲面可以在没有坐标系的情况下存在,但其函数描述却依赖于指定坐标系下的坐标(x,y,z)的确定,以及特定的坐标之间的函数关系的建立。(3)平面内和空间内曲线的描述形式不统一,不便于计算与编程等处理。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论2.曲线、曲面的参数表示曲线的参数表示可不依赖于坐标系的描述:特定的参数值t对应了一个几何的点P(t),所有参数值对应的点的集合构成了曲线。因此,曲线的参数形式为P=P
4、(t)。在特定的坐标系下,P(t)为从原点到该点的矢(向)量,因此P=P(t)称为曲线的向量方程。当我们需要在特定的坐标系下表示曲线上的点时,就求出点对应的坐标以及各个坐标值对参数的表达式。因此,Oxyz空间内一曲线的参数方程为x,y,z=x(t),y(t),z(t)或写为方程组的形式:x=x(t)y=y(t)z=y(t)(8.1.3)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论其每个坐标分量都是以参数t为变量的标量函数。通常只需要对某一段曲线进行研究,即参数t限定在一段区间ta,b内变化时的曲线段。为了方便起见,大多数情况下可以把区间a,b标准化为0,1。习惯上,除了上
5、面的两种表示形式外,参数曲线方程还可表示为P(t)=x(t),y(t),z(t)t0,1(8.1.4)参数曲线的切向量或导函数等于对各分量分别求导,即P(t)=x(t),y(t),z(t)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论相对于Oxyz空间内曲线的参数方程,Oxy平面内一曲线的参数方程只是少了一个分量而已,其它完全相同。在不需要指明时,只说曲线P=P(t)即可。类似地,曲面可用双参数(u,v)的向量函数表示为P(u,v)=x(u,v),y(u,v),z(u,v)(u,v)0,1;0,1(8.1.5)并可以简记为P=P(u,v)。与非参数形式相比,参数形式具有以下
6、优点:(1)能满足几何不变性的要求。(2)便于进行几何变换。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论(3)便于处理多值问题和垂直切线等无限大斜率问题。(4)规格化的参数变量t0,1,使其相应的几何形体是有边界的,而不必用另外的参数去定义其边界。(5)便于曲线、曲面的分段、分片描述。(6)提供了更大的自由度来控制曲线、曲面的形状。(7)易于用向量和矩阵的表示来简化方程,达到简化计算的目的。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论3.基函数及其表示的曲线、曲面就参数表示的曲线、曲面而言,计算机图形设计中大多数曲线方程可以表示为某一组基函数及相应的
7、系数向量的线性和:式中:Bi(t)是以参数t为变量的基函数,Pi为代表空间点的常向量系数。在曲线设计时常把一列点Pi解释成顺序连接各点而形成的多边形,并称为控制多边形。,)()(100ttttBPtPniii(8.1.7)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论4.样条的概念在利用计算机自动绘图之前,航空、汽车和船舶制造业中常借助于称为样条(spline)的工具手工绘制自由曲线。绘图用的样条工具是一根富有弹性的匀质细木条、金属或有机玻璃条,可让它按要求通过一组指定点来生成平滑曲线。绘图时,绘图员用压铁强迫弹性条通过给定的数据点。第第8 8章计算机图形中曲线的设计理论章
8、计算机图形中曲线的设计理论8.1.2插值与逼近1.插值插值是函数逼近的重要方法。设给定一组有序的数据点Pi,i=0,1,n。经过两已知数据点P0(x0,y0)和P1(x1,y1)的最简单的几何图形是直线段,可用参数方程表示为P(t)=P0+t(P1-P0)t0,1(8.1.8)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论用非参数的函数表示,就是要求解一线性函数y=f(x)=ax+b,满足:f(x0)=y0,f(x1)=y1(8.1.9)这个线性插值函数可表示为(8.1.10)它在x1-x00时是存在的。如果给定三个数据点P0(x0,y0)、P1(x1,y1)和P2(x2,
9、y2),一般不存在过三点的直线段。由函数形式构造曲线,最简单的函数形式应该是y=f(x)=ax2+bx+c (8.1.11)()(001010 xxxxyyyxfy第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论这个抛物型函数曲线应该通过这三个指定点,即满足f(x0)=y0,f(x1)=y1,f(x2)=y2(8.1.12)通过求解这个线性方程组可求出系数a,b,c。2.逼近在某些情况下,给出的点本身就是用来大体刻画曲线、曲面的大致轮廓,并没有一个非常精确的计算要求曲线、曲面严格地通过指定点。8.1.3曲线、曲面描述方法的发展现代化工业产品的外形大致可由两类曲线、曲面描述。一
10、类是一次、二次的解析曲面,例如平面、圆柱面、圆锥面、球面、圆环面等。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论自由曲线、曲面因其复杂性不易由画法几何与机械制图等简单方式表达清楚。表达清楚这些曲线、曲面成为摆在工程师面前首要解决的问题。上述方法,尤其是B-样条方法成功地解决了自由曲线、曲面的数学描述问题,但作为一种多项式形式的参数函数,它们不能精确表达包含(椭)圆弧的二次曲线和、曲面,因此不能适应大多数工业产品形状设计的要求。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论8.2 折线段曲线折线段曲线对于给定的控制点,通过控制点的折线段连接出的曲线是非常
11、自然的一条曲线,如图8.1所示它有许多优点,这是我们进一步发展曲线设计技术的基础。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论图8.1折线段连接出的曲线PiPi 1PnP0第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论这一曲线的优点有如下几点:(1)它是一条纯粹的几何图形的曲线,不依赖于任何我们在处理这条曲线时必须额外附加给它的几何图形以外的性质。(2)折线段曲线的每个直线段仅存在于两点之间的有限范围内,这保证了我们在处理它时总能得到结果。(3)折线段曲线的工作效率是有保障的。(4)其表达式非常简单,几何意义非常明确。对于直线段PiPi+1,我们可以写
12、出其方程为P(t)=(1-t)Pi+tPi+1t0,1(8.2.1)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论点P(t)在直线段上,并把直线段分成两段,其长度之比为改进折线段曲线的光滑程度的方法也很直观:切磨各个角点,具体过程如图8.2所示。)1 ( :)(:)(1ttPtPtPPii第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论图8.2磨角法平滑折线段曲线过程示意图PiBEFDCAPi1Pi1第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论我们首先用AB取代APi和PiB。这里A,B分别在直线段Pi-1Pi和PiPi+1上,并且有
13、1:1:11iiiiiiiiPPBPPPAP(8.2.2)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论8.3 参数三次曲线参数三次曲线8.3.1参数三次曲线的表示如图8.3所示,设每点处有一个切线向量Ti,点Pi与Pi+1之间的一段曲线Pi(t),t0,1就应该满足如下条件:Pi(0)=PiPi(1)=Pi+1Pi(0)=TiPi(1)=Ti+1(8.3.1)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论图8.3由位置、切向量产生的曲线P1T1T0P0第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论向量函数Pi(t)当然可以为任意类型
14、的函数。考虑到作为前面直线段函数的推广以及计算的方便性,我们要求Pi(t)可表示为Pi(t)=F0(t)Pi+F1(t)Pi+1+F2(t)Ti+F3(t)Ti+1(8.3.2)并且Fi(t),i=0,1,2,3都是参数t的多项式。结合式(8.3.1)则有 F0(0)Pi+F1(0)Pi+1+F2(0)Ti+F3(0)Ti+1=Pi F0(1)Pi+F1(1)Pi+1+F2(1)Ti+F3(1)Ti+1=Pi+1F0(0)Pi+F1(0)Pi+1+F2(0)Ti+F3(0)Ti+1=TiF0(1)Pi +F1(1)Pi+1+F2(1)Ti+F3(1)Ti+1=Ti+1(8.3.3)第第8 8章
15、计算机图形中曲线的设计理论章计算机图形中曲线的设计理论注意到式(8.3.3)对任意的Pi,Pi+1,Ti和Ti+1都成立,我们由此得到F0(0)=1,F1(0)=0,F2(0)=0,F3(0)=0F0(1)=0,F1(1)=1,F2(1)=0,F3(1)=0F0(0)=0,F1(0)=0,F2(0)=1,F3(0)=0 F0(1)=0,F1(1)=0,F2(1)=0,F3(1)=1(8.3.4)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论由式(8.3.4)可知,每个函数Fi(t)应满足四个等式。因此,作为参数t的多项式函数,Fi(t)的次数最低应为3。作为三次多项式的Fi
16、(t)根据式(8.3.4)不难得到其表达式为F0(t)=2t3-3t2+1F1(t)=-2t3+3t2F2(t)=t3-2t2+tF3(t)=t3-t2(8.3.5)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论由式(8.3.2)、式(8.3.1)和式(8.3.4)可得Pi(t)=Pi+tT1+t2(-3Pi+3Pi+1-2Ti-Ti+1)+t3(2Pi-2Pi+1+Ti+Ti+1)(8.3.6)如果定义Ai0=PiAi1=TiAi2=-3Pi+3Pi+1-2Ti-Ti+1Ai3=2Pi-2Pi+1+Ti+Ti+1(8.3.7)第第8 8章计算机图形中曲线的设计理论章计算机
17、图形中曲线的设计理论则有Pi(t)=Ai0+tAi1+t2Ai2+t3Ai3(8.3.8)由此式可明显看出Pi(t)是参数t的三次多项式,因此该曲线是一个三次多项式曲线。参数三次曲线段简称PC曲线。这也是弗格森曲线的代数形式。对参数t0,1,P(t)表示曲线上任一点的位置向量,它有三个分量,即Pi(t)=x(t)y(t)z(t)(8.3.9)而Ai3、Ai2、Ai1、Ai0都有三个分量,设为 Aij=aj1aj2aj3j=0,1,2,3(8.3.10)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论于是式(8.3.8)可更清楚地表示为下面的三个三次多项式等式:x(t)=a01
18、+a11t+a21t2+a31t3y(t)=a02+a12t+a22t2+a32t3z(t)=a03+a13t+a23t2+a33t3三个多项式中的12个常系数称为代数系数,这组系数惟一地确定了一条参数三次曲线的形状、长短及在空间中的位置。进一步假设:T=1t t2t3(8.3.12)(8.3.11)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论和一个43矩阵Ai=ATi0ATi1ATi2ATi3Ti=1,2,3(8.3.13)其中的上标T是指转置矩阵,则式(8.3.8)又可以写为更简洁的矩阵表示形式:Pi(t)=TAi(8.3.14)但是,由参数三次曲线的几何形式即式(8
19、.3.2)可以解决这个问题。同代数形式一样,如果我们定义F(t)=F0(t)F1(t)F2(t)F3(t)Si=PTiPTi+1TTiTTi+1T(8.3.15)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论则式(8.3.2)又可写成Pi(t)=F(t)Si(8.3.16)图8.4中我们会看到,改变端点切向量的大小是如何影响曲线的形状的。进一步地,下面我们讨论参数三次曲线的代数系数矩阵Ai和几何系数矩阵Si之间的关系。实际上,F(t)可以通过T表示为第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论F(t)=2t3-3t2+1-2t3+3t2t3-2t2+t
20、t3-t2=1t t2t3用M代表式(8.3.17)中的44矩阵,则F(t)可写成F(t)=TM(8.3.18)代人式(8.3.16)有Pi(t)=TMSi (8.3.19)对照式(8.3.14)就有Ai=Msi (8.3.20)1122123301000001(8.3.17)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论或Si=M-1Ai(8.3.21)其中:32100010111100011M(8.3.22)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论8.3.2参数三次曲线的其它表示形式任一段参数三次曲线总有边界端点及端点处的切向量,亦即任一参数三
21、次曲线均可表示成式(8.3.16)和式(8.3.19)的形状,差别仅仅是几何系数矩阵Si不相同。依此观点还有其它很多的方法,如:(1)给出空间四个点P0、P1、P2和P3,要求找出一段参数三次曲线P(t),使得当t=t0=0t1t2t3=1时,P(tj)=Pj,j=0,1,2,3。(2)给出曲线两点P0和P1,两个单位向量T0和T1及一点C。要求找出一段参数三次曲线P(t),使得P(0)=P0,P(1)=P1。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论如果我们希望求得一个44的矩阵K,使得当从右边乘上四个点的坐标矩阵时,产生该待构造曲线的几何系数矩阵S,即则我们可求解如
22、下。因为P(t)=TMS(8.3.24)STTPPPPPPKTTTT30303210(8.3.23)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论所以Pj=P(tj)=1tjt2jt3jMSj=0,1,2,3(8.3.25)也就是说MSttttttttttttPPPP3323332222312112020032101111(8.3.26)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论于是有将式(8.3.27)代入式(8.3.23),并结合t0=0,t3=1,即可得到所要求的矩阵K为321013323333232312213020011111PPPPttt
23、tttttttttMS(8.3.27)13222231211302001133233322223121130200111111111111tttttttttMttttttttttttMK(8.3.28)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论8.3.3参数三次曲线参数值域的变换假定对前面定义的参数三次曲线另有参数u,其值域是uui,ui+1,参数u和t存在着函数关系t=t(u)(8.3.29)并且应同时满足方程t(ui)=0t(ui+1)=1(8.3.30)因此,参数三次曲线Pi(t)用参数u可表示为Pi(t)=Pi(t(u)uui,ui+1(8.3.31)第第8 8
24、章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论如果要求Pi(t(u)仍然是参数u的三次多项式,则函数t(u)应该是参数u的一次多项式,即参数u和t存在着线性函数关系,这个表示关系是惟一的,可表示如下: ,ui=ui+1-ui(8.3.32)分别用u=ui和u=ui+1代入式(8.3.31)可得Pi(t(ui)=Pi(0)=PiPi(t(ui+1)=Pi(1)=Pi+1(8.3.33)iiuuuut)(第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论这也就是说,参数三次曲线Pi(t)的两个端点保持不变。再来考察切向量,对参数u求导可得dttdPududtdttdPdu
25、utdPiiiii)(1)()(8.3.34)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论8.3.4二阶连续的参数三次样条插值曲线1.二阶连续的条件假设对数据点Pi,i=0,1,n实行参数化,曲线P(u)对应着参数分割u0u1un。若样条曲线在数据点Pi处具有待定的导向量Ti,则可以通过式(8.3.31)中表示出的分段三次参数插值曲线Pi(t)=Pi(t(u),uui-1,ui构造出一阶连续的曲线。求Pi(t(u)对u的导数可得iiiiTTiTiTiTiiiuutSttttTTPPtFtFtFtFutP1-32336361)()()()(1)(21132102(8.3.3
26、5)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论将此式中的下标i换成i+1,得相邻的下一段uui+1,ui+2上的曲线Pi+1(t(u)对u的二阶导数1112121213210211-32336361)()()()(1)(iiiiTTiTiTiTiiiuutSttttTTPPtFtFtFtFutP(8.3.36)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论如果要求整段曲线C2连续,则在相邻的两段曲线的公共端点u=ui+1处有Pi(ui+1)=Pi+1(ui+1)(8.3.37)也就是3-312Si=-33-2-1S(8.3.38)简单整理后可得i+1
27、Ti+2(i+i+1)Ti+1+iTi+2=3i=0,1,n-2(8.3.39)22i212i111iiiiPiPi第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论2.二阶连续的闭曲线首尾相连的闭曲线这时要分段为三次参数插值曲线,它也是首尾相连闭曲线,并且处处二阶连续。一般认为数据点连出的折线段也是闭的折线段,因此有Pn=P0,但应注意:Pn对应参数un,P0对应参数u0。由首尾相连处一阶连续知Tn=T0,实际只有n个待定切向量。由首尾相连处二阶连续知方程组(8.3.39)可以再增加一个方程,因此有n个方程。于是n个待定切向量就可以从方程组(8.3.39)的n个方程中解出。这
28、个方程组的矩阵表示为第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论其中,对i=1,2,n有ai=i+1,bi=2(i-1+i),ci=i-1nnnnnnnnDDDDTTTTTbaaccbacbacb12154321111122211)( 3111iiiiiiiPPD(8.3.40)(8.3.41)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论3.二阶连续的开曲线端点条件的一般形式可表示为b0T0+c0T1=D0,anTn-1+bnTn=Dn(8.3.42)因此由n+1个方程组成的求解n+1个待定切向量的方程组的矩阵为nnnnnnnDDDDTTTTTbac
29、bacbacbacb1215432111122211100(8.3.43)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论这个线性方程组系数矩阵为标准的三对角方阵,因主对角元素占优,系数矩阵是非奇异的,故存在惟一解。标准三对角方程组可以采用所谓“追赶法”的高斯消元法求解。系数矩阵中的零元素不占内存。具体过程是先自上而下把对角元素下的所有ai都消为零,称为“追”。追求出Tn后,再回代求出其余全部未知切向量,即所谓“赶”。下面给出这一算法程序的伪代码描述。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论ProcedureTRIDIA(DIA,T,n,k,IFLA
30、G)BEGINIF(IFLAG=0)THENFORi=1TOnDIA(1,i)=-DIA(1,I)/DIA(2,i-1)DIA(2,i)=DIA(3,i-1)*DIA(1,i)+DIA(2,i)NEXTiENDIFFORi=1TOnFORj=1TOk第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论T(j,i)=T(j,i)+T(j,i-1)*DIA(i,1)NEXTjNEXTiFORj=1TOkT(j,n)=T(j,n)/DIA(2,n)NEXTjFORi=n-1TO0,STEP-1FORj=1TOkT(j,i)=(T(j,i)-DIA(3,i)*T(j,i+1)/DIA(2
31、,i)NEXTjNEXTiEND第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论4.二阶连续的开曲线的边界条件常用二阶连续的开曲线的边界条件有如下几种类型:(1)根据实际问题直接给出端点处的切向量T0,Tn。这相当于在式(8.3.43)中设定条件:D0=T0,b0=1,c0=0;Dn=Tn,a0=0,b0=1(8.3.44)(2)设定第一段和最后一段三次参数曲线的二阶导向量为常向量。这就设定了这两段曲线为二次参数曲线,即为通常的抛物线。根据式(8.3.35)不难推得11100102,2nnnnPTTPTT(8.3.45)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线
32、的设计理论这相当于要求在式(8.3.43)中设定条件:(3)设定端点处二阶导向量为0。这时根据式(8.3.35)不难推得这相当于要求在式(8.3.43)中设定条件:1, 1,2; 1, 1,2001100000baPDcbPDnnn(8.3.46)111001032,32nnnnPTTPTT(8.3.47)2, 1,3; 1, 2,30011000000baPDcbPDnn(8.3.48)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论8.4 参数曲线的几何性质参数曲线的几何性质8.4.1参数三次曲线的几何形状定义与Ti同向的单位向量为Ui,则有于是由式(8.3.16)可得i
33、iiiiiUTTTTU,(8.4.1)11111)()(iiiiiiiiiiiiUTUTPPFTTPPFStFtP(8.4.2)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论如图8.4所示,设点M是Pi点切线的正方向和Pi+1点切线的反方向的交点.第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论图8.4两端点处切向量长度同时增加对曲线形状的影响PiUiMPi 1Ui 1第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论8.4.2参数连续性与几何连续性1.曲线段拼接点的连续性现在我们再考虑对数据点Pi,i=0,1,n实行参数化,用曲线P(u)
34、对应的参数分割u0u1un求解光滑曲线的问题。设样条曲线在数据点Pi处具有给定的导向量Ti,则可以通过式(8.3.31)中给出的分段三次参数插值曲线Pi(t)=Pi(t(u),uui-1,ui构造出一阶连续的曲线。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论2.参数连续性把参数曲线看作参数的函数,则曲线的参数连续性就是曲线的参数函数对参数的连续性。就前面介绍的分段参数曲线而言,每一段参数曲线内部为参数的多项式函数,因此必然是连续的,其任意阶导函数也是连续的,因此也是光滑的。这是毋庸置疑的。需要注意的是组成完整曲线的相邻段的公共端点处的连续性。3.几何连续性参数曲线的参数连
35、续性实际上是借用函数曲线的可微性,它与参数的选取有关。对于函数曲线来说,曲线的可微性与光滑性是一致的,函数的连续性越高,曲线就越光滑。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论如对于前面的P(s)和Q(t),假设在连接点处G2连续,就是说可以在把t看成s的函数后C2连续,因此可推得0000222222211)()()()()()()()()()( ttttttttdsstddttdQdssdtdttQddsstQdsPdssdtdttdQdsstdQsP(8.4.3)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论注意到这个表达式中的向量和数量值,我们
36、可以说式(8.4.3)成立等价于存在数量值10、2,使得P(s1)=1Q(t0)P(s1)=2Q(t0)+21Q(t0)(8.4.4)反之,此式成立也不难验证前面的二阶几何连续性G2即曲率连续要求。根据参数曲线的曲率表达式有311131102101113111)( )()( )( )()( )( )( )()( sQsQsQsQtQtQsQsPsPsP(8.4.5)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论8.5 Bzier曲线曲线8.5.1Bzier曲线的deCastljau定义借助于折线段求点的方法,我们将得到两组相邻的控制点,产生出参数指定的两个直线段上的比例分位
37、点。为了产生出参数对应的曲线上的一个点,我们不妨再利用一次这个方法,借助的直线段就是刚刚得到的两个分位点产生的直线段。这一过程如图8.5所示,可用数学的语言描述如下。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论图8.5三个控制点给出的Bzier曲线上点的生成方法P110PP011PP2P(t)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论我们首先按顺序给出图8.5所示的三个控制点P0,P1,P2。对于参数t0,1,要生成的曲线上的一点P(t)由如下公式给出:P10=(1-t)P0+tP1,P11=(1-t)P1+tP2(8.5.1)P(t)=P20=(
38、1-t)P10+tP11=(1-t)2P0+2(1-t)tP1+t2P2(8.5.2)要生成的曲线上的一点P(t)由如下公式给出:P20=(1-t)P10+tP11=(1-t)2P0+2(1-t)tP1+t2P2(8.5.3)P21=(1-t)P11+tP12=(1-t)2P1+2(1-t)tP2+t2P3(8.5.4)P(t)=P30=(1-t)P20+tP21=(1-t)3P0+3(1-t)2tP1+3(1-t)t2P2+t3P3(8.5.5)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论图8.6四个控制点给出的Bzier曲线上点的生成方法示意图(a)点的生成方法示意图
39、;(b)递推计算方法示意图P110P11PP212PP321P20PP(t)P3P2P1P012P11P10P21P20P)(30tPP (a)(b)P0第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论反复重复上述方法,对于顺序给出的n+1个控制点P0,P1,P2,,Pn和参数t0,1,生成的n次Bzier曲线上的点P(t)由如下公式直接给出:其中:(8.5.6)ininiPtBtP)()(0,iinnittiinntB)1 (!)!(!)(,i=0,1,n(8.5.7)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论其递推计算过程如图8.7所示。递推过程的
40、表达式为而knink tPPtkPPkikiiki,.1 , 0;,.2 , 1)1 (0111(8.5.8)nknikikniPPtBtP00,)()(8.5.9)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论图8.7n+1个控制点给出的Bzier曲线上点的递推计算过程PnPn111nP12nP22nP23nP33nPPn2Pn313nPP3P2P1P012P11P10P21P20P30P)(0tnPP 第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论8.5.2Bzier曲线的性质1.端点插值性质Bzier曲线首末端点正好是控制多边形的首末顶点,即P(0
41、)=P0、P(1)=Pn。这使我们能简单地控制Bzier曲线的起点和终点。2.端点导向量性质Bzier曲线在首末端点的k阶导向量分别与Bzier多边形的首末k条边有关,与其它边无关。根据Bzier曲线的数学公式)()()( 1, 11, 10tBtBPntPnininii(8.5.10)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论可知,在起点t=0和终点t=1处:P(0)=n(P1-P0),P(1)=n(Pn-Pn-1)(8.5.11)亦即Bzier曲线在首末端点处分别与控制多边形的首末条边相切,这使我们能直接控制Bzier曲线在首末端点处的切线。同样,因为P(t)=n(
42、n-1)(Pi+2-2Pi+1+Pi)Bi,n-2(t)(8.5.12)所以,在起点t=0和终点t=1处:P(0)=n(n-1)(P2-2P1+P0) P(1)=n(n-1)(Pn-2Pn-1+Pn-2)(8.5.13)20ni第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论3.整条Bzier曲线的对称性根据Bzier曲线的生成方法,反向排列控制点的顺序后得到的是同一条Bzier曲线,仅曲线方向相反。反映在Bzier曲线的数学表示式中,就应该是用(1-t)代替t,重新参数化得到的Bzier曲线。这时我们可以看到有下式成立:)1 ()1 (1 ()1 (!)!(!)1 ()!(
43、 !)(,tBttiinnttinintBniniininini(8.5.14)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论4.几何不变性根据Bzier曲线的生成方法,Bzier曲线的生成不需要借助任何坐标系的选择,Bzier曲线的形状仅与控制多边形的顶点有关,而与坐标系的选择无关。控制点的坐标只有在我们需要给出Bzier曲线的数学表示时才是必须引入的。要知道实际的曲线是没有坐标的,引入坐标(这却是完全因人而异的)只是为了处理的方便。Bzier曲线几何不变性保证在控制点不变时,生成的Bzier曲线不会因坐标选择的不同而不同。第第8 8章计算机图形中曲线的设计理论章计算机图
44、形中曲线的设计理论5.凸包(convexhull)性Bzier曲线一定落在由其控制顶点组成的凸包内,如图8.8所示。凸包是指包围一组点集的最小凸多边形或凸多面体。可以这样来想像确定平面上点集的凸包:在点集的每个点上打上钉子,然后用一根封闭的弹性橡皮绳套在所有钉子的外面,橡皮绳因弹性自然收缩形成封闭的多边形区域,这个多边形区域就是该点集张成的凸包。对于空间中的一组点集,也可以想像用一封闭的弹性橡皮薄膜包住这些点,因弹性收缩所形成的空间区域即为其凸包。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论图8.8Bzier曲线位于控制顶点的凸包内第第8 8章计算机图形中曲线的设计理论章
45、计算机图形中曲线的设计理论6.变差缩减性质任意平面与Bzier曲线的交点数目不会超过平面与Bzier曲线的由n+1个顶点构成的控制多边形的交点数目,如图8.9所示。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论图8.9Bzier曲线与平面交点数不会超过其与控制多边形交点数第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论7.Bzier曲线的保凸性若平面Bzier曲线的由n+1个顶点构成的控制多边形为凸多边形,则对应的n次Bzier曲线也是凸的。这也就是说,相应的Bzier曲线上没有拐点和奇点。8.控制顶点对Bzier曲线的影响如果在交互设计曲线时,移动n次B
46、zier曲线的第i个控制顶点Pi,产生一个位移向量Pi,则此时新的Bzier曲线P*(t)应是P*(t)=P(t)+PiBi,n(t)(8.5.15)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论因此有则可使顶点Pi偏移一个向量:9.Bzier曲线的几何形状Bzier曲线及其控制多边形的几何形状如图8.10所示。| )(,| )(,|max| )(,|max| )()(|max101010niBPtBPtBPtPtPniinitiniitt(8.5.16)(,niBPPnii(8.5.17)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论图8.10Bzie
47、r曲线及其控制多边形的几何形状第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论8.5.3三次Bzier曲线1.三次Bzier曲线的矩阵表示三次Bzier曲线用4个控制顶点给出的曲线的表达式为P(t)=(1-t)3P0+3t(1-t)2P1+3t2(1-t)P2+t3P3(8.5.18)由B0,3(t)B1,3(t)B2,3(t)B3,3(t)=1t t2t3iiiPtB)(303 ,1331036300330001(8.5.19)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论不难得到其类似于参数三次样条曲线的矩阵表示形式为上面的表达式可简写为P(t)=1t
48、t2t3MS(8.5.21)这两种曲线实际上只是表示形式不同,它们可以互相表示出来:32103213310363003300011 )(PPPPttttP(8.5.20)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论) 1 ( )0( ) 1 ()0(0010310100310100013300003310000001) 1 ( )0( ) 1 ()0(32103210PPPPPPPPPPPPPPPP(8.5.22)(8.5.23)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论用幂基形式即式(8.3.1)表示的参数的三次多项式曲线也可用三次Bzier曲线
49、的形式表示出来,这只需有1tt2t3=B0,3(t)B1,3(t)B2,3(t)B3,3(t)001031010031010001(8.5.24)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论2.三次Bzier曲线的凸性性质若由平面Bzier曲线的n+1个顶点构成的控制多边形为凸多边形,则对应的n次Bzier曲线也是凸的。但反过来,则不一定成立。当n=1,2时,控制多边形总是凸的,相应的Bzier曲线也总是凸的(n=1时为直线段,n=2时为抛物线)。当n3时才可能有非凸的Bzier曲线。我们有如下结论:三次Bzier曲线凸的充分必要条件是它的控制多边形为凸多边形。对于n=4
50、,图8.11所示的凸的Bzier曲线由非凸的控制多边形生成。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论图8.11由非凸的控制多边形生成凸的Bzier曲线yxO第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论3.三次Bzier曲线的光滑拼接下面来分析三次Bzier曲线在各端点处的光滑连续性连接条件。光滑连接时,切向量应方向一致。参看图8.12,设给定了两个控制多边形P0P1P2P3和Q0Q1Q2Q3,要求由它们所定义的Bzier曲线段在连接点P3和Q0处连续或光滑拼接。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论图8.12两段Bzi
51、er曲线段的光滑拼接P0P1P2Q1Q2Q3P3 Q0第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论如果只是要求两条曲线的端点重合,则只需下式成立即可:P3=Q0(8.5.25)要求两条曲线在连接点处不仅重合,且要没有形成尖角,则可要求导向量相等,即有3(P3-P2)=3(Q1-Q0)(8.5.26)如果要求没有尖角,只需在连接点处有共同的切线和导向量同向即可,则只需有下式成立:P3-P2=(Q1-Q0)0(8.5.27)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论要达到C2连续性,必须要求二阶导数连续,即下式成立:6(P3-2P2+P1)=6(Q2-
52、2Q1+Q0)(8.5.28)结合式(8.5.25),化简式(8.5.28)可得Q2-P1=2(Q1-P2)(8.5.29)结合式(8.5.27),可得Q2-P2=P1-P2+(P3-P2)(8.5.30)如果=1,进一步有Q2=P1+3(P3-P2)(8.5.31) 1(2第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论8.6 B-样条曲线样条曲线8.6.1B-样条曲线的定义B-样条曲线的出发点仍是利用控制点给出的控制多边形产生曲线,以其获得的曲线的几何形状可以通过控制多边形的形状直观地得以控制。但与定义Bzier曲线不同的是:(1)我们假设有由无限多个控制点组成的控制点序
53、列:Pi:i=,-2,-1,0,1,2,(8.6.1)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论(2)为了克服参数取值范围对曲线的影响,我们主动把参数取值的因素引入到曲线的设计中来,以便考察这种影响,设计出更合理的曲线。具体的做法是对每一个控制点Pi引入一个参数值ui,称为节点值,于是有节点值序列:ui:i=,-2,-1,0,1,2,(8.6.2)1.一阶B-样条曲线现在考察在参数区间tuj,uj+1上曲线段的生成。如果只是借助于相邻的两个制点Pj和Pj+1产生曲线段,则只要生成折线段曲线即可。曲线段上某一点,具体由参数指定的直线上的比例分位点给出。这时我们把相邻的两个
54、控制点作为一组,产生一段特殊形式的曲线直线段。此时两个控制点产生的直线段公式为第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论2.二阶B-样条曲线利用Pj-1,Pj产生出的点为在参数区间uj,uj+2内考虑tuj,uj+1对应的比例分位点为,)(111111jjjjjjjjjjuutPuuutPuututP(8.6.3),)(11111111)1(jjjjjjjjjjjuutPuuutPuututP(8.6.4),)(112222)1(1jjjjjjjjjjjuutPuutuPuututP(8.6.5)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论为了产生
55、出参数对应的曲线上的一个点,我们不妨再利用一次这个方法,借助的直线段就是刚刚得到的两点产生的直线段,只是此时参数的取值范围为前一步涉及到的两个参数区间uj-1,uj+1和uj,uj+2的交集,即共同部分uj,uj+1,得到的tuj,uj+1对应的比例分位点为,)()()()(1)1(11)1(11)2(jjjjjjjjjjjuuttPuuuttPuututPtP(8.6.6)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论3.三阶B-样条曲线于是利用Pj-2,Pj-1产生出的点为于是又利用Pj-1,Pj产生出的点为于是利用Pj,Pj+1产生出的点为,)(112122211)1
56、(1jjjjjjjjjjjuutPuuutPuututP(8.6.7),)(11211122)1(jjjjjjjjjjjuutPuuutPuututP(8.6.8), )()(11333)1(1jjjjjjjjjjjuuttPuuutPuututP(8.6.9)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论得到的tuj,uj+1对应的比例分位点为得到的tuj,uj+1对应的比例分位点为得到的tuj,uj+1对应的比例分位点为, )()()(1(1)111)1(1111)2(1jjjjjjjjjjjuuttPuuuttPuututP(8.6.10), )()()(1(1)12
57、)1(22)2(1jjjjjjjjjjjuuttPuuuttPuututP(8.6.11), )()()()(1(2)12)2(11)3(jjjjjjjjjjjuuttPuuuttPuututPtP(8.6.12)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论四个控制点给出的B-样条曲线上的生成方法示意图如图8.13所示。第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论图8.13uj2四个控制点给出的B-样条曲线上点的生成方法示意图Pj 2Pj 1PjPj 111jP2jP21jP11jP1jPP(t)tuj 1uj 2uj 3ujuj 1uj 2第第8
58、8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论4.一般的k阶B-样条曲线一般地,我们可以通过k+1个控制点Pj-k+1,Pj-k+2,Pj和Pj+1定义一段曲线P(t),tuj,uj+1,其定义公式为1,.1,.2 , 1)1 (,111)()1()()1(1)()()0(jkjikluuutPPPPPikiililililililiii(8.6.13)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论而P(t)=Pkjtuj,uj+1(8.6.14)即有u-2u-1u0u1u2(8.6.15)如果我们把所有控制点的下标减去1,同时保持所有节点的下标不变,则有由k+
59、1个控制点Pj-k,Pj-k+1,Pj-1和Pj定义一段曲线P(t),tuj,uj+1,其定义公式为jlkjikluuuitPPPPPilkililililililiii,.,.,2 , 1)1 (,1)()1()()1(1)()()0(8.6.16)第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论而P(t)=Pkjtuj,uj+1(8.6.17)这就是通常的B-样条曲线的deBool公式。图8.14给出了一段三次B-样条曲线的递推计算过程。根据B-样条曲线公式,B-样条曲线可有如下形式的表示:jjkjPtNtP)()(,(8.6.18)第第8 8章计算机图形中曲线的设计理论
60、章计算机图形中曲线的设计理论图8.14deBool公式的B-样条曲线上点的生成方法示意图Pj 312jPPj 211jPPj 11jPjP21jPP(t)2jPuj 2uj 1ujuj 1uj 2uj 3l3l2l1t第第8 8章计算机图形中曲线的设计理论章计算机图形中曲线的设计理论注解:(1)依据B-样条曲线的递推公式,如果所有节点值扩大或缩小倍数a,并增加一个常数b,则对tuj,uj+1,有at+bauj+b,auj+1+b,并且(2)依据B-样条曲线的递推公式,如果在递推过程中始终有)()()()(12)(baubaubaubatuuutilkiiilkiili(8.6.19)tuuut
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风险巡视管理办法
- 矿工厂采购管理办法
- 二手房销售管理办法
- 石鼓区孤儿管理办法
- 煤矿风险源管理办法
- 五食堂卫生管理办法
- 雅安公路管理办法
- 电商贷管理管理办法
- 业务活动费管理办法
- 校园直销队管理办法
- 铝单板雨棚施工方案
- 《心脑血管疾病防治》课件
- 食品厂员工食品安全培训
- UL4703标准中文版-2020光伏线UL中文版标准
- 护理质量改善项目开题汇报
- SHT+3413-2019+石油化工石油气管道阻火器选用检验及验收标准
- 个人分包协议
- JT-T-329-2010公路桥梁预应力钢绞线用锚具、夹具和连接器
- 手术衣穿脱流程
- 2024年职业卫生技术人员评价方向考试题库附答案
- 审计法规与准则 第3版 课件 陈希晖 第1-4章 绪论-注册会计师审计法规与准则
评论
0/150
提交评论