




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 曲线曲面 5.1曲线和曲面的表示曲线和曲面的表示有一空间点A,从原点O到A点的连线表示一个矢量,此矢量称为位置矢量。空间一点的位置矢量有三个坐标分量,而空间曲线是空间动点运动的轨迹,也就是空间矢量端点运动形成的矢端曲线,其矢量方程为:)(),(),()(uzuyuxuCC此式也称为单参数的矢函数。它的参数方程为:)(),()(uzzuyyuxx,0nuuu1 曲线的矢函数求导与数量函数的求导一样,矢函数也可以求导。设当参数 变为 时,矢函数对应的位置 由变为 ,线段对应的矢量差为:其变化率为当 时,这个矢量的极限叫做c(u)的一阶导矢,记为 或: )()()(uCuuCuCuuCuuC
2、uuC)()()(0u)( uC duudC/)(uuuOM1OM又设因为 所以矢函数的导矢也是一个矢函数,因此也有方向和模。矢量 的方向平行于割线MM1;当 时, 就转变为M(u)点的切线矢量,故又称导矢为切矢。 )(),(),()(uzuyuxuruuzuuzuuyuuyuuxuuxuuCuuC)()(,)()(,)()()()()(),(),()(uzuyuxuCuuCuuC/)()(0uuuC/ )(1 曲线的自然参数方程设在空间曲线C(u)上任取一点 作为计算弧长的初始点,曲线上其他点 到M0之间的弧长s是可以计算的(如用弧长积分公式或累计弦长公式),这样曲线上每个点的位置与它的弧长
3、之间有一一对应关系。以曲线弧长作为曲线方程的参数,这样的方程称为曲线的自然参数方程,弧长则称为自然参数:),(0000zyxM),(zyxM)(),(),()(szsysxsCC弧长微分公式为 :引入参数u,上式可改写为:鉴于矢量的模一定为非负,可得 2222)()()()(dzdydxds2222)/()/()/()/(dudzdudydudxduds)(uCduds3 曲线的法矢量设空间曲线的自然参数方程为C=C(s),曲线的切矢为单位矢量,记为T: 因为 ,对左式求导,得到: 说明 垂直,鉴于 不是单位矢量,可以认为:1)(2sT0)()(2sTsT)(),(sTsT)(sT)()(sC
4、sT单位矢量N(s)定义为曲线的主法线单位矢量,简称为主法矢;主法矢N(s)总是指向曲线凹入的方向;而k(s)是一标量系数,成为曲线的曲率,而矢量 称为曲率矢量,其模就是该曲线的曲率: 记 , 称为曲率半径。 令垂直于T和N的单位矢量为B,称此矢量为此法线单位矢量或副法线单位矢量:)()()(sNsksT)()(sTsC )()(sksC)(/1)(sks )( s)()()(sNsTsB由切线和主法线所确定的平面称为密切平面;由主法线和副法线组成的平面称为法平面;由切线和副法线构成的平面称为从切面。4 曲面的切矢和法矢空间曲面采用双参数表示: 当 为常数时,上式变成单参数 的矢函数,它是曲面
5、上的空间曲线,我们称它为 线;当 为常数时,上式变成单参数 的矢函数,它是曲面上的空间曲线,我们称它为 线;将矢函数对求导,得切矢:),(),(),(),(vuzvuyvuxvuSSuuvvvu切矢的方向指向参数 增长的方向。 同样,将矢函数 对V求导,得切矢:切矢的方向指向参数v增长的方向。 ),(),(),()()(lim0vuzvuyvuxuuSuuSuSuuuu),(vuS),(),(),()()(lim0vuzvuyvuxvvSvvSvSvvvu经过曲面上某一点 处的切平面的法矢量为),(vuMvvvuuuvuzyxzyxkjivuSvuSN),(),(5 参数表示的优点参数表示的优
6、点1)有更大的自由度控制曲线曲面的形状; 2)可对参数曲线曲面的方程直接进行几何变换,而不需要对曲线曲面的每个数据点进行几何变换;3) 可以处理斜率无穷大的情况;4)代数、几何相关和无关的变量是完全分离的,对变量个数不限,便于将低维空间中的曲线曲面扩展到高维空间中; 5)便于采用规格化的参数变量 如:区间 a,b 可由区间 0,1通过仿射变换得到 ,若 :仿射变换关系为:直线上的插值点可以下两式表示6)易于用矢量和矩阵表示几何分量,简化计算; : 1,0t1 ,0t,bau )()(abautbabauaabubuxtbattx)()1()(6插值、逼近和拟合插值、逼近和拟合 型值点:是指通过
7、测量或计算得到的曲线或曲面上少量描述其几何形状的数据点。控制点:是指用来控制或调整曲线曲面形状的特殊点,曲线曲面本身不一定通过控制点。插值和逼近:这是曲线曲面设计中的两种不同方法。插值设计方法要求建立的曲线曲面数学模型,严格通过已知的每一个型值点。而逼近设计方法建立的曲线曲面数学模型只是近似地接近已知的型值点。拟合:是指在曲线曲面的设计过程中,用插值或逼近的方法使生成的曲线曲面达到某些设计要求。7.7.曲线段间的连续性定义曲线段间的连续性定义 连续性 : C0连续(0阶参数连续)前一段曲线的终点与后一段曲线的起点相同。 C1连续(一阶参数连续) 两相邻曲线段的连接点处有相同的一阶导数。 C2连
8、续(二阶参数连续) 两相邻曲线段的连接点处有相同的一阶导数和二阶导数。对于参数曲线段若:1)则 在P处具有 连续; 2) 在点P处重合,且在点P处的切矢量方向相同,大小不相等,则 在点P处具有 连续; 3) 在点P处重合,且在P点处的切矢量方向相同,大小相等,则 在点P处具有 连续; 1 , 0),(),(21uuCuCPCC)0()1(21)(),(21uCuCGC00,)0(),1(21CC)(),(21uCuCG1) 0 (),1 (21CC)(),(21uCuCC1 4)若 在点处已有 , 连续性,且 的大小和方向均相同,则 在点P处具有 连续; 5)若 在点处已有 , 连续性,且 的
9、方向相同,大小不相等,则 在点P处具有 连续;)(),(21uCuCC0C1)0(),1( 2 1CC)(),(21uCuCC2)(),(21uCuCG0G1)0(),1 ( 2 1CC)(),(21uCuCG25.2 Bezier曲线曲线 贝塞尔曲线(Bzier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如Ph
10、otoShop等。 贝塞尔曲线于1962,由法国工程师皮埃尔贝塞尔(Pierre Bzier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线最初由Paul de Casteljau于1959年运用de Casteljau演算法开发,以稳定数值的方法求出贝兹曲线。1Bezier曲线的定义曲线的定义在给定空间个点0,1,n,称下列参数曲线为次的Bezier曲线其中, 是Bernstein基函数,即 10)()(0,uuBPuCninii)(,uBni)!( !)1 ()(,ininCuuCuBininiinni一般称折线0,1,n为C(u)的控制多边形;0,1,n各点为C(u)的控
11、制顶点。控制多边形是C(u)的大致形状的勾画;C(u)是对0,1,n的逼近。 图5.1 Bezier曲线 Bernstein基函数具有下列性质:基函数具有下列性质: 1) 非负性: 对于所有的i,n以及 均有 成立; 2) 规范性: 3)对称性 10u0,niB10, 1)(0,niniuuBniuBuBninni,.,1 , 0),1 ()(,4)递推性 5)端点性 niuBuuBuuBninini,.,1 , 0),()()1 ()(1, 11,elseiBni, 00, 1)0(,elseniBni, 0, 1)1(,6)最大性 : 在 处达到最大值;7)可导性 8)升阶公式 )(,uB
12、niniu/niuBuBnuBninini,.,1 , 0),()()(1,1, 1,)()11()()1(1,uBniuBunini)(11)(1,1,uBniuuBnini9)分割性10)积分性 )(11)()11()(1,11,uBniuBniuBninininjnjjiniuBcBcuB0,)()()(10,11)(nduuBni2Bezier曲线的性质曲线的性质 Bezier曲线C(u)具有以下性质: 1)端点性质端点性质 2)端点切矢量端点切矢量 Bezier曲线在 点处与边 相切,在点 处与边 相切。 nPCPC)1(,)0(01011,)()(niiiniPPuBnuC)()
13、1 (),()0(101nnPPnCPPnC0P01PPnPnnPP13) 端点的曲率端点的曲率:在C(u)两端点的曲率分别为:这是因为 311123102110|1)1(|1)0(nnnnnnPPPPPPnnKPPPPPPnnK202,12)()2() 1()(niniiiiuBPPPnnuC)2)(1()1()2)(1()0(21012nnnPPPnnCPPPnnC4)对称性)对称性 若保持原全部顶点的位置不变,只是把次序颠倒过来,则新的Bezier曲线形状不变,但方向相反。5)几何不变性)几何不变性Bezier曲线的位置和形状只与特征多边形的顶点的位置有关,它不依赖坐标系的选择。移动第i
14、个控制顶点 将对曲线上参数为 的那个点 处发生最大的影响。iPniu )(niC6)凸包性)凸包性 因为是多边形各顶点0,1,n的加权平均,而权因子 ,这反映在几何图形上有两重含义:a. Bezier曲线C(u)位于其控制顶点0,1,n的凸包之内;b. Bezier曲线C(u)随着其控制多边形的变化而变化;1)(0,uBni7)变差缩减性)变差缩减性对于平面Bezier曲线C(u),平面内任意条直线与其交点的个数不多于该直线与其控制多边形的交点个数;3常用常用Bezier曲线的矩阵表示曲线的矩阵表示由Bezier曲线C(u)的定义,可推出常用的一次、二次、三次Bezier曲线矩阵表示 1)一次
15、一次Bezier曲线曲线 10)1()(uPPuuC矩阵表示为这是一条从 到 的直线段 图5.2 一次Bezier 曲线 。 1001111 ,)(PPuuC0P1P2)二次)二次Bezier曲线曲线 矩阵表示为 图5.3 二次Bezier 曲线 22102)1(2)1()(PuPuuPuuC2102001022121 1)(PPPuuuC3)三次)三次Bezier曲线曲线 矩阵表示为: 33221203)1 (3)1 (3)1 ()(PuPuuPuuPuuC32102300010033036313311)(PPPPuuuuC 图5.4 三次Bezier 曲线 给定三维空间点给定三维空间点 以
16、及一维标量以及一维标量参数参数 ;假定:;假定:并且并且 那么 即为Bezier曲线上参数 处的点。 nPPP,.,10urninruuPuPuuPririri,.,0,.,1)()()1 ()(111iiPuP)(0)(0uPnu4Bezier曲线的曲线的DeCasteljau算法算法 德卡斯特里奥算法可以计算贝塞尔曲线上的点C(u),u0,1。因此,通过给定一组u的值,便可以计算出贝塞尔曲线上的坐标序列,从而绘制出贝塞尔曲线。 德卡斯特里奥算法的基础就是在向量AB上选择一个点C,使得C分向量AB为u:1-u(也就是 AC : AB = u)。给定点A、B的坐标以及u(u0,1)的值,点C的
17、坐标便为:C = A + (B - A) * u = (1 - u) * A + B * u。 定义贝塞尔曲线的控制点Pi编号为0i,其中,0表示是第0次迭代。当第一、二、三次迭代时,0将会被1、2、3替换。 德卡斯特里奥算法的思想如下:为了计算n次贝塞尔曲线上的点C(u), u0,1,首先将控制点连接形成一条折线00-01-020(n - 1)-0n。利用上述方法,计算出折线中每条线段0j-0(j+1)上的一个点1j,使得点1j分该线段的比为u:1-u。然后在折线10-11-1(n-1)上递归调用该算法,以此类推。最终,求得最后一个点n0。 德卡斯特里奥证明了,点n0一定是曲线上的点。如上图
18、,曲线控制点是00、01、02、03、04、05。线段00-01上取点10,10分该线段的比为u:1-u,类似地取点11、12、13、14,然后第二次迭代在线段10-11上取点20,点20分该线段的比为u:1-u,类似地取点21、22、23。然后进行下一次迭代,依次类推,直到最后在线段40-41上取点50,50是最终惟一的点,也是在曲线上的点。上述直观的算法描述可以表达成一个计算方法。 首先,将所有给定的控制点排列成一列,在上图中,即为最左边的一列。每一对相邻的控制点可以伸出两个箭头,分别指向右下方和右上方。在相邻箭头的交叉处,生成一个新的控制点。例如,控制点ij和i(j +1)生成新的控制点
19、(i + 1)j。指向右下方的箭头表示乘以(1 - u),指向右上方的箭头表示乘以u。 因此,通过第0列,可以求出第1列,然后求出第2列,最终,在n次迭代后,可以到达惟一的一个点n0,这个点就是曲线上的点。DeCasteljau (P,n,u,C) /* Compute point on a Bezier curve using DeCasteljau algorithm */* Input : P,n,u */* Output: C (a point) */for(i=0;i=n;i+ ) Qi=Pi ;for(k=1; k=n; k+)for(i=0; i=n-k; i+)Qi=(1.0-
20、u)*Qi+u*Qi+1 ;C=Q0 ; 图5.5 Bezier 曲线的De Casteljau算法 5Bezier曲线的几何作图法曲线的几何作图法利用De Casteljau算法可以以几何方式计算参数值 处的曲线点:1)根据给定的参数值 ,在控制多边形的每条边上确定某一分割点,使分割后的线段之比为 ;由此得分割点为:由此组成一个边数为(n-1)的新的多边形; u)1(:uu1,.,2 , 1 , 0)1 (11niPuPuPiiiu2)用相同的方法对该多边形再次分割,得到分割点 形成另一个新的多边形;3)按相同的过程分割n-1次后,得到两个顶点 ,再分割得到所求的点 即为所求的 处的曲线点;
21、)2,.1 ,0(2niPiPPnn1110,Pn0u 图5.6 Bezier 曲线的几何作图法 6Bezier曲线的分割曲线的分割几何作图法中计算得到 的同时也将原Bezier曲线分为两个子曲线段: 就是定义在 上的子曲线段,而 是定义在 上的子曲线段。Bezier曲线的任意分割是指给定两个参数值 求原Bezier曲线 上由两点 与所界定的那段子曲线段的控制顶点:1)先用 对原曲线做一分为二的分割; Pn0nPPP01000,., 0u0110,.,nnnPPP1 , u1021uu1 ,0),(uuC)(1uC)(2uC2uu 2) 对 那个子曲线用 做一分为二的分割,所得子曲线段 就是所
22、求的原Bezier曲线的子曲线段 图5.7 Bezier 曲线的分割 ,02uu 21uuu 1 ,),(21uuuuP,),(21uuuuPBezier曲线的升阶曲线的升阶有时为了便于Bezier曲线的修改,需要增加控制顶点提高灵活性,而不要改变原来曲线的形状,也就是将n次的Bezier曲线进行升级表达为n+1次的Bezier曲线,即:只需将左边乘以 然后比较 的系数,即可得到 101,0,)()()(niniininiiuBPuBPuP)1(uu)1(1uuini1,.,2 , 1 , 0,)11 (11niPniPniPiii几何意义:1) 新的控制顶点是对老的特征多边形在参数 处进行线
23、性插值的结果;2) 升阶后的新的特征多边形在老的特征多边形的凸包内;3) 升阶后的新的特征多边形更逼近Bezier曲线;)1/(ni例如对于二次Bezier曲线: 升阶后的控制顶点为 PPPuuuP21020010221211)(PPPPPPPPPP2321210100313232315. Bezier曲线的顶点反求曲线的顶点反求已知Bezier曲线上给定参数处的位置矢量和参数阶次,利用Bezier曲线定义和端点特性,可列出一组方程,求解方程组,就可得到相应的控制顶点。 例子: 已知三次Bezier曲线上的四个点分别为Q0(120,0),Q1(45,0), Q2(0,45),Q3(0,120)
24、,它们对应的参数分别为0, 1/3, 2/3, 1,反求三次Bezier曲线的控制顶点。 由已知条件可得方程组:Q Q0 = P P0 (t=0)Q Q1 = (8/27)P P0 + (4/9)P P1 + (2/9)P P2 + (1/27)P P3 (t=1/3)Q Q2 = (1/27)P P0 + (2/9)P P1 + (4/9)P P2 + (8/27)P P3 (t=2/3)Q Q3 = P P3 (t=1)bezier曲线的端点性质得到的;其余两式是由三次Bezier曲线的展开式:C(u)=(1-u)3P0+3u(1-u)2P1+3u2(1-u)P2+u3P3 分别将Q Q0
25、、Q Q1、Q Q2、Q Q3的x、y坐标代入方程组求解,可得:x0 = 120 x1= 35 x2 = 27.5 x3 = 0y0 = 0 y1 = 27.5 y2 = 35 x3 = 120 9. 9. BezierBezier曲线的拼接曲线的拼接设有两条Bezier曲线 和 ,其控制顶点分别为:0,2,n 和Q0,Q2,Qm:)(uP)(wQ1 ,0, )()(1 ,0, )()(0,0,wwBPwQuuBPuPmjmjjninii现考虑两条曲线的拼接,不同阶几何连续的条件如下:1)一阶连续性 根据端矢量条件: 其连续条件为 即 : )()0()()1(011QQnQPPmPmm)0()
26、1(QP)(101PPnmQQmm1) 二阶连续性根据二阶导矢量:为满足连续性条件:可得: )2)(1()0()2)(1() 1 (01221QQQnnQPPPmmPmmm )0()1(QP )2() 1() 1()(22121022PPPnnmmPPnmQQmmmmm 图5.8 Bezier 曲线的拼接 10、有理、有理Bezier曲线曲线有理Bezier曲线的定义式为:与Bezier曲线相比,除了可以调节有理Bezier曲线的控制顶点外,还可以调节其权因子的大小来改变曲线的形状;因而具有更强的造型功能; niininiininiiiniPuRuBPuBuP0,0,0,)()()()(其性质
27、包括:1)端点性质:2)端点切矢量 3)凸包性质;4)有理再生性;若控制顶点落在一条直线上,曲线为直线; 5)仿射和透视不变性;6)权因子的作用:当权因子全为零时,曲线与控制顶点无关;当某一权因子增大(小)时,曲线向相应的控制顶点靠近(远);当权因子为无穷大时,该控制顶点即为曲线上的点。 PRPRn)1(;)0(0)() 1 ();() 0(110101PPnRPPnRnnnn5.3 Bezier曲面曲面 1定义定义 在空间给定 个点 称下列张量积形式的一般称Pij为Bezier曲面 的控制顶点;把由两组多边形 (i=0, 1, , n)和 (j=0,1,2, ., m)组成的网称为Bezie
28、r曲面 的控制网格,记为 )1()1(mnijP),.,1 , 0;,.,1 , 0(mjni nimjmjniijvuvBuBPvuS00,1,0),()(),(),(vuSimiiPPP.10njjjPPP.10),(vuSijP控制网格 是 的大致形状勾画;是对 的逼近。 图5.9 Bezier 曲面 ijP),(vuS),(vuSijP2性质性质Bezier曲面 具有以下性质:1)端点位置端点位置: 四个端点分别是 这是因为2)边界曲线边界曲线 的四条边界的四条边界线分别是以线分别是以 ),(vuSnmnmPPPP,0000)1 , 1(),0 , 1()1 ,0(),0 ,0(000
29、0PPSPSPSPnmnm),(vuS) 1 ,(), 1 (),0 ,(), 0(uSvSuSvSmPPPP0020100.0201000.nPPPP为控制多边形的Bezier曲线。3)端点的切平面端点的切平面 三角形 所在的平面分别在点 与曲面 相切 4)端点法线方向端点法线方向 由端点的切平面知 是 在点 的法线方向;其余各端点 nmnnnPPPP.210nmmmmPPPP.210011000PPP1,010mmmPPP1,1mnmnnmPPP10,10nnnPPP0000,nnmmPPPP),(vuS),(vuS00,nnmmPPP10000100PPPP00P的法向情况也类似5)5)
30、凸包性凸包性 曲面 位于其控制顶点 的凸包性。6)几何不变性几何不变性 曲面 的形状和位置与坐标系的选取无关,仅仅与各控制顶点的位置有关 7)变差递减性变差递减性对于Bezier曲面,空间任意条直线与其交点的个数不多于该直线与其控制多边形的交点个数;),(vuS),.,1 , 0;,.,1 , 0(mjniijP),(vuS3Bezier曲面的曲面的De Casteljau算法算法假定已知 个点构成的Bezier曲面 以及参数下面的De Casteljau算法可计算出相应的曲面上的点坐标:首先对确定的 计算 ,也就是说利用De Casteljau算法计算控制顶点的第 j0行 ;利用(m+1)次
31、 De Casteljau算法计算 ;再次对 计算 的值得到 。)1()1(mnijP),.,1 , 0;,.,1 , 0(mjni),(vuS),(00vu0jnijinijPuBuQ00,0,00)()(0j0jniPji,.,0,0,)(0vCu)(0vCu0vv),()(0000vuSvCuDeCasteljauSurf(P, n, m, u, v, S) /* Compute a point on a Bezier surface */ /* Input : P , n, m, u, v */ /* Output : S */if(n=m)for(j=0;j=m;j+)DeCaste
32、ljau(Pj, n, u, Qj) DeCasteljau(Q, m, v, S) ;else for(i=0;i0, 是两个( )次基函数的线性组合;计算一系列的基函数,需要指定节点矢量 和次数 ; 是一分段多项式;我们仅仅对其在区间 感兴趣; 称为第i 个节点区段;其长度可以为零;若 则称上式中除以外的每一节点为的重节点。iuU)(0,uNi),1uuii)(,uNpi1pUp)(,uNpi,0uum),1uuiikjkjjjjuuuuu111.例如:1)令 , =2,如下计算0,1,2次的B-样条基函数:1, 1, 1, 0, 0, 0543210uuuuuuUotherwiseuNu
33、NN010100 , 20 , 10 , 0uNN00 , 40 , 3uNuNuN00000000 , 10 , 01 , 0otherwiseuuNuNuN01010110000,20, 11 , 1otherwiseuuNuNuN0101110100 , 30 , 21 , 2uNuNuN01111110 , 40 , 31 , 3otherwiseuuNuNuN010)1 (01100021 , 11 , 02, 0otherwiseuuuNuNuN010)1 (20110101 , 21 , 12, 1otherwiseuuNuNuN01011101021 , 31 , 22, 2可
34、以发现, 仅仅在区间 内有值非零,这是二次Bernstein多项式,因此,具有如下节点矢量1,.,1, 0,.,011ppU的B-样条实际上就是Bezier表达式Ni 2, 1 , 0u2 B样条基函数的性质样条基函数的性质:1)局部性局部性11, 0, 0)(piipiipiuuuuuuuuN或即只在区间 中为正,在其它地方均取零值;在给定节点区段 , 最多只有 个值为非零: ),1uuupii),1uujj)(,uNpi1p)(),.,(,uNuNpjppj,2)2)非负性非负性 对于所有的upi,,0)(,uNpi;这是由下式决定的:3)规范性规范性 对任意节点区段),1uuii,),1
35、uuuiiipijpjuN, 1)(,4)分段多项式)分段多项式)(,uNpi 在每一长度非零的区间),1uujj上都是次数不高于1p次的多项式。 )()()(1, 11111,uNuuuuuNuuuuuNpiipipipiipiipi5)连续性)连续性)(,uNpi的求导公式如下:111, 11,)()()(ipipiipipipiuuuNuuuNpuN)(,uNpi在k重节点处的连续阶不低于kp 因此增加次数可提高连续性次数,增加重节点数将降低连 续性次数 ;6)可微分性)可微分性 )()()(1, 1111,uNuupuNuupuNpiipipiipipi3 3 B B样条曲线定义样条曲
36、线定义nPPP,.,10为给定空间的1n个控制顶点,uuuUm,.,10是1m个节点矢量:称下列参数曲线buauNPuCnipii0,)()(为p次的B样条曲线,折线nPPP,.,10为B样条曲线的控制多边形。p,控制顶点个数 1n, 节点个数 1m 具有如下关系:1pnm设次数 图5.11 B B样条曲线4 4B B样条曲线的性质:样条曲线的性质:),1iiuuu,1pmip,)(uC, 位于控制顶点ipiPP,.,所建立的凸包内;图5.12 B B样条曲线凸包性1.严格的凸包性严格的凸包性:曲线严格位于控制多边的凸包内;如果 2.分段参数多项式:分段参数多项式:)(uC在每一区间),1ii
37、uuu上都是次数不高于p3.可微性或连续性:可微性或连续性:)(uC在每一曲线段内部是无限次可微的,在定义域内重复度为k的节点处则使kp 次可微或具有kp 4.几何不变性几何不变性:B样条曲线的形状和位置与坐标系的选取无关。 的多项式; 阶参数连续性;5.5.局部可调性:局部可调性:)(,uNpi只在区间),1piiuu中为正,在其它地方均取零值,p次的B样条曲线在修改时只被相邻的1p而与其它顶点无关。当移动其中的一个顶点Pi定义在区间),1piiuu上那部分曲线,并不对整条曲线产生影响。 因为 使得 个顶点控制,时,只影响到6.6.近似性:近似性:控制多边形是B样条曲线的线性近似,若进行节点
38、插入或升阶会更加近似;次数越低,B样条曲线越逼近控制顶点; 7.变差缩减性变差缩减性:设nPPP,.,10n为B样条曲线的控制多边形,某平面与B样条曲线的交点个数不多于该平面与其控制多边形的交点个数 图5.13 B B样条曲线的变差缩减性例子:给定控制顶点)8,.,0( iPi,定义一条三次B样条曲线。8n,3p,各种关系如下确定: 这说明 节点矢量,.,.,1210110uuuuuuUpn2.曲线定义域),),931uuuuunp3.当定义域),93uu内不含重节点时,曲线段数=n p +1 =6;4.当由),.,),.,63PPPPipi四个控制顶点定义,与其他顶点无关5.移动3P时将至多
39、影响到定义在区间上那些曲线段的形状 ),),731uuuupii6.在),76uu上的三次B样条基及计算定义在),76uu上那段三次B样条曲线将涉及941,.,uuuupipi共6个节点。5重节点对重节点对B样条曲线的影响样条曲线的影响节点的非均匀或非等距分布包含两层含义:(1)节点区间长度不等;(2)重节点,即节点区间长度为零。 1)重节点的重复度每增加1,曲线段数就减1,同时样条曲线 在该重节点处的可微性或参数连续阶降1;2)当定义域端点节点重复度为p时,次B样条曲线的端点将与p相应的控制多边形的端顶点重合,并在端点处与控制多边形相切;3)当在曲线定义域内有重复度为 的节点时, 次B样条曲
40、线插 值于相应的 控制多边顶点 pp4)当端节点重复度为1p时,p次B样条曲线就具有和次Bezier曲线相同的端点几何性质;p5) 次B样条曲线若在定义域内相邻两节点都具有重复度,可以生成定义在该节点区间上那段B样条曲线的Bezier点;p6)当端节点重复度为的一个非零节点区间,则所定义的该次B样条曲线就是次Bezier曲线; 1pp次B样条曲线的定义域仅有ppp6. 6. 均匀均匀B B样条曲线样条曲线节点矢量中节点为沿参数轴均匀等距分布,所有节点区间长度 iiiuu1为大于零的常数;可将定义在每个节点区间 ),1iiuu上用整体参数 u表示的B样条基变换成用局部参数 ) 1 , 0t表示,
41、只需做参数变换: nppittuuttuuii,.,1,1 , 0,)1 ()(1则B样条曲线可改写为矩阵形式:nppittuNPtuCtCikijpjji,.,1,1 , 0,)()()(,将上式改写为矩阵形式:nppitPPPMttttCipipippi,.,1,1 , 0,.1 )(12其中1-3次系数矩阵 )3 , 2 , 1(pMp分别为: 1331036303030141,121022011,1101321MMM则可以很容易写出三次均匀B样条曲线的方程:iiiiPPPPttttC1233231331036303030141161)(7. 非均匀非均匀B样条曲线样条曲线 非均匀B样条
42、函数其节点参数沿参数轴的分布是不均匀的,因而不同节点矢量形成的B样条函数各不相同,需要单独计算,其计算量较大。在CAD/CAM软件中,对于开曲线包括首末端点位置连续的闭曲线,都建议两端点取重复度 1p以使具有同次Bezier曲线的端点几何性质,便于人们 对曲线端点的行为有较好的控制,且通常将曲线的定义域 取成规范参数域,即 1 , 0,1npuuu于是有 0.10puuu0.1knnuuu在这种情况下,非均匀B样条曲线可重新描述为: 设 nPPP,.,10为给定空间的 1n个点; 基函数是定义在非均匀节点矢量: 1111,.,.,.,ppmppbbuuaaUbuauNPuCnipii0,)()
43、(其中ba,分别是具有1p重的节点;1 ba ) (在一般情况下,除非说明,我们假定计算B样条上给定参数处的点需要以下三步:1)找出u所在的节点区段; 2)计算非零的基函数;3)计算非零基函数与相应控制顶点的乘积和; 例:令 p =2, U = 0,0,0,1,2,3,4,4,5,5,5, 计算u =5/2处的B-样条曲线上的点; 因为 ),54uuu,并且: 8/1)2/5(, 8/6)2/5(, 8/1)2/5(2, 42, 32, 2NNN可得: PPPC432818681)2/5(除了具有B样条曲线的基本性质外,还具有如下的特殊性:1)若 pn 且 1,.,1 , 0,.,011ppU
44、则 )(uC是一Bezier曲线; 2)PCPCn) 1 (,)0(03)沿着曲线由 u=0 到 u=1移动时, )(,uNpi如同一开关;当u 移过一个节点时, )(,uNpi关闭,下一段打开; 4)可利用多重节点构造复杂的曲线:如图所示是一二次曲线,U=0,0,0,1/4,1/2,3/4,1,1,1,P2=P3,C(1/2)=P2=P3, C(1/4)到C(1/2)和C(1/2)到C(3/4)分别是两段直线。8. 非均匀非均匀B样条基的计算样条基的计算假定节点矢量为 ,.,0muuU ,次数为 p),1iiuuu我们只需计算非零的 1p个基函数就可以了。int FindSpan(n, p,
45、 u, U)/* Determine the knot span index */* Input : n, p, u, U */* Return : the knot span index */ if(u=Un+1) return n ; /*special case*/ low = p ; high = n+1 ; /*Do binary search*/ mid = (low + high)/2 ; while(u = Umid+1) if (u Umid) high = mid ; else low = mid ; mid = (low + high)/2 ; return mid ;B
46、asicFuns(i, u, p, U, N)/* compute the nonvanishing basic functions */* Input: i, u, p, U */* Output: N */N0 = 1.0 ;for( j=1; j = p ; j+) leftj = u Ui+1-j ; rightj = Ui+j u ; saved = 0.0 ; for ( r = 0; r j ; r+) temp = Nr / (rightr+1 + leftj-r) ; Nr = saved + rightr+1*temp ; Saved = leftj-r*temp ; Nj
47、 = saved ;5.5 B样条曲面样条曲面1B样条曲面的定义:给定 ) 1() 1(mn控制顶点 ),.,1 , 0;,.,1 , 0(,mjniPji的阵列,构成一张控制网 格;分别给定参数 u,v的次数 qp,,两个节点矢量 ,.,110pnuuuU,.,110pnvvvV,就可以定义一张 qp 次张量积B样条曲面,其方程为: jinimjqjpiPvNuNvuS,00,)()(),( 除变差递减性质外,B样条曲线的其他性质都可以推广到B样条曲面。与B样条曲线分类一样,B样条曲面也可以分为均匀B样条曲面和非均匀B样条曲面。图5.15 B样条曲面均匀B样条曲面 非均匀B样条曲面 图5.1
48、6 均匀和非均匀B样条曲面 例如,均匀双三次B样条曲面如下:TTBBVPMUMvuP),( 01410303036313316133323130232221201312111003020100PPPPPPPPPPPPPPPPPMB其中 1 ,1 3232vvvVuuuU下面我们重点研究非均匀B样条曲面, 1,.,1 ,., 0,.,01111pprppuuU1,.,1 ,., 0,.,01111qqsqquvV其中 U有 1rV有 1s个节点; 并且具有如下的关系式: 1; 1qmspnr计算在给定参数值 ),(vu处B-样条曲面上点的位置矢量需要如下五个步骤: 1)计算 u所在的节点区间,如
49、 ),1uuuii2)计算非零的基函数 )(,uNppi, )(,uNpi3)计算 v所在的节点区间,如 );,1vvvjj4)计算非零的基函数 )(,vNqqj, )(,vNqj5)计算非零基函数与相应控制顶点的乘积和; SurfacePoint(n, p,U,m,q,V,P,u,v,S) /* Compute surface points. */* Input: n, p, U, m, q, V, P, u, v */* Output: S */uspan = FindSpan(n, p, u, U) ;BasicFuncs(uspan, u, p, U, Nu) ;vspan = Fin
50、dSpan(m, q, v, V) ;BasicFuncs(vspan, v, q, V, Nv) ;uing = uspan p ;S = 0.0 ;For(i=0; i=q; i+)temp = 0.0 ;vind = vspan q + i ;for(k=0; k=p; k+)temp = temp +Nuk * Puind+kvind ;S = S + Nvi * temp ; 图5.17 非均匀B样条曲面的计算非均匀B样条曲面的性质与B样条曲面的性质类似:非负性:0)()(,vNuNqjpi2.规范性:1)()(,00vNuNqjpinimju,v 0,1; 3.一般性: 若n=p,
51、 m=q,U=0,0,1,1, V=0,0,1,1, )()()()(,vBuBvNuNmjniqjpiB-样条函数的张量积即为Berstein多项式的张量积;B-样条曲面退化为Bezier曲面; 4.局部性:若 ,),(11vvuuvuqjjpii)()(,vNuNqjpi, ;若 Pji,移动仅仅影响矩形区域 ,11vvuuqjjpii的形状; 曲面插值于控制顶点的四个角点:S(0,0)= P0,0 , S(0,1)=Po,m, 5.端点性质S(1,0)=Pn,o, S(1,1)=Pn,m;6.(仿射)几何不变性:曲面的形状仅与控制顶点的位置有关,与坐标系的选取无关; 7.凸包性:曲面一定
52、位于控制顶点所构造的凸包内;若将控制顶点三角化,则所构成的网格是曲面片的分段平面近似;8.逼近性:9.连续和可微性:S(u,v) 在u(或v)方向上具有p-k(或q-k)次微分(可导),其中k 是节点的重复度;若将控制顶点三角化,则所构成的网格是曲面片的分段平面近似;8.逼近性:9.连续和可微性:S(u,v) 在u(或v)方向上具有p-k(或q-k)次微分(可导),其中k 是节点的重复度;5.6 NURBS曲线曲线非均匀有理B-样条曲线和曲面(NonUniform Rational B-Spline),简称为 NURBS。 1NURBS曲线定义 次NURBS曲线定义为: buauNPuNuCn
53、iipiniiipi,)()()(0,0, 其中 为控制顶点(构成控制多边形), 为权因子, 为定义于非均匀控制矢量上的p次B-样条基函数:若未经说明,一般假定, , ; iP)(,uNpii,.,.,.,1111ppmppbbuuaaU1,0ba0i令:上式可写为: niipiPuRuC0,)()(njjpjipipiuNuNuR0,)()()(其中: 称为有理基函数,是 的分段有理函数,具有如下的性质: 1)非负性: 对所有的 和 0,1,有 0 2)规范性: )(,uRpi 1 , 0upi,u)(,uRpi; 1) 1 ()0(, 1)(, 00,RRuRpnpnipi 3) 局部性:
54、 若 =0,而且在任一给定的节点区间,最多有 个 为非零,即在 内只有 ,, 非零; 4)可微性: 在每一节点区间内具有任意阶导数,在节点处具有 次连续, 为节点重复度; ),1uuupii)(,uRpi1p)(,uRpi),1uuii)(,uRppi)(,uRpikp k 5 ) 权因子特例性 若 =1, ;图5.17 NURBS曲线 i)()(,uNuRpipiNURBS曲线的性质:曲线的性质: a. 端点性质; b. 仿射不变性; NURBS曲线仅与控制顶点有关,与坐标系无关;可对其进行坐标变换;PCPCn)1 (;)0(0 c . 严格的保凸性; 时, 严格位于 构成的凸包内; d.
55、可微性: 在每一节点区间内具有任意阶导数,在节点处具有 次连续, 为节点重复度; e. 变差递减性 ; 某平面与NURBS曲线的交点个数不多于与其控制多边形的交点个数; ),1uuuii)(uCPPipi,.,kp k f. 局部性: 当或变化时,仅仅影响区间的一段曲线; 图5.17 NURBS曲线的局部性 e. 一般性: 没有内部节点的NURBS曲线是一有理Bezier曲线例子: 令 , ,计算 处的NURBS曲线点。 1 , 1 , 1 , 4 , 1,.,3 , 3 , 3 , 2 , 1 , 0 , 0 , 040U)1, 5(),1 , 4(),2 , 3(),1 , 1 (),0
56、, 0(,.,40PP1u首先 在节点空间 内;可计算出: u),43uu1) 1 (0, 3N1) 1 (1212) 1 (0 , 31 ,2NN0) 1 (1211) 1 (0 , 31 , 3NN21) 1 (0212) 1 (1 , 22, 1NN 则 所以 21)1 (0201)1 (1 ,22,2NN0) 1 (2, 3N)25, 3 ,27()1 , 2 , 3(21)4 , 4 , 4(212121)1(21PPC)56,57()1(CCurvPoint(n, p, U, Pw, u, C) /* Compute point on rational B-Spline curve
57、 */* Input: n, p, U, Pw, u */* Output: C */span = FindSpan(n, p, u, U) ;BasicFuns(span, u, p, U, N) ;Cw = 0.0 ;for(j=0; j0,若 则NURBS曲面在控制顶点 , 构成的凸包内; d. 局部性: 当 变化时,仅仅影响 矩形区域所对应的曲面部分;ji,),),11vvuuvujjiiPji,jjpjiipi,jijiP,),),11vvuuqjjpii e. 一般性 非有理B样条和Bezier、有理Bezier曲面是NURBS曲面的特殊情况; f. 可微分性: 在节点处 具有 次
58、连续, 为节点重复度;),(vuS)(vu)(kqkpk g.不具有变差递减性: 图5.18 NURBS曲面 利用齐次坐标可将NURBS曲面表示如下:例子: 令 并且: nimjjiqjpiPvNuNvuS00,)()(),(,)()(),(7040,2,2,ijjijiPvNuNvuS3 , 3 , 3 , 2 , 1 , 0 , 0 , 05 , 5 , 5 , 4 , 4 , 3 , 2 , 1 , 0 , 0 , 0VU 计算曲面在 处的值;因为 ,可得: ) 1 , 0 , 2 , 4()2 , 4 , 6 , 8() 1 , 4 , 2 , 4()2 , 0 , 6 , 4()6
59、,12,24,12()2 , 8 , 6 , 4() 1 , 0 , 2 , 0()2 , 4 , 6 , 0() 1 , 4 , 2 , 0(|,jiP) 1 ,25(),(vu),),4354vvvuuu81)25(,86)25(,81)25(2, 42, 32, 2NNN0) 1 (,21) 1 (,21) 1 (2, 32,22, 1NNN那么:得到 )827,868,898,854(02121) 1 , 0 , 2 , 4()2 , 4 , 6 , 8() 1 , 4 , 2 , 4()2 , 0 , 6 , 4()6 ,12,24,12()2 , 8 , 6 , 4() 1 , 0 , 2 , 0()2 , 4 , 6 , 0() 1 , 4 , 2 , 0(818681) 1 ,25(S)2768,2798, 2() 1 ,25(SSurfacePoint(n, p, U, m, q, V, Pw, u, v, S) /* Compute po
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025煤矿企业主要负责人安全生产知识和管理能力考试强化练习题及答案
- 方案实施保障措施
- 2025年广东省建筑施工企业安全生产管理人员考试(专职安全生产管理人员C3类)(综合类)强化练习题及答案
- 河北保定市2025年注册环保工程师考试(大气污染防治专业案例)全真模拟题库及答案
- 综合解析人教版八年级上册物理机械运动《运动的描述》同步测评试题(含解析)
- 2025年金属非金属矿山主要负责人和安管人员考试复习题及答案
- 2025年数控编程技术基础实操试题解析与答案
- 难点解析人教版八年级物理上册第5章透镜及其应用专项测评试卷(详解版)
- 强化训练苏科版八年级物理下册《力与运动》章节训练试题(含答案解析)
- 综合解析人教版八年级上册物理《声现象》专题测试练习题(含答案解析)
- 增强CT造影剂外渗课件
- 蛋白质组学技术研究与应用
- 光伏网络安全培训
- 面砖铲除施工方案
- 2025年高考物理试卷(甘肃卷)(空白卷)
- 隐蔽工程验收实施方案
- 2025成人高考专升本《艺术概论》试题及答案
- 第八章 健美操教学设计-2025-2026学年初中体育与健康人教版八年级全一册-人教版
- 2025广东食品安全考试题库及答案
- 2025-2026学年高一上学期《新高一政策解读及学科差异化》主题班会课件
- 脏腑推拿课件
评论
0/150
提交评论