资源描述
第第5章章 曲线和曲面曲线和曲面 几何造型技术是一项研究在计算机中,如何表达物体模型形状的技术。在航空航天、汽车、造船、机械、建筑和电子等行业得到了广泛的应用。拟合曲线可分为两种类型:曲线过所有的给定型值点(插值放样);另一种曲线是,并不一定通过给定的型值点,而只是比较好地接近这些点(逼近)。这类曲线(或曲面)比较适合于外形设计。n工业产品的几何形状:工业产品的几何形状:n初等解析曲面n复杂方式自由变化的曲线曲面曲线曲面数学描述的发展n弗格森双三次曲面片,孔斯双三次曲面片n样条方法,Bezier方法,B样条方法n有理Bezier,非均匀有理B样条方法5.15.1曲线曲面基础曲线曲面基础曲线曲面的表示要求曲线曲面的表示要求1.唯一性2.几何不变性3.易于定界4.统一性5.易于实现光滑连接6.几何直观5.1.1 5.1.1 曲线曲面的参数表示曲线曲面的参数表示n曲线和曲面的表示分为参数表示和非参数表示两种,非参数表示又分为显式表示和隐式表示。n显式表示一般形式是:y=f(x)。n隐式表示:f(x,y)=0.n非参数方程的缺点是:与坐标轴相关;会出现斜率为无穷大的情形(如垂线);对于非平面曲线、曲面,难以用常系数的非参数化函数表示;不便于计算机编程。n 曲线曲面的参数表示曲线曲面的参数表示n参数表示的曲线、曲面具有几何不变性等优点,计算机图形学中通常用参数形式描述曲线、曲面。n曲线上任一点的坐标均表示成给定参数的函数。假定用t表示参数,平面曲线上任一点P可表示为:np(t)=x(t),y(t)n空间曲线上任一三维点P可表示为:np(t)=x(t),y(t),z(t)n n最简单的参数曲线是直线段,端点为P1、P2的直线段参数方程可表示为:np(t)=P1+(P2-P1)t t0,1;n圆在计算机图形学中应用十分广泛,其在第一象限内的单位圆弧的非参数显式表示为:n其参数形式可表示为:参数表示方法的优点:参数表示方法的优点:1点动成线2选取具有几几何何不不变变性性的参数曲线曲面表示形式。3斜率4t0,1,使其相应的几何分量是有界的5可对参数方程直接进行仿射和投影变换6参数变化对各因变量的影响可以明显地表示出来5.1.2 5.1.2 插值与逼近插值与逼近n1插值n给定一组有序的数据点Pi(i=0,1,n),构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值,所构造的曲线称为插值曲线。n主要方法有:线性插值,抛物线插值2.逼近n当型值点较多时,构造插值函数通过所有型值点是相当困难的。而测量所得的数据点本身比较粗糙,使得构造精确的插值函数也是没有意义的。n这时通常选择一个次数较低的函数,构造一条曲线使之在某种意义下最接近给定的数据点,称为对这些数据点进行逼近,所构造的曲线为逼近曲线。插值和逼近则统称为拟合。n逼近的方法最常用的是最小二乘法曲线的插值图5-1 曲线的插值曲线的逼近图5-2 曲线的逼近将连接有一定次序控制点的直线序列称为控制将连接有一定次序控制点的直线序列称为控制多边形或特征多边形多边形或特征多边形5.1.3连续性假定参数曲线段pi以参数形式进行描述:连续性:曲线段之间如何实现光滑连接的问题参数连续性:函数的可微性,把组合参数曲线构造成在连接处具有直到n阶连续,即n阶连续可微,这类光滑度称之为Cn或n阶参数连续性 几何连续性n组合曲线在连接处满足不同于Cn的某一组约束条件,称为具有n阶几何连续性,简记为Gn。n曲线光滑度的两种度量方法并不矛盾,Cn连续包含在Gn连续之中。1.参数连续性参数连续性0阶参数连续性,记作C0连续性,是指曲线的几何位置连接,即 0 0阶参数连续性阶参数连续性图5-3:0阶参数连续性1 1阶参数连续性阶参数连续性 记作C1连续性,指代表两个相邻曲线段的方程在相交点处有相同的一阶导数:1 1阶参数连续性阶参数连续性图5-4:1阶参数连续性2 2阶参数连续性阶参数连续性记作C2连续性,指两个相邻曲线段的方程在相交点处具有相同的一阶和二阶导数。为任意常数。当 时,G2连续就成为C2连续。5.1.4 5.1.4 样条描述样条描述n样条(spline)是指通过一组给定点集来生成平滑曲线的柔性带。n在计算机图形学中,样条曲线是指由多项式曲线段连接而成的曲线,在每段边界处满足特定的连续性条件。n样条曲面则是由两组正交的样条曲线来描述。n次样条参数多项式曲线次样条参数多项式曲线5.1.5 5.1.5 三次三次HermiteHermite样条样条给定n+1个点,可得到通过每个点的分段三次多项式曲线:方程组中12个系数唯一地确定了一条3次参数曲线的位置与形状。上述代数式写成矢量式是:n描述参数曲线的条件有:n端点位置矢量、端点切线矢量、曲率等。对三次参数曲线,用其端点矢量P(0),P(1).n端点切线矢量P(0),P(1)描述.则由上式得:n将这些系数代回到原曲线方程,则曲线方程可表示为:则三次参数曲线为三次Hermite样条曲线:Mh是Hermite矩阵,为常数,它是边界约束矩阵的逆阵。Gh是Hermite几何矢量。三次Hermite样条曲线的方程为:在上式中只要给定Gh,就可以求出P(t)。对于不同的初始条件Gh是不同的,但T,Mh都是相同的,将TMh称为Hermite基函数(或称混合函数,调和函数)。其表达式为:则Hermite基函数的各分量可写为:利用基函数表达的三次Hermite样条曲线的方程为:H0(t)和H1(t)专门控制端点的函数值对曲线的影响,而同端点的导数值无关;H2(t)和H3(t)则专门控制端点的一阶导数值对曲线形状的影响,而同端点的函数值无关。5.2 5.2 Bezier Bezier 曲线曲线图5-5:Bezier曲线的例子5.2.1 Bezier曲线的定义n给定空间n+1个点的位置矢量Pi(i=0,1,2,n),则定义一个n次Bezier参数曲线,其各点坐标的插值公式是:n其中,Pi构成该Bezier曲线的特征多边形,BENk,n(t)是n次Bernstein基函数。P2P2P0P1P3P1P0P3三次Bezier曲线如图5-6所示:图5-6:三次Bezier曲线1.一次Bezier曲线(n=1)nn=1时,有2个控制点P0和P1,Bezier多项式是一次多项式:n一次Bezier曲线是连接起点P0和终点P1的直线段。2二次Bezier曲线(n=2)(抛物线)nn=2时,有3个控制点P0、P1和P2,Bezier多项式是二次多项式:3 3三次三次BezierBezier曲线曲线(n n=3)=3)nn=3时,有4个控制点P0、P1、P2和P3,Bezier多项式是三次多项式:将三次Bezier曲线表示为矩阵形式:Mbe是系数矩阵,为常数,Gbe是4个控制点的位置矢量。5.2.2 5.2.2 BezierBezier曲线的性质曲线的性质n(1)端点位置n由Bernstein基函数的端点性质可以推得,nP(0)=P0,P(1)=PnnBezier曲线的起点、终点与相应的特征多边形的起点、终点重合。n(2)端点切线n n 上式说明Bezier曲线的起点和终点处的切线方向和特征多边形的第一条边及最后一条边的走向一致。(3 3)端点曲率)端点曲率n上式表明2阶导数只与相邻的3个顶点有关,事实上,r阶导数只与(r+1)个相邻点有关,与更远点无关。三次Bezier曲线段在起始点和终止点处的二阶导数为。(4 4)对称性)对称性n保持n次Bezier曲线控制顶点的位置不变,而把次序颠倒过来构造出的新Bezier曲线,与原Bezier曲线形状相同,走向相反。n这个性质说明Bezier曲线在起点处有什么几何性质,在终点处也有相同的性质。n(5 5)凸包性)凸包性n曲线落在Pi构成的凸包之中.(6 6)几何不变性)几何不变性n这是指某些几何特性不随坐标变换而变化的特性。(7 7)交互能力)交互能力nP(t)的控制多边形Pi可作为曲线的输入和人机交互的良好手段。n(8 8)变差缩减性)变差缩减性n若Bezier曲线的特征多边形是一个平面图形,则平面内任意直线与P(t)的交点个数不多于该直线与其特征多边形的交点个数,这一性质叫变差缩减性质。n此性质反映了Bezier曲线比其特征多边形的波动还小,也就是说Bezier曲线比特征多边形的折线更光顺。5.2.3 5.2.3 BezierBezier曲面的拼接曲面的拼接图5-7 两段三次Bezier曲线的连接P0P1P2P3(Q0)Q1Q2Q3 给定两条Bezier曲线P(t)和Q(t),相应控制点为Pi(i=0,1,.,n)和Qj(j=0,1,.,m),如下图所示。n(1)要使它们达到G0连续的充要条件是:Pn=Q0。n(2)要使它们达到G1连续的充要条件是:Pn-1、Pn(Q0),Q1三点共线,即可表示为:(3)要使它们达到G2连续的充要条件是:在G1连续的条件下,与 均不为零且同向,还要求在处曲率相等且主法线的方向一致,对于三次Bezier曲线,即要满足方程。5.2.4 5.2.4 BezierBezier曲线的离散生成曲线的离散生成de Casteljau提出的递推算法比较简单。该算法把一个复杂的几何计算问题转化为一系列的线性运算,所以计算稳定可靠,具有通用性,易于在计算机上实现。)3/1(30PP=011/30P1P2P3P10P11P12P20P21P图5-8 几何作图法求Bezier曲线已知控制点 ,称为 ,构成n条边的控制多边形。首先依次对控制多边形进行定比分割,分割比例为t:(1-t),得到第一级递推的中间顶点 。然后再对这些中间顶点构成的控制多边形进行同样的定比分割,得到第二级递推的中间顶点 。如此继续,直到n次分割得到中间顶点 ,即为所求的Bezier曲线P(t)。以上的递推过程可以用公式表示为以上的递推过程可以用公式表示为:0P1P2P3P10P11P12P20P21P30P图5-9 Bezier曲线的递推过程5.3 5.3 B B样条曲线样条曲线nBezier曲线有两点不足:n控制多边形的顶点个数决定了Bezier曲线的次数,n不能作局部修改。5.3.1 5.3.1 B B样条曲线的定义样条曲线的定义nB样条曲线的方程定义为:n顶点 Pi(i=0,1,2,n)为控制顶点,又称为德布尔点(deBoor)。称折线P1P2Pn为P(t)的控制多边形,k为B样条曲线的次数。Bi,k(t)为k次B样条基函数.B样条基函数的计算可采用如下方法称区间ti,ti+k+1为Bi,k(t)的支承区间。B样条曲线方程中,n+1个控制顶点Pi(i=0,1,n),要用到n+1个k次B样条基函数Bi,k(t)。它们支撑区间的并集定义了这一组B样条基的节点矢量T=t0,tn+k+1。1.1.一次一次B B样条基函数样条基函数n一次B样条基函数Bi,1(t)是由两个零次基函数Bi,0(t)和Bi+1,0(t)递推得到,是他们的凸线性组合。2.2.二次二次B B样条基函数样条基函数n二次B样条基函数Bi,2(t)是相邻两个一次B样条基函数Bi,1(t)的凸线性组合。1.B样条曲线基函数的次数与控制点的个数无关.2.B样条曲线的基函数具有局部支承性,即其只在其支承区间内非零。B样条曲线基函数的特点5.3.2 5.3.2 B B样条曲线的分类样条曲线的分类nB样条曲线按照节点矢量中的节点分布情况不同,可以将B样条曲线分为三类:n均匀B样条曲线n开放均匀B样条曲线n非均匀B样条曲线1 1均匀周期性均匀周期性B B样条曲线样条曲线n当节点沿参数轴均匀等距分布,n即tk+1-tk=常数时,表示均匀B样条函数。n例如节点矢量可取为:nT=(-2,-1.5,-1,-0.5,0,0.5,1,1.5,2),nT=(0,1,2,3,4,5,6,7)等。下图是三次均匀B样条基函数tBk,3(t)214351图5-9 四段三次均匀B样条基函数B0,3(t)B1,3(t)B2,3(t)B3,3(t)n均匀B样条的基函数呈周期性,即基函数在定义域内各个节点区间上都具有相同的形状。可将定义在每个节点区间上用整体参数t表示的B样条基函数,换成用局部坐标参数表示。作参数变换:(1)(1)二次均匀样条曲线二次均匀样条曲线n二次样条曲线的分段表达式为:其中,t 为参数,。为对应的控制顶点。n表示为矩阵形式如下:其中 i=0,1,2,n,共n-k段分段曲线,式中Pi+k为分段曲线的特征多边形的顶点:Pi,Pi+1,Pi+2连续的三个顶点。P3P0P2P1P1,P2,P3P:P4i=0P0,2(t)i=1P1,2(t)图5-10:二次均匀B样条曲线n曲线的起点和终点值:均匀二次B样条曲线起点和终点处的导数:曲线的起始点位于头两个控制点之间,终止点位于最后两个控制点之间 对于高次多项式,起点和终点是k-1个控制点的加权平均值点。若某一控制点出现多次,样条曲线会更加接近该点。分段二次B样条曲线是一条抛物线;有n个顶点定义的二次B样条曲线,其实质上是n-2段抛物线(相邻三点定义)的连接,并在接点处达到一阶连续。2.2.开放均匀开放均匀B B样条曲线样条曲线n均匀B样条曲线的不足:n均匀B样条曲线的首末端点不与控制顶点的首末点重合。当均匀B样条的次数高于二次时,在端点处也不再与控制多边形相切。n开放均匀B样条与均匀B样条的节点矢量的差别在于两端节点。nn次开放均匀B样条的节点矢量中两端节点具有重复度为n+1,所有内节点均匀分布。因此除两端的n-1个节点区间外,n次开放均匀B样条与均匀B样条基函数具有相同的图形。3.3.非均匀非均匀B B样条曲线样条曲线n均匀B样条曲线不能贴切地反映控制顶点的分布特征,当型值点分布不均匀时,难以获得理想的插值曲线等。n非均匀B样条曲线可以克服上述不足。但由于节点的分布不均匀,因此基函数不再具有平移性,基函数各不相同。因此,在生成曲线时,每个基函数都要单独计算,其计算量比均匀B样条曲线要大得多。5.3.3 B样条曲线的性质样条曲线的性质1局部支柱性局部支柱性B样条的基函数是一个分段函数,其重要特征是在参数变化范围内,每个基函数在tk到tk+m的子区间内函数值不为零,在其余区间内均为零,通常也将该特征称为局部支柱性局部支柱性。图5-11 B样条曲线的局部支柱性P0P1P2P3P4P5P6P7P4P42B样条的凸组合性质样条的凸组合性质B样条的凸组合性和B样条基函数的数值均大于或等于0保证了B样条曲线的凸包性,即B样条曲线必处在控制多边形所形成的凸包之内。3连续性连续性n若一节点矢量中节点均不相同,则m次B样条曲线在节点处为m-1阶连续。nB样条曲线基函数的次数与控制顶点个数无关。n重重节节点点问题:若在连接点的重复度为r,则k次B样条曲线在节点处为k-r次连续的。4 导数5几何不变性几何不变性6变差减少性变差减少性5.3.4 5.3.4 非均匀有理非均匀有理B B样条曲线样条曲线n非 均 匀 有 理 B样 条 曲 线(Nonuniform Rational B-Spline,NURBS)。其节点矢量为Tt0,t1,ti,tn+m,节点个数是n+m+1(n为控制项的点数,m为B样条基函数的次数)。对于非周期NURBS曲线,常取两端节点的重复度为i,即定义n称下列曲线是以P1 P2Pn为控制多边形,以w1w2wn为权的m次有理B样条曲线。n下面以二次NURBS曲线如何表示二次曲线为例进行说明:定义二次开放均匀B样条,取 三 个 控 制 顶 点。则 均 匀 节 点 矢 量T=(0,0,0,1,1,1),取权函数为:n则有理B样条的表达式为:NURBS曲线也可用有理基函数的形式表示:其中 称为有理基函数。具有m阶B样条基函数类似的性质:(1)普遍性(2)局部支承性(3)权性(4)可微性3.3.NURBSNURBS曲线的优点曲线的优点n(1)既为标准解析形状(即前面提到的初等曲线曲面),又为自由型曲线曲面的精确表示与设计提供了一个公共的数学形式。n(2)修改控制顶点和权因子,为各种形状设计提供了充分的灵活性。n(3)具有明显的几何解释和强有力的几何配套技术(包括节点插入、细分、升阶等)。n(4)对几何变换和投影变换具有不变性。n(5)非有理B样条、有理与非有理Bezier方法是其特例。5.4 5.4 BezierBezier曲面曲面n5.4.1Bezier曲面的定义n在 空 间 给 定(m+1)(n+1)个 点Pi,j(i=0,1,2,m;j=0,1,2,n)后,所有的控制点构成的空间的一张网格称为控制网格。则Bezier曲面的定义如下:n式 中BENi,m(u)、BENj,n(v)分 别 为m及n次Bernstein 基函数:下图是双三次Bezier曲面及其控制网格图5-12 双三次Bezier曲面及其控制网格P0,0P3,0P0,3P3,3P1,0P2,0P0,1P0,2P1,1P2,1P3,1P1,2P2,2P2,3P1,3P2,3双三次双三次BezierBezier曲面曲面(m m=n n=3)=3)5.4.2 5.4.2 BezierBezier曲面的性质曲面的性质n(1)(1)端点位置端点位置n控控制制网网格格的的四四个个角角点点正正好好是是BezierBezier曲曲面面的的四四个个角点。角点。n(2)(2)边界线的位置边界线的位置n控制网格最外一圈顶点定义Bezier曲面的四条边界,P(0,v),P(u,0),P(1,v),P(u,1)分别是以P00P01P02P0n,P00P10P20Pm0,Pm0Pm1Pm2PPmn,P0nP1nP2nPmn为控制多边形的Bezier曲线。n(3)(3)端点的切平面端点的切平面n由计算易知三角形P00P10P01,P0nP1nPmn,PmnPm-1,nPm,n-1,Pm0Pm-1,0Pm1所 在 的 平 面 分 别 在 点P00,P0n,Pmn,Pm0与曲面P(u,v)相切。(4)(4)端点的法向端点的法向n由端点的切平面知是由端点的切平面知是P P(u,vu,v)在点在点P P0000的法向,的法向,其余各端点的法向的情况也类似。其余各端点的法向的情况也类似。n n(5)(5)几何不变性几何不变性n(6)(6)凸包性凸包性 n(7)(7)交互能力交互能力 5.4.3 5.4.3 BezierBezier曲面的拼接曲面的拼接n已知两张双三次Bezier曲面片:nn,n实现实现G1G1连续性的条件为:连续性的条件为:n(1)(1)P P1 1(1,(1,v v)=)=Q Q2 2(0,(0,v v),n即有即有P P3,i3,i=Q Q0,i0,i,i i=0,1,2,3=0,1,2,3n(2)(2)P P3,i3,i-P P2,i2,i=(Q Q1,i1,i-Q Q0,i0,i),i i=0,1,2,3=0,1,2,35.5 5.5 B B样条曲面样条曲面n5.5.1 5.5.1 B B样条曲面的定义样条曲面的定义n设节点向量U=ui,V=vi,分别是对参数uv平面上的u轴和v轴的分割,称下列张量积形式的参数曲面为m1m2 次B样条曲面。双三次双三次B B样条曲面的表达形式样条曲面的表达形式5.5.2 5.5.2 非均匀有理非均匀有理B B样条曲面样条曲面nNURBS曲面可由下面的有理参数多项式函数表示:NURBS曲面与非有理B样条曲面也有相类似的几何性质,权因子的几何意义及控制顶点的修改等也与NURBS曲线类似,
展开阅读全文