【文档说明】自由曲线和曲面图形学计算机图形学基础教程大学课件98页.ppt,共(99)页,1.243 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-76705.html
以下为本文档部分文字说明:
自由曲线和曲面图形学计算机图形学基础教程大学课件98页本章内容7.1基本概念7.3Hermite样条曲线7.4Bezier曲线7.5Bezier曲面7.6B样条曲线7.7B样条曲面2曲线曲面的分类曲线曲面规则曲线曲面——自由曲线曲面——可以用标准方
程描述的曲线曲面。如圆、椭圆、抛物线、双曲线、渐开线、摆线、圆柱面,圆锥面,球面等无法用标准方程描述的曲线曲面,通常由一系列实测数据点确定。如汽车的外形曲线曲面、等高线等。3图7-1汽车的曲面47.1基本概念7.1.1样条曲线曲面7.1.2曲线曲面的表示形式7.1.3拟合和逼近7.1.
4连续性条件57.1.1样条曲线曲面在汽车制造厂里,传统上采用样条绘制曲线的形状。绘图员弯曲样条(如弹性细木条)通过各实测点,其它地方自然过渡,然后沿样条画下曲线,即得到样条曲线(SplineCurve)。在计算机图形学中
,样条曲线是指由多项式曲线段(可为规则/自由曲线段)连接而成的曲线,在每段的边界处满足特定的连续性条件;而样条曲面则可用两组正交样条曲线来描述。6构造通过5个型值点的抛物线参数样条曲线P1P2P3P4P5这样构造出来的抛物线参数样条曲线完全通过给定的5型值点,除了P1到
P2的区间,P4到P5的区间其他两个型值点之间都是重合区间7•样条曲面片可以看成由两组相互正交的样条曲线集组成87.1.2曲线曲面的表示形式曲线曲面的可以采用显式方程、隐函数方程和参数方程表示:以直线为例:已知直线的起点坐标P1(
x1,y1)和终点坐标P2(x2,y2),直线的显式方程:)(112121xxxxyyyy9直线的隐函数方程表示为:直线的参数方程表示为:0)()(112121xxxxyyyyx
ftyyyytxxxx)()(121121,t∈[0,1]101)用参数表示的曲线形状本质与坐标系的选取无关,具有几何不变性。2)参数方程将自变量与应变量分开,突出了参数变化对应变量的影响。3)容易实现各种线性变换运算。4)曲线的端点、导数等计算简单,避免了无穷
大斜率的问题。4)便于曲线的分段描述;6)易于处理多值问题7)参数的变化约定为[0,1]。自然规定了曲线是有界的。自由曲线曲面常用参数表示法11通常用三次参数方程描述空间一条自由曲线:zzzzyyyyxxxxdtctbtat
zdtctbtatydtctbtatx232323)()()(,t∈[0,1]其中,t为参数,且0<=t<=1时,t=0对应曲线段的起点,t=1时,对应曲线段的终点。用三次参数方程来表示自由曲线的原因:既要使曲线段的端点通过特定的点,又使曲线段在连接处保持位置和斜率的连续性,三次参数方程
是能表示这种曲线的最低阶次的方程。12空间自由曲线的矢量表示:t∈〔0,1〕;空间自由曲线的矩阵表示:t∈〔0,1〕;dctbtattp23)(dcbatt
ttp1)(23137.1.3拟合和逼近指通过测量或计算得到的曲线或曲面上少量描述曲线或曲面几何形状的数据点。•型值点•控制点指用来控制或调整曲线(面)形状的特殊点(不一定在曲线上)•插值点求给定型值点之间曲线(面)上的点要求建立的曲线与曲面数
学模型,严格通过已知的每一个型值点。在曲线、曲面中最常用的是线性插值和抛物线插值。147.1.3拟合和逼近拟合:给定一组型值点,求形状完全通过给定的型值点序列的曲线或曲面,称为曲线曲面的拟合157.1.3拟合和逼
近逼近:求在几何形状上与给定控制点列的连接线相近似的曲线曲面称为曲线曲面的逼近。用这种方法建立的曲线与曲面数学模型只是近似地接近已知的控制点。并不一定完全通过所有的控制点。167.1.4连续性条件构造复杂曲线和曲面时,可以首先构造一些简单的自
由曲线和曲面片,然后将这些简单曲线段连接成复杂曲线,或将一些曲面片拼接成复杂曲面。拼接条件:首先必须有连接点(连接边界),其次必须在连接点(连接边界)处平滑过渡,即需要满足连续性条件。连续性条件有两种:参数连续性和几何连续性。以曲线段
连接为例讨论连续性17参数连续性1.零阶参数连续性,记作C0,指相邻两个曲线段在交点处具有相同的坐标。图7-4零阶连续性182.一阶参数连续性,记作C1,指相邻两个曲线段在交点处具有相同的一阶导数。图7-5一阶连续性参数连续性193.二阶参数连续性,记作C2,指相邻
两个曲线段在交点处具有相同的一阶和二阶导数。图7-6二阶连续性参数连续性20几何连续性与参数连续性的区别,几何连续性只要求导数成比例,而不是相等。1.零阶几何连续性,记作G0,与零阶参数连续性相同,即相邻两个曲线段在交点处有相同的坐标。212.一
阶几何连续性,记作G1,指相邻两个曲线段在交点处的一阶导数成比例,但大小不一定相等。几何连续性223.二阶几何连续性,记作G2,指相邻两个曲线段在交点处的一阶和二阶导数成比例,即曲率一致。几何连续性237.3Hermite样条曲线Herm
ite样条曲线通过给定的N个型值点构造,每两个型值点之间生成一条Hermite曲线段,Hermite样条曲线由N-1条首尾相连的Hermite曲线构成,并且相邻的Hermite曲线段在连接点处二阶导数相
等(C2连续性)Hermite曲线段定义:给定曲线段的两个端点Pi和Pi+1和两端点处的一阶导数Ri和Ri+1构造而成。下面用已知条件求出Hermite曲线段的参数方程24假设Hermite曲线段用三次参数方程的矢量表
示:0≤t≤1。1.Hermite曲线段的起点和终点分别为Pi和Pi+1,t=0和t=1带入上式Pi﹦d,Pi+1﹦a﹢b﹢c﹢d2:Hermite曲线起点和终点处的一阶导数为Ri和Ri+1:Ri﹦c,Ri+1﹦3a﹢2b﹢cdctbt
attp23)(25联立这四个边界条件方程:Pi﹦dPi+1﹦a﹢b﹢c﹢dRi﹦cRi+1﹦3a﹢2b﹢c这四个边界条件方程用矩阵表示为:方程求解得Hermite曲线的系数矩阵:26Mh称为Hermite矩阵,常数矩阵求的Hermite曲线的系数矩
阵后,Hemite曲线表示为:Fh(t)=T·Mh为调和函数调和函数仅与参数t有关,而与初始条件无关,且调和函数对于空间的三个坐标分量(x,y,z)的作用是相同的。277.3Hermite样条曲线Hermite样条曲线通过给定的N个型值点构造
,每两个型值点之间生成一条Hermite曲线段(N-1条,N-2个公共端点),Hermite样条曲线由N-1条首尾相连的Hermite曲线段构成,并且相邻的Hermite曲线段在连接点处二阶导数相等(C2连续性)从前面的讨论得知,描述一条Hermite曲线必须知道起点和终点,以及
起点和终点处的一阶导数已知:对于N-1条Hermit曲线段,每条曲线段的起点终点是给定的型值点P1…PN未知:要描述这N-1条Hermit曲线段,还需要知道N个型值点处的一阶导数R1….Rn28Hermite样
条曲线的N-1条相邻的Hermite曲线段在连接点(N-2个公共端点处)处二阶导数相等某条Hermit曲线段上任意一点的二阶导数P(t)=H0(t)P起点+H1(t)P终点+H2(t)P起点+H3(t)P终点其中H0(t)=12t-6H1(t)=-12t+6
H2(t)=6t-4H3(t)=6t-2第i条Hermite曲线段起点处的二阶导数:(Pi,Pi+1,Ri,Ri+1)Pi(0)=-6Pi+6Pi+1-4Ri-2Ri+1第i条Hermite曲线段终点处的二阶导数:Pi(
1)=6Pi-6Pi+1+2Ri+4Ri+1对于公共端点Pi+1,共用这个公共端点的第i条Hermite曲线段终点处的二阶导数和第i+1条Hermite曲线段起点处的二阶导数相等:i[1,n-2](公共端点),Pi(1)=Pi+1(0)6
Pi-6Pi+1+2Ri+4Ri+1=-6Pi+1+6Pi+2-4Ri+1-2Ri+2N-2个公共端点,得到N-2个方程,不能解出N个型值点处的一阶导数29Hermite样条曲线的边界条件:常用的边界条件有
如下几种自由端(两端点处的二阶导数为零)Hermite样条曲线的起点,即第一条Hermite曲线段的起点,把i=1带入Pi(0)=-6Pi+6Pi+1-4Ri-2Ri+1,令其为0Hermite样条
曲线的终点,即第n-1条Hermite曲线段的终点,把i=N-1带入Pi(1)=6Pi-6Pi+1+2Ri+4Ri+1,令其为0夹持端:抛物端(第一个曲线段和最后一个曲线段是抛物线)Hermite样条曲线例三次参数样条曲线例307.4Bezier
曲线法国雷诺汽车公司的工程师Bezier和法国雪铁龙汽车公司的deCasteljiau分别提出了一种新的参数曲线表示方法,称为Bezier曲线。31Bezier曲线的描述方法:通过一组多边折线的各个顶点唯一定义出来的在这组多边折线的顶点中,只有第一点
和最一点在曲线上且多边形的第一条和最后一条边表示了曲线在起点和终点的切线方向其余各顶点用来定义Bezier曲线的阶次和形状。多边折线也称为控制多边形,它的顶点叫做控制点特点:Bezier曲线的形状趋近于控制多边形的形状改变控制多边
形的顶点位置就会改变曲线的形状几种典型的三次Bezier曲线如图7-7所示。32几种典型的三次Bezier曲线3334给定n+1个控制点Pi(i=0,1,2……n),称为n次Bezier曲线。t∈〔0,1〕式中,Pi(i=0,1,2……n)是控制多边形的n
+1个控制点。另一项Bernstein基函数,其表达式为:7.4.1Bezier曲线的定义)()(,0tBPtpniniiininittinintB)1()!(!!)(,(0=1,0!=1)351.一次Bezier曲线当
n=1时,Bezier曲线的控制多边形有二个控制点P0和P1可以看出,一次Bezier曲线是一次多项式,一段直线。101,10Pt)(1)()(PttBPtpiii362.二次Bezier曲线当n=2
时,Bezier曲线的控制多边形有三个控制点P0、P1和P2,二次Bezier曲线是二次多项式。可以证明,二次Bezier曲线是一段抛物线。Pt)1(2Pt)(1)()(221022,20Ptt
tBPtpiii0012)01222102)(2()1(2)1()(PtPPtPPPPtPttPttP373.三次Bezier曲线当n=3时,Bezier曲线的控制多边形有四个控
制点P0、P1、P2和P3,Bezier曲线是三次多项式。可以证明,三次Bezier曲线是自由曲线。PtPt)-(1t3)1(3Pt)(1)()(332212033,30PtttBPtpiiiPtP)3t
t3()363(1)P3t-3tt(33223123023Pttt387.4.2Bezier曲线的性质1.端点性质在闭区间[0,1]内,将t=0和t=1代入下式(7-12),得到p(0)=P0和
p(1)=Pn。说明Bezier曲线的起点和终点分别位于第一个控制点P0和Pn上。)()(,0tBPtpninii392.一阶导数将Bezier曲线的表达式(7-12)求导,有在闭区间[0,1]内,将t=0
和t=1代入上式,得到这说明Bezier曲线的起点和终点的切线方向和控制多边形第一条边和最后一条边的走向一致])1()()1([)(110'iniiniinniittinttiCPtp)()0(01'PPnp)()1(1'nnPPnp403.凸包性
质由Bernstein基函数的定义可知,在开区间〔0,1〕内,,而且。0)(,tBni1)(0,ninitB结论:如果要改变某一控制点位置,整个曲线都将受到影响。几何意义即Bezier曲线位于控制多边形构成的凸包之内三次Bezier曲线的例子417.5Bez
ier曲面7.5.1Bezier曲面的定义7.5.2双三次Bezier曲面的定义427.5.1Bezier曲面的定义m×n次Bezier曲面的定义如下:(u,v)∈[0,1]×[0,1]Bezier曲面有两个参数u,v其中:pi,
j(i=0..m,j=0..n)是Bezier曲面的控制点,构成控制网格(特征多面体),控制点共(m+1)(n+1)个Bi,m(u)及Bj,n(v)为对参数u和v的伯恩斯坦多项式m可不等于n,当m=n=3时,特征多面体由4x4个顶点构
成,相应的Bezier曲面称为双三次Bezier曲面。16个顶点为双三次Bezier曲面的控制顶点。)()(),(m0i,,0,vBuBPvupnjminjji43剩下的4个顶点决定了双三次Bezier曲面片的形状12个顶点决定四条边界曲线,皆为三次Bezier曲线问题:
几个控制点落在曲面上?447.5.2双三次Bezier曲面的定义双三次Bezier曲面定义如下:(u,v)∈〔0,1〕×〔0,1〕)()(),(30i3,3,30,vBuBPvupjijji双三次Bezier曲面的例子457.6B样条曲线Bezier曲线虽然有许多优点,但也存在不足之
处:1.确定了控制多边形的顶点个数(n+1个),也就确定了曲线的次数(n次);2.控制多边形与曲线的逼近程度较差,次数越高,逼进程度越差;3.其曲线不能局部修改,修改某一控制点将影响到整条曲线,原因是Bern
stein基函数在整个开区间(0,1)内均不为零,所以曲线在开区间内任何一点的值都将受到全部顶点的影响,改变其中某一顶点的位置,将会引起整条曲线的改变。46为了克服上述问题,Gordon和Riesenfeld于1974年用B样条基函数
代替了Bernstein基函数,构造了B样条曲线。1.B样条曲线比Bezier曲线更贴近控制多边形,曲线更光滑(很容易产生C2连续性)2.曲线的次数可根据需要指定,不像Bezier曲线的次数是由控制点的个数来确定。3.除此之外B样条
曲线的突出优点是增加了对曲线的局部修改功能,因为B样条曲线是分段组成的,所以控制多边形的顶点对曲线的控制灵活而直观。477.6.1B样条曲线段的定义7.6.2二次B样条曲线段7.6.3三次B样条曲线段7.6.4B样条
曲线的性质7.6B样条曲线487.6.1B样条曲线的定义B样条曲线分为均匀B样条曲线和非均匀B样条曲线,本书只讨论均匀B样条曲线。给定n+1个控制点Pi(i=0,1,2,…,n),n次B样条曲线段的参数
表达式为:依次用线段连接控制点Pi(i=0,1,2,…,n)组成的多边形称为B样条曲线控制多边形。在工程实际中,二次B样条曲线和三次B样条曲线应用得较为广泛。niniitFPtp0,)()(Fi,n(t)是B样条基函数,(7
-27)497.6.2二次B样条曲线段1.矩阵表示二次B样条曲线的n=2,i=0,1,2,控制多边形有三个控制点P0、P1和P2niniitFPtp0,)()(5021020
11022121)1(21)(PPPtttp51二次B样条曲线段的几何性质二次B样条曲线的起点p(0)位于P0P1边的中点处终点p(1)位于P1P2边的中点处起点切矢量沿P0P1边的走向终点切矢量沿P1P2边的走向P(1
/2)正是P(0)、P1、P(1)这三点所构成的三角形的中线P1Pm的中点,而且p(1/2)处的切线平行于两个端点的连线p(0)p(1)。52P0P1P2p’(1/2)p(0)p(1/2)p(1)Pm
三个顶点P0P1P2确定一段二次B样条曲线段,该段曲线是一段抛物线。一般情况下,B样条曲线不经过控制点,曲线起点只与前二个控制点有关,终点只与后二个控制点有关。537.6.3三次B样条曲线段1.矩阵表示三次B样条曲线段的n=3,控制多边形有四个控制点P0、P1、P2和P3,B样条曲线段是三次多项
式。niniitFPtp0,)()(543210230141030303631331161)(PPPPttttp55几何性质曲线的起点p(0)位于P0P2的中点和P
1的连线上,且距P1点三分之一处曲线终点p(1)位于P1P3的中点和P2的连线上,且距P2点三分之一处切矢量p’(0)平行于P0P2,且长度为其二分之一切矢量p’(1)P1P3,且长度为其二分之一二阶导数p”(0)是向量P1P2和
P0P1的和二阶导数p”(1)是向量P2P3和P1P2的和3210230141030303631331161)(PPPPttttp56P0P1P2p’(0)P”(0)P”(1)PmP3p’(1)p(0)p(1)
p”(0)沿着中线P1Pm方向,长度等于中线的两倍p”(1)沿着中线P2Pm方向,长度等于中线的两倍一般情况下,B样条曲线不经过控制点,曲线起点只与前三个控制点有关,终点只与后三个控制点有关。实际上,B样条曲线都具有这种控制点的邻近影响性,这正是B样
条曲线局部可调整性好的原因。571.连续性B样条曲线不同于Bezier曲线整体生成,它是分段生成的,B样条曲线各段之间自然连接。由空间N个控制点生成的n次B样条曲线是由m+1(m=N-n-1)段n次B样条曲线
段逼近而成,每个曲线段的形状仅由点列中的n+1个顺序排列间距相等的点所控制。曲线段之间自然连续。例如:空间5个控制点生成的3次B样条曲线是由m+1=2(m=5-3-1=1)段3次B样条曲线逼近而成,每个曲线段的形状仅由点列中的3+
1=4个顺序排列间距相等的点所控制,曲线段之间自然连续。7.6.4B样条曲线的性质P0P1P2P3P4589个控制点决定的二次B样条曲线,7段二次B样条曲线段确定599个控制点决定的三次B样条曲线,6段三次B样条曲线段确定602.局部性质在B样条曲线中,每段B样条曲线段受
n+1个控制点影响,改变一个控制点的位置,最多影响n+1个曲线段,其它部分曲线形状保持不变,如图7-18和图7-19所示。在工程设计中经常需要对曲线进行局部修改,B样条曲线能很好地满足这一要求,这就是B样条曲
线受欢迎的原因之一。61图7-18二次B样条曲线局部顶点修改627.7B样条曲面7.7.1B样条曲面的定义7.7.2双三次B样条曲面的定义7.7.3双三次B样条曲面的连续性637.7.1B样条曲面的定义B样条曲面是B样条曲线的二维推广,给定(m+1)×(n+1)个控制点P
ij(i=0,1,…,m;j=0,1,…,n),其表达式为:)()(),(00,,vFuFPvuPminjnjmiij647.7.2双三次B样条曲面的定义双三次B样条曲面定义如下:)()(),(3
0303,3,vFuFPvuPijjiij65展开式有:)()()()()()()()(),(3,33,23,13,0333231302322212013121110030
201003,33,23,13,0vFvFvFvFPPPPPPPPPPPPPPPPuFuFuFuFvup66从图7-24可以看出,双三次B样条曲面是由三次B样条曲线交织而成。曲面生成时可以通过固定u,变化v得到一簇三次B样条曲
线;固定v,变化u得到另一簇三次B样条曲线。与三次B样条曲线相似,双三次B样条曲面一般情况下不通过控制网格的任何一个顶点。677.7.3双三次B样条曲面的连续性双三次B样条曲面的优点是极为自然地解决了曲面片之间
地连接问题,例如,只要将控制网格沿某一个方向延伸一排,就可以决定另一个曲面片,此时曲面片理所当然地保证二者之间达到了C2连续性。687.8本章小结本章讲解了Bezier曲线曲面和B样条曲线曲面属于逼近范畴。B样条曲线和Bezier曲线的最主要差别在于基函数
不同。Bernstein基函数是一个整体函数,而B样条基函数一个分段函数。所以B样条曲线可以进行局部控制点调整。Bezier曲线曲面的阶次与控制多边形的顶点数有关,B样条曲线曲面的阶次可以自由决定。这样如果控制多边形
顶点数超过四个时,两段三次Bezier曲线或两片双三次Bezier曲面片之间连接时就存在拼接的问题,而B样条曲线曲面可以自由地扩展到多个顶点,始终保持阶次不变,而且扩展的分段曲线或分段曲面实现了自然连接。697.9习题1.在屏幕上使用鼠标绘制控制多边形,基于deCast
eliau算法根据控制多边形的阶次绘制如图所示的Bezier曲线。702.在屏幕上使用鼠标左键绘制任意点形成控制多边形,单击鼠标右键绘制三次B样条曲线的程序,同时在控制多边形的每一个控制三角形内显示曲线生成原理,
效果如图所示。713.根据二次Bezier曲线的基函数,使用VC++编程绘制下图所示二次Bezier曲线。724.根据三次Bezier曲线的基函数,使用VC++编程绘制下图所示三次Bezier曲线。735.在屏幕上使用鼠标绘制控制多边形,基于deCasteliau算法根据控制多边形的阶次
绘制下图所示的Bezier曲线。746.在屏幕上使用鼠标左键绘制任意点形成控制多边形,单击鼠标右键绘制三次B样条曲线的程序,同时在控制多边形的每一个控制三角形内显示曲线生成原理,效果下图所示。757
.给定下图所示的四个控制点:P0=(228,456),P1=(294,247),P2=(452,123),P2=(294,247),P2=(705,197)。分别绘制三次Bezier曲线和三次B样条曲线,对比分析二者和控制多边形的逼近程度。768.给定7×7=49
个控制点如下:P0,0(300,-200,0),P0,1(350,-150,100),P0,2(300,-100,100),P0,3(200,-150,200),P0,4(100,-300,100),P0,5(-100,-400,150)
,P0,6(-200,-450,100),P1,0(500,0,150),P1,1(500,40,200),P1,2(350,0,150),P1,3(100,-130,100),P1,4(100,-50,150),P1,5(0,-15
0,160),P1,6(-50,-100,250),P2,0(400,100,100),P2,1(300,50,150),P2,2(250,100,180),P2,3(100,30,200),P2,4(150,100,300),P2,5(100,50
,320),P2,6(0,0,300),P3,0(400,100,0),P3,1(500,300,150),P3,2(450,300,200),P3,3(200,200,150),P3,4(50,160,100),P3,5(-50,70,130),P3,6(50,80,-1
00),P4,0(400,250,100),P4,1(350,400,60),P4,2(300,300,80),P4,3(350,300,70),P4,4(100,200,80),P4,5(200,300,100),P4,6(0,200,100),P5,0(300,300,50),P5,
1(300,350,-40),P5,2(300,400,0),P5,3(200,380,50),P5,4(200,400,200),P5,5(100,350,100),P5,6(200,500,200),P6,0(400,600,0),P6,1(300,600,100),P6,2(300,
550,150),P6,3(200,400,100),P6,4(100,450,80),P6,5(0,400,70),P6,6(100,450,200)。绘制双三次B样条曲面,曲面效果如图所示。77789.给定7×7=4
9个包含重点的控制点如下:P0,0(200,-200,100),P0,1(200,-200,100),P0,2(200,-200,100),P0,3(300,100,300),P0,4(-200,-200,100),P0,5(-200,-200,100),P0,6(-
200,-200,100),P1,0(200,-200,100),P1,1(200,-200,100),P1,2(200,-200,100),P1,3(300,100,300),P1,4(-200,-200,100),P1,5(-200,-
200,100),P1,6(-200,-200,100),P2,0(200,-200,100),P2,1(200,-200,100),P2,2(200,-200,100),P2,3(300,100,30
0),P2,4(-200,-200,100),P2,5(-200,-200,100),P2,6(-200,-200,100),P3,0(300,100,300),P3,1(300,100,300),P3,2(300,10
0,300),P3,3(300,100,300),P3,4(300,100,300),P3,5(300,100,300),P3,6(300,100,300),P4,0(200,200,100),P4,1(200,200,1
00),P4,2(200,200,100),P4,3(200,200,100),P4,4(-200,200,100),P4,5(-200,200,100),P4,6(-200,200,100),P5,0(200,200,100),P5,1(200,200,100)
,P5,2(200,200,100),P5,3(300,100,300),P5,4(-200,200,100),P5,5(-200,200,100),P5,6(-200,200,100),P6,0(200,200,100),P6,1(200,200,100),P6,2(200,200,100
),P6,3(300,100,300),P6,4(-200,200,100),P6,5(-200,200,100),P6,6(-200,200,100)。控制多边形如图7-34所示,绘制的双三次B样条曲面效果如图7-35所示。该控制多边形和B样条曲
面的对应关系如图7-36所示。79图7-3449个含重点的控制多边形图7-3549个含重点的双三次B样条曲面图7-3649个含重点的双三次B样条曲面和控制多边形的对应关系80将三种边界条件写成统一表达式0010001LLLM(7-4)(
7-3)01nnnnLLLu在已知加持端,自由端,抛物端的情况下,得表7-1三次参数样条边界约束条件边界条件m1,lnD1,Dn夹持端m1=1,ln=1自由端m1=0,ln=0D1=2M1,Dn=2Mn,其中M1=M
n=0抛物端m1=-2,ln=-2D1=0,Dn=0817.2三次参数样条曲线7.2.1参数样条曲线定义三次参数样条曲线可表述如下:已知n个型值点Pi(i=1,2…,n)且相邻型值点不重合;若P(t)满足下列条件:(1)型值点Pi在函数P(t)上;(2)P(t)在整个区间[P1,Pn]上二阶
连续可导;(3)在每个子区间[Pi,Pi+1](i=1,2…,n-1)上,分段函数Pi(t)都是参数t的三次多项式,则称函数P(t)是过型值点的三次参数样条函数,由三次参数样条函数构成的曲线称为三次参数样条曲线。这里,参数t是相邻型值点之间的弦长,82这里Pi(t)和P(t)都是矢量,即
:)()()()(tztytxtPiiii837.2.2系数求解第i段的三次参数样条曲线的表达式为:(7-1)下面,根据已知条件确定各待定系数B1、B2、B3、B4。对Pi(t)两次求导有:当t等于0时,第i段子曲线对应于端点Pi:当t
等于Li时,第i段子曲线对应于端点Pi+1:84设第i段曲线在型值点Pi处的二阶导矢量为Mi,有:设第i段曲线在型值点Pi+1处的二阶导矢量为Mi+1,有:联立上述四式可解得各系数矢量如下:得到第i段三次参数样条函数为:(7-2)857.2.3边界条件利用函数P(t
)的一阶导数连续来求解各型值点处的二阶导数矢量Mi。令则有:(7-3)其中式(7-3)称为三次参数样条函数的“M连续性方程”,反映了力学上的“三弯矩关系”。式(7-3)共内有n-2个方程,不能唯一确定n个型值点处的Mi,需要使用三次参数样条曲线的边界条件添加两个方程。三次参数
样条曲线常用的边界条件有夹持端、自由端和抛物端三种。86夹持端已知三次参数样条曲线在P1点处和Pn点处的一阶导数代入式(7-3)的导数有代入式(7-3)的导数有87•自由端参数样条曲线在始端和终端的二阶导数为零。M1=0,Mn=0。88抛物端参数样条曲线的第一段和第n-1段
的二阶导数为常数。M1=M2,Mn-1=Mn。897.4.3Bezier曲线的可分割性依次对原始控制多边形每一边执行同样的定比分割,所得分割点就是第一级递推生成的中间顶点,对这些中间顶点构成的控制多边形再执行同样的定比分割,重复操作,直到
得出一个中间顶点,即为所求曲线上的点。907.4.3Bezier曲线的可分割性Bezier曲线的可分割性可用德卡斯特里奥(DeCasteliau)算法表达如下。给定空间n+1个点Pi(i=0,1,2n)及参数t,有)()()1()(111tPttPttPrir
iri]1,0[;,1,0;,2,1trninr91例如,当n=3时,有三次Bezier曲线递推如下:0,31,0,22,1,0,1iririr
)()()1()()()()1()()()()1()(030212020111010010tPttPttPtPttPttPtPttPttP92其中:规定:)()()1()(
)()()1()(121121111020tPttPttPtPttPttP)()()1()(212030tPttPttPiiPtP)(0的点是在曲线上具有参数t)(0tPn93根据该式可以绘制Bezier曲线,比如绘制三次取t=0,t=1/3,t=2/3,t=1,点的运动轨迹
形成Bezier曲线。图7-8绘制的是t=1/3的点。94图7-9绘制的是t=2/3的点。95连接闭区间(0,1)内的所有点,可以绘制Bezier曲线,如图7-10所示。96注意:对于Bezier曲线,在区间(0,1)范围内,每个基函数均不为零,说明不能使用控制多边形对曲线的形状进行局部调整
,如果要改变某一控制点位置,整个曲线都将受到影响。)()(,0tBPtpninii97Thankyou