版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本章主要内容 曲线曲面基础 数学描述的发展,表示要求 参数化表示的优点 插值与拟合 连续性条件 三次样条曲线 Bezier曲线 B样条曲线 NURBS曲线我们需要曲线曲面?GeriGeris modelGeris game3D艺术的神话艺术的神话 PIXAR经典动画短片回顾经典动画短片回顾第7章 曲线和曲面 7.1 背景 离散点近似决定曲线曲面。 计算机辅助几何设计(CAGD,Computer Aided Geometric Design) 曲线曲面基础 数学描述的发展,表示要求 参数化表示的优点 插值与拟合 连续性条件 7.2 三次样条曲线/曲面 7.3 Bezier曲线/曲面 7.4 B样
2、条曲线/曲面 7.5 NURBS曲线参数曲线基础自由曲线一.概述 曲线:规则曲线可用曲线方程式表示的曲线。 不规则曲线不能确切给出描述整个曲线的方程,而是由从实际测量中得到的一系列离散数据点采用曲线拟合的方法来逼近的。这类曲线也称之为自由曲线。 曲线的表示方法: 1. 直角坐标曲线 显式 y = f(x) 隐式 f(x,y) = 0 2. 极坐标曲线 = =()() 3. 参数坐标曲线 x = x(t); y = y(t) 参变量的规范化 曲线的绘制方法:用很多短直线段来逼近曲线。曲线上点的数量取多少,直线段取多长,取决于绘制曲线的精度要求和图形输出设备的精度。曲线曲面的表示形式 显式表示 z
3、 = f (x, y)隐式表示 f (x, y, z) = 0参数表示 x = x (u, v) y = y (u, v) z = z (x, y)常用生成方法: 插值生成的曲线经过每个数据点生成的曲线经过每个数据点,如:多项式插值(常见三次多项式)、样条函数插值,Hermite曲线等; 逼近生成的曲线靠近每个数据点靠近每个数据点(不一定通过每个点),如:Bezier曲线,B样条曲线7.1.2拟合拟合 插值和逼近插值和逼近 型值点型值点指通过测量或计算得到的曲线或曲面上少量描述其几何形状少量描述其几何形状的数据点的数据点。 控制点控制点指用来控制或调整曲线曲面形状的特殊点控制或调整曲线曲面形状
4、的特殊点,曲线曲面本身不一定通过控制点。 插值和逼近 曲线曲面设计中的两种不同方法。 插值设计方法要求建立的曲线曲面数学模型,严格通过已知的每一个型值点。 逼近设计方法建立的曲线曲面数学模型只是近似地接近已知的型值点。 拟合:是指在曲线曲面的设计过程中,用插值或逼近的方法使生成的曲线曲面达到某些设计要求。7.1.2 插值与拟合 插值 拟合 Example control points. Joining the control points gives the control polygon.P1P0P2P3P1P0P2P3插值与拟合 插值 Interpolating (through the
5、control points).拟合Approximating (near the control points).P1P0P2P3P1P0P2P3通过移动控制点形成不同的曲线Edit curves by moving control points (click and drag):Original curve.Curve after P2 is moved.实现交互控制,生成曲线: 画控制点; 看看曲线的生成结果; 调整控制点直到最佳。P1P0P2P3P1P0P2P37.1.3曲线曲面数学描述的发展 1963年,波音,将曲线曲面表示为参数的矢函数波音,将曲线曲面表示为参数的矢函数方法(参数三
6、次曲线)方法(参数三次曲线) 1964,Coons曲面曲面 1964,样条函数样条函数 1971,Bezier控制多边形定义曲线控制多边形定义曲线(法,雷诺汽车(法,雷诺汽车) 1972,De Boor,B样条标准算法样条标准算法 80年代,非有理非有理B样条(样条(NURBS)7.1.4曲线曲面的表示要求 在计算机内表示曲线曲面,其形状的数学描述应保留产品的形状的尽可能多的性质。 满足要求: 惟一性 几何不变性 易于定界 统一性 易于光滑连接 几何直观惟一性 形状定义 由已给定的有限信息,决定的形状是惟一的。(传统上采用:模线样板法是按模拟量传递,不能保证形状定义的惟一性)几何不变性 当用有
7、限的信息决定图形时,如4点决定一条3次曲线,当这些点的相对位置固定后,形状也就固定的,不应该随坐标系更改而改变。 如果采用的数学方法不具有几何不变性,则不同测量坐标系测得的同一组数据点,会得到不同的拟合曲线。几何不变性易于定界 工程中,曲线曲面的形状总是有界的,形状的数学描述应该易于定界。 可用:参数方程表示统一性 能统一表示各种形状及处理各种情况(包括特殊情况),如曲线描述,用统一的形式表平面曲线、空间曲线。 统一性的高要求是,用统一的数学形式既能表示自由型曲线曲面,也能表示初等解析曲线曲面,建立统一数据库,便于形状信息的传递和产品数据交换。易于光滑连接 单一的曲线段或曲面片难以表达复杂的形
8、状,需要将若干线段连接成为光滑曲线(曲面片连接为组合曲面)。其连接必须是光滑的。几何直观 几何意义明显7.1.4曲线和曲面的表示曲线和曲面的表示 有一空间点A,从原点O到A点的连线表示一个矢量,此矢量称为位置矢量。 空间一点的位置矢量有三个坐标分量,而空间曲线是空间动点运动的轨迹,也就是空间矢量端点运动形成的矢端曲线,其矢量方程为:)(),(),()(uzuyuxuCC 曲线曲面表示方法: 非参数形式 f(x,y,z)=0 参数形式 p(t)=(x(t),y(t),z(t) 规范化区间: 若t的区间a,b t=(t-a)/(b-a)0,17.1.4曲线和曲面的表示曲线和曲面的表示参数化表示的优
9、点 点动成线(t可看为时间,曲线成为随时间而动的轨迹) 几何不变性 可以表示无穷大斜率 用规格化参数变量 此式也称为单参数的矢函数。它的参数方程为:)(),()(uzzuyyuxx,0nuuu)(),(),()(uzuyuxuCC规范化区间若t的区间:a,b,如果把它转换为0,1,如何做?方法(相似性,比例不变):(例:区间5,8,通过仿射变换到区间 0,1) 解: t=(t-a)/(b-a) , 则 t 0,1参数表示的优点参数表示的优点1)有更大的自由度控制曲线曲面的形状; 2)可对参数曲线曲面的方程直接进行几何变换,而不需要对曲线曲面的每个数据点进行几何变换;3) 可以处理斜率无穷大的情
10、况;4)代数、几何相关和无关的变量是完全分离的,对变量个数不限,便于将低维空间中的曲线曲面扩展到高维空间中; 5)便于采用规格化的参数变量 如:区间 a,b (如区间5,8)可由区间 0,1通过仿射变换得到 。直线上的插值点可以下两式表示变换为:6)易于用矢量和矩阵表示几何分量,简化计算; 1,0t1 ,0t,bau )()(abautbabauaabubuxtbattx)()1()(7.1.5连续性条件 多条曲线首尾相连形成一条曲线,要求:连接处具有合乎要求的连续性具有合乎要求的连续性。 参数连续性 用 C 阶数表示 几何连续性 用 G 阶数表示两曲线段的连接Examples:These t
11、wo curves do not fit together at all.These two curves fit together, but not smoothly.These two curves fit together smoothly.曲线段间的连续性定义曲线段间的连续性定义 参数连续性 :C0连续(0阶参数连续)前一段曲线的终点与后一段曲线的起点相同。C1连续(一阶参数连续)连接点处 一阶导数一阶导数 相同相同。C2连续(二阶参数连续)连接点处一阶导数和二阶导数一阶导数和二阶导数 相同相同。曲线段间的连续性定义曲线段间的连续性定义 几何连续性 :G0连续(0阶几何连续)与C0连续
12、相同。G1连续(一阶几何连续)一阶导数在相邻段的交点成比例,(切向量不一定相等)。得出结论:得出结论: C C1 1连续,则连续,则G G1 1连续,反之不然连续,反之不然G2连续(二阶几何连续) 两相邻曲线段的连接点处一阶导数和二阶导数均成比例(此时,两曲线段在交点出的曲率相等)。参数连续性与几何连续性的区别 参数连续性 传统意义上的、严格的连续 几何连续性 只需限定两个曲线段在交点处的参数导数成比例,不必完成相等,是一种更直观、易于交互控制的连续性。样条的插值 样条的插值 一般:进行分段插值(三次曲线,不高不低) n+1个控制点将线段分n段,每段有4个待定系数。 通过线段交点处,设置边界条
13、件求出。 7.2.1 曲线的参数空间: 笛卡儿坐标x,y,z定义的三维空间,其参数空间为(x,t)、(y,t)、(z,t),能把任意一条参数曲线分解成参数空间的三个分量。x(t)=y(t)=z(t)=t的取值范围:0,17.2 三次样条曲线与调和函数(基函数)三次样条曲线与调和函数(基函数)三次样条曲线推导三次样条曲线推导 简化为:p(t)=At3+Bt2+Ct+D (式一)p(t)= (写出 )p0= , p1= , p0= , p1 = 。(式二)将式二代入式一,解得:D = C= B=A=将A、B、C、 D分别代入式一中,整理得:p(t)=( ?) p0+ ( ? ) p1+ ( ?)
14、p0+ ( ?) p1 (t 0,1 )三次样条曲线推导三次样条曲线推导简化为:p(t)=At3+Bt2+Ct+D (式一)p(t)= (写出 )p0= , p1= , p0= , p1 = 。(式二)将式二代入式一,解得:D = p0 C= p0 B=-3p0 +3 p1 -2 p0 - p1 A= 2 p0 -2 p1 + p0 +p1 将A、B、C、 D分别代入式一中,整理得:p(t)=(2t3-3t2+1) p0+ (-2t3+3t2) p1+ (t3-2t2+t) p0+ (t3-t2) p1 F1(t) F2(t) F3(t) F4(t) (t 0,1 )调和函数(基函数)开始出现
15、于从代数形式到几何形式的推导中。调和函数:F1(t) = 2t3-3t2+1 F2(t) = -2t3+3t2 F3(t) = t3-2t2+t F4(t) = t3-t2参数三次(pc)样条曲线几何形式可以表示为:p(u)=(2u3-3u2+1) p0+ (-2u3+3u2) p1+ (u3-2u2+u) p0+ (u3-u2) p1简化: p(u)=F1 (u) p0+ F2 (u) p1+ F3 (u) p0+ F4 (u) p1表示该曲线:两点的表示该曲线:两点的坐标坐标及其及其一阶导数一阶导数+调和函数调和函数,u的取值范围:的取值范围:0,1通常,用基函数和控制点信通常,用基函数和
16、控制点信息来决定一条该曲线息来决定一条该曲线7.2.2 三次三次Hermite样条曲线样条曲线(插值方法)(插值方法)上例产生的是: 三次Hermite(法国数学家命名)样条曲线:几何意义:由两个端点(由两个端点(Pk 、Pk+1)和端点切矢(和端点切矢(Rk 、Rk+1 )来定义。来定义。p(t)= Pk H0(t)+ Pk+1 H1(t)+ Rk H2(t)+ Rk +1 H3(t)p(0)= Pkp(1)= Pk+1p (0)= Rkp (1)= Rk+1 7.2.2 三次三次Hermite样条曲线样条曲线(插值方法)(插值方法)Hermite样条曲线调和函数 H0(t)=2t3-3t2
17、+1 H1(t)=-2t3+3t2 H2(t)=t3-2t2+t H3(t)=t3-t2 起点坐标 终点坐标 起点导数 终点导数p(t)= Pk H0(t)+ Pk+1 H1(t)+ Rk H2(t)+ Rk +1 H3(t)Pk = p(0)Pk+1 = p(1)Rk = p (0)Rk+1 = p (1)可以看作:是矢量可以看作:是矢量 Pk 、 Pk+1 、 Rk 、 Rk +1 的加权和。的加权和。例:已知两个端点的坐标值及其一阶导数,求其Hermite三次曲线方程。7.3 Bezier曲线曲线 1Bezier曲线的定义曲线的定义 在给定空间个点0,1,n,称下列参数曲线为次的Bezi
18、er曲线 其中, 是Bernstein基函数,即 10)()(0,uuBPuCninii)(,uBni)!( !)1 ()(,ininCuuCuBininiinni 一般称折线0,1,n为为C(u)的控制多边形的控制多边形;0,1,n各点为各点为C(u)的的控制顶点控制顶点。控制多边形是C(u)的大致形状的勾画;C(u)是对0,1,n的逼近。 图7.2 Bezier曲线 Bernstein基函数具有下列性质:基函数具有下列性质: 1) 非负性非负性: 对于所有的i,n以及 均有 成立; 2) 规范性规范性: 3) 对称性对称性 10u0,niB10, 1)(0,niniuuBniuBuBnin
19、ni,.,1 , 0),1 ()(,4)递推性递推性 5)端点性端点性 niuBuuBuuBninini,.,1 , 0),()()1 ()(1, 11,elseiBni, 00, 1)0(,elseniBni, 0, 1)1(,6)最大性最大性 在 处达到最大值;7)可导性可导性 8)升阶公式升阶公式 )(,uBniniu/niuBuBnuBninini,.,1 , 0),()()(1,1, 1,)()11()()1(1,uBniuBunini)(11)(1,1,uBniuuBnini9)分割性分割性10)积分性积分性 )(11)()11()(1,11,uBniuBniuBninininjn
20、jjiniuBcBcuB0,)()()(10,11)(nduuBni常用常用Bezier曲线的矩阵表示曲线的矩阵表示 由Bezier曲线C(u)的定义,可推出常用的一次、二次、三次Bezier曲线矩阵表示 一次、二次、三次一次、二次、三次 Bezier曲线曲线 :10)1()(uPPuuC22102)1 (2)1 ()(PuPuuPuuC33221203)1 (3)1 (3)1 ()(PuPuuPuuPuuC10)()(0,uuBPuCninii 一次一次Bezier Bezier 曲线曲线(写出一次一次Bezier曲线的展开参数方程曲线的展开参数方程 )矩阵表示为这是一条从 到 的直线段 图
21、7.3 一次Bezier 曲线 1001111 ,)(PPuuC0P1P 2)二次)二次Bezier曲线曲线 (写出二次二次Bezier曲线的展开参数方程曲线的展开参数方程 ,是一条抛物线) 矩阵表示为 图7.4 二次Bezier 曲线 22102)1(2)1()(PuPuuPuuC2102001022121 1)(PPPuuuC 3)三次)三次Bezier曲线曲线 (写出三次三次Bezier曲线的展开参数方程曲线的展开参数方程 ) 矩阵表示为: 33221203)1 (3)1 (3)1 ()(PuPuuPuuPuuC32102300010033036313311)(PPPPuuuuC 图7.
22、5 三次Bezier 曲线 Bezier 曲线具体计算p0 = x0,y0p1 = x1,y1p2 = x2,y2p3 = x3,y3p(t) = (1-t)3p0 + 3(1-t)2tp1 + 3(1-t)t2p2 + t3p3转化为平面上的点,计算方法如下:x(t) = (1-t)3x0 + 3(1-t)2tx1 + 3(1-t)t2x2 + t3x3y(t) = (1-t)3y0 + 3(1-t)2ty1 + 3(1-t)t2y2 + t3y3p(t) = Si=0.3 Bi(t) piBi(t) = (3i) ti (1-t)3-i三次Bezier曲线举例 已知4控制顶点坐标分别为:
23、P0(1,1),P1(2,3),P2(4,3),P3(3,1)分别计算当t=0,0.15,0.35,0.5,0.65,1 时,曲线上点的坐标值,并用光滑曲线连接该6点。先计算t=0.5时,曲线上点的坐标P(0.5)。 x= , y= 2Bezier曲线的性质曲线的性质 Bezier曲线C(u)具有以下性质: 1)端点性质端点性质 2) 端点切矢量端点切矢量 Bezier曲线在 点处与边 相切,在点 处边 相切。 nPCPC)1(,)0(01011,)()(niiiniPPuBnuC)() 1 (),()0(101nnPPnCPPnC0P01PPnPnnPP1 3) 端点的曲率端点的曲率:在C(
24、u)两端点的曲率分别为: 这是因为 311123102110|1)1(|1)0(nnnnnnPPPPPPnnKPPPPPPnnK202,12)()2() 1()(niniiiiuBPPPnnuC)2)(1()1()2)(1()0(21012nnnPPPnnCPPPnnC 4)对称性)对称性 若保持原全部顶点的位置不变,只是把次序颠倒过来,则新的Bezier曲线形状不变,但方向相反。 5)几何不变性)几何不变性 Bezier曲线的位置和形状只与特征多边形的顶点的位置有关,它不依赖坐标系的选择。移动第i个控制顶点 将对曲线上参数为 的那个点 处发生最大的影响。iPniu )(niC 6)凸包性)凸
25、包性 因为是多边形各顶点0,1,n的加权平均,而权因子 ,这反映在几何图形上有两重含义: a.Bezier曲线C(u)位于其控制顶点0,1,n的凸包之内; b.Bezier曲线C(u)随着其控制多边形的变化而变化;1)(0,uBni凸包凸包 7)变差缩减性)变差缩减性 对于平面Bezier曲线C(u),平面内任意条直线与其交点的个数不多于该直线与其控制多边形的交点个数。 8. Bezier曲线的顶点反求曲线的顶点反求 已知Bezier曲线上给定参数处的位置矢量和参数阶次,利用Bezier曲线定义和端点特性,可列出一组方程,求解方程组,就可得到相应的控制顶点。 例子: 已知三次Bezier曲线上
26、的四个点分别为Q0(120,0),Q1(45,0), Q2(0,45),Q3(0,120),它们对应的参数分别为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曲线的端点性质得到的P P0 、P P0 ,其余两式是由三次Bezier
27、曲线的展开式:C(u)=(1-u)3P0+3u(1-u)2P1+3u2(1-u)P2+u3P3 分别将Q Q0、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 作图: 4Bezier曲线的曲线的De Casteljau算法算法 给定三维空间点给定三维空间点 以及一维标量以及一维标量参数参数 ;假定:;假定: 并且并且 那么 即为Bezier曲线上参数 处的点。 nPPP,.,10urninruuPuPuuPririri,.,0,.,1)()()1 (
28、)(111iiPuP)(0)(0uPnuDeCasteljau (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-u)*Qi+u*Qi+1 ;C=Q0 ; Bezier 曲线的De Casteljau算法 5Bezier曲线的几何作图法曲线的几何作图法利用De Casteljau
29、算法可以以几何方式计算参数值 处的曲线点: 1)根据给定的参数值 ,在控制多边形的每条边上确定某一分割点,使分割后的线段之比为 ;由此得分割点为:由此组成一个边数为(n-1)的新的多边形; u)1(:uu1,.,2 , 1 , 0)1 (11niPuPuPiiiu 2)用相同的方法对该多边形再次分割,得到分割点 形成另一个新的多边形; 3)按相同的过程分割n-1次后,得到两个顶点 ,再分割得到所求的点 即为所求的 处的曲线点;)2,.1 ,0(2niPiPPnn1110,Pn0u Bezier 曲线的几何作图法 6Bezier曲线的分割曲线的分割 几何作图法中计算得到 的同时也将原Bezier
30、曲线分为两个子曲线段: 就是定义在 上的子曲线段,而 是定义在 上的子曲线段。Bezier曲线的任意分割是指给定两个参数值 求原Bezier曲线 上由两点 与所界定的那段子曲线段的控制顶点:1)先用 对原曲线做一分为二的分割; Pn0nPPP01000,., 0u0110,.,nnnPPP1 , u1021uu1 ,0),(uuC)(1uC)(2uC2uu 2) 对 那个子曲线用 做一分为二的分割,所得子曲线段 就是所求的原Bezier曲线的子曲线段 Bezier 曲线的分割 ,02uu 21uuu 1 ,),(21uuuuP,),(21uuuuP Bezier曲线的升阶曲线的升阶有时为了便于
31、Bezier曲线的修改,需要增加控制顶点提高灵活性,而不要改变原来曲线的形状,也就是将n次的Bezier曲线进行升级表达为n+1次的Bezier曲线,即: 只需将左边乘以 然后比较 的系数,即可得到 101,0,)()()(niniininiiuBPuBPuP)1(uu)1(1uuini1,.,2 , 1 , 0,)11 (11niPniPniPiii 几何意义: 1) 新的控制顶点是对老的特征多边形在参数 处进行线性插值的结果; 2) 升阶后的新的特征多边形在老的特征多边形的凸包内; 3) 升阶后的新的特征多边形更逼近Bezier曲线;)1/(ni 例如对于二次Bezier曲线: 升阶后的控
32、制顶点为 PPPuuuP21020010221211)(PPPPPPPPPP2321210100313232319. 9. BezierBezier曲线的拼接曲线的拼接设有两条Bezier曲线 和 ,其控制顶点分别为:0,2,n 和Q0,Q2,Qm:)(uP)(wQ1 ,0, )()(1 ,0, )()(0,0,wwBPwQuuBPuPmjmjjninii 现考虑两条曲线的拼接,不同阶几何连续的条件如下:1)一阶连续性 根据端矢量条件: 其连续条件为 即 : )()0()()1(011QQnQPPmPmm)0()1(QP)(101PPnmQQmm 1) 二阶连续性 根据二阶导矢量: 为满足连续
33、性条件: 可得: )2)(1()0()2)(1() 1 (01221QQQnnQPPPmmPmmm )0()1(QP )2() 1() 1()(22121022PPPnnmmPPnmQQmmmmm Bezier 曲线的拼接 10、有理、有理Bezier曲线曲线有理Bezier曲线的定义式为:与Bezier曲线相比,除了可以调节有理Bezier曲线的控制顶点外,还可以调节其权因子的大小来改变曲线的形状;因而具有更强的造型功能; niininiininiiiniPuRuBPuBuP0,0,0,)()()()( 其性质包括:1)端点性质:2)端点切矢量 3)凸包性质;4)有理再生性;若控制顶点落在一
34、条直线上,曲线为直线; 5)仿射和透视不变性;6)权因子的作用:当权因子全为零时,曲线与控制顶点无关;当某一权因子增大(小)时,曲线向相应的控制顶点靠近(远);当权因子为无穷大时,该控制顶点即为曲线上的点。 PRPRn)1(;)0(0)() 1 ();() 0(110101PPnRPPnRnnnn7.4 Bezier曲面曲面 1定义定义 在空间给定 个点 称下列张量积形式的一般称Pij为Bezier曲面 的控制顶点;把由两组多边形 (i=0, 1, , n)和 (j=0,1,2, ., m)组成的网称为Bezier曲面 的控制网格,记为 )1()1(mnijP),.,1 , 0;,.,1 ,
35、0(mjni nimjmjniijvuvBuBPvuS00,1,0),()(),(),(vuSimiiPPP.10njjjPPP.10),(vuSijP控制网格 是 的大致形状勾画;是对 的逼近。 Bezier 曲面 ijP),(vuS),(vuSijP 2性质性质 Bezier曲面 具有以下性质:1)端点位置端点位置: 四个端点分别是 这是因为2)边界曲线边界曲线 的四条边界的四条边界线分别是以线分别是以 ),(vuSnmnmPPPP,0000)1 , 1(),0 , 1()1 ,0(),0 ,0(0000PPSPSPSPnmnm),(vuS) 1 ,(), 1 (),0 ,(), 0(uS
36、vSuSvSmPPPP0020100.0201000.nPPPP 为控制多边形的Bezier曲线。3)端点的切平面端点的切平面 三角形 所在的平面分别在点 与曲面 相切 4)端点法线方向端点法线方向 由端点的切平面知 是 在点 的法线方向;其余各端点 nmnnnPPPP.210nmmmmPPPP.210011000PPP1,010mmmPPP1,1mnmnnmPPP10,10nnnPPP0000,nnmmPPPP),(vuS),(vuS00,nnmmPPP10000100PPPP00P的法向情况也类似5)5)凸包性凸包性 曲面 位于其控制顶点 的凸包性。6)几何不变性几何不变性 曲面 的形状和
37、位置与坐标系的选取无关,仅仅与各控制顶点的位置有关 7) 变差递减性变差递减性 对于Bezier曲面,空间任意条直线与其交点的个数不多于该直线与其控制多边形的交点个数;),(vuS),.,1 , 0;,.,1 , 0(mjniijP),(vuS 3Bezier曲面的曲面的De Casteljau算法算法假定已知 个点构成的Bezier曲面 以及参数下面的De Casteljau算法可计算出相应的曲面上的点坐标:首先对确定的 计算 ,也就是说利用De Casteljau算法计算控制顶点的第 j0行 ;利用(m+1)次 De Casteljau算法计算 ;再次对 计算 的值得到 。)1()1(mn
38、ijP),.,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+)DeCasteljau(Pj, n, u, Qj) DeCasteljau(Q, m, v,
39、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, 0543210uuuuuuUotherwiseuNuNN010100 , 20 , 10 , 0uNN00 , 40 , 3uNuN
40、uN00000000 , 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可以发现, 仅仅在区间 内有值非零,这是二次Bernstein多项式,因此,
41、具有如下节点矢量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,),1uuuiiipijpjuN, 1)(,4)分段多项式)分段多项式)(,uNp
42、i 在每一长度非零的区间),1uujj上都是次数不高于1p次的多项式。)()()(1, 11111,uNuuuuuNuuuuuNpiipipipiipiipi5)连续性)连续性)(,uNpi的求导公式如下:111, 11,)()()(ipipiipipipiuuuNuuuNpuN)(,uNpi在k重节点处的连续阶不低于kp 因此增加次数可提高连续性次数,增加重节点数将降低连 续性次数 ;6)可微分性)可微分性 )()()(1, 1111,uNuupuNuupuNpiipipiipipi3 3 B B样条曲线定义样条曲线定义nPPP,.,10为给定空间的1n个控制顶点,uuuUm,.,10是1m
43、个节点矢量:称下列参数曲线buauNPuCnipii0,)()(为p次的B样条曲线,折线nPPP,.,10为B样条曲线的控制多边形。p,控制顶点个数 1n, 节点个数 1m 具有如下关系:1pnm设次数图8.11 B B样条曲线4 4B B样条曲线的性质样条曲线的性质),1iiuuu,1pmip,)(uC, 位于控制顶点ipiPP,.,所建立的凸包内;图8.12 B B样条曲线凸包性1.严格的凸包性严格的凸包性:曲线严格位于控制多边的凸包内;如果2.分段参数多项式:分段参数多项式:)(uC在每一区间),1iiuuu上都是次数不高于p3.可微性或连续性:可微性或连续性:)(uC在每一曲线段内部是
44、无限次可微的,在定义域内重复度为k的节点处则使kp 次可微或具有kp 4.几何不变性几何不变性:B样条曲线的形状和位置与坐标系的选取无关。的多项式;阶参数连续性;5.5.局部可调性:局部可调性:)(,uNpi只在区间),1piiuu中为正,在其它地方均取零值,p次的B样条曲线在修改时只被相邻的1p而与其它顶点无关。当移动其中的一个顶点Pi定义在区间),1piiuu上那部分曲线,并不对整条曲线产生影响。 因为使得个顶点控制,时,只影响到6.6.近似性:近似性:控制多边形是B样条曲线的线性近似,若进行节点插入或升阶会更加近似;次数越低,B样条曲线越逼近控制顶点;7.变差缩减性变差缩减性:设nPPP
45、,.,10n为B样条曲线的控制多边形,某平面与B样条曲线的交点个数不多于该平面与其控制多边形的交点个数图8.13 B B样条曲线的变差缩减性例子:给定控制顶点)8,.,0( iPi,定义一条三次B样条曲线。8n,3p,各种关系如下确定:这说明1.节点矢量,.,.,1210110uuuuuuUpn2.曲线定义域),),931uuuuunp3.当定义域),93uu内不含重节点时,曲线段数=n p +1 =6;4.当由),.,),.,63PPPPipi四个控制顶点定义,与其他顶点无关5.移动3P时将至多影响到定义在区间上那些曲线段的形状),),731uuuupii6.在),76uu上的三次B样条基及
46、计算定义在),76uu上那段三次B样条曲线将涉及941,.,uuuupipi共6个节点。5重节点对重节点对B样条曲线的影响样条曲线的影响节点的非均匀或非等距分布包含两层含义:(1)节点区间长度不等;(2)重节点,即节点区间长度为零。1)重节点的重复度每增加1,曲线段数就减1,同时样条曲线在该重节点处的可微性或参数连续阶降1;2)当定义域端点节点重复度为p时,次B样条曲线的端点将与p相应的控制多边形的端顶点重合,并在端点处与控制多边形相切;3)当在曲线定义域内有重复度为 的节点时,次B样条曲线插值于相应的控制多边顶点pp4)当端节点重复度为1p时,p次B样条曲线就具有和次Bezier曲线相同的端
47、点几何性质;p5) 次B样条曲线若在定义域内相邻两节点都具有重复度,可以生成定义在该节点区间上那段B样条曲线的Bezier点;p6)当端节点重复度为的一个非零节点区间,则所定义的该次B样条曲线就是次Bezier曲线;1pp次B样条曲线的定义域仅有ppp6. 6. 均匀均匀B B样条曲线样条曲线节点矢量中节点为沿参数轴均匀等距分布,所有节点区间长度iiiuu1为大于零的常数;可将定义在每个节点区间),1iiuu上用整体参数u表示的B样条基变换成用局部参数) 1 , 0t表示,只需做参数变换:nppittuuttuuii,.,1,1 , 0,)1 ()(1则B样条曲线可改写为矩阵形式:nppitt
48、uNPtuCtCikijpjji,.,1,1 , 0,)()()(,将上式改写为矩阵形式:nppitPPPMttttCipipippi,.,1,1 , 0,.1 )(12其中1-3次系数矩阵)3 , 2 , 1(pMp分别为:1331036303030141,121022011,1101321MMM则可以很容易写出三次均匀B样条曲线的方程:iiiiPPPPttttC1233231331036303030141161)(7.非均匀非均匀B样条曲线样条曲线非均匀B样条函数其节点参数沿参数轴的分布是不均匀的,因而不同节点矢量形成的B样条函数各不相同,需要单独计算,其计算量较大。在CAD/CAM软件中
49、,对于开曲线包括首末端点位置连续的闭曲线,都建议两端点取重复度 1p以使具有同次Bezier曲线的端点几何性质,便于人们对曲线端点的行为有较好的控制,且通常将曲线的定义域取成规范参数域,即 1 , 0,1npuuu于是有0.10puuu0.1knnuuu在这种情况下,非均匀B样条曲线可重新描述为:设nPPP,.,10为给定空间的1n个点;基函数是定义在非均匀节点矢量:1111,.,.,.,ppmppbbuuaaUbuauNPuCnipii0,)()(其中ba,分别是具有1p重的节点;1 ba)(在一般情况下,除非说明,我们假定计算B样条上给定参数处的点需要以下三步:1)找出u所在的节点区段;2
50、)计算非零的基函数;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则)(uC是一Bezier曲线;2)PCPCn) 1 (,)0(03)沿着曲线由u=0到u=1移动时,)(,uNpi如同一开关;当u移过一个节点时,)(,uNpi关闭,下一段打开;4
51、)可利用多重节点构造复杂的曲线:如图所示是一二次曲线,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, u, U)/* Determine the knot span index */* Input : n, p, u, U */* Return : the knot span index */ if(u=Un
52、+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 ;BasicFuns(i,u,p,U,N)/*computethenonvanishingbasicfunctions*/*Input:i,u,p,U*/*Output:N*/N0=1.0;for(j=1;j=p;
53、j+)leftj=uUi+1-j;rightj=Ui+ju;saved=0.0;for(r=0;rj;r+)temp=Nr/(rightr+1+leftj-r);Nr=saved+rightr+1*temp;Saved=leftj-r*temp;Nj=saved;7.6B样条曲面样条曲面1B样条曲面的定义:给定) 1() 1(mn控制顶点),.,1 , 0;,.,1 , 0(,mjniPji的阵列,构成一张控制网格;分别给定参数u,v的次数qp,,两个节点矢量,.,110pnuuuU,.,110pnvvvV,就可以定义一张qp 次张量积B样条曲面,其方程为:jinimjqjpiPvNuNvuS
54、,00,)()(),( 除变差递减性质外,B样条曲线的其他性质都可以推广到B样条曲面。与B样条曲线分类一样,B样条曲面也可以分为均匀B样条曲面和非均匀B样条曲面。B样条曲面均匀B样条曲面非均匀B样条曲面均匀和非均匀B样条曲面例如,均匀双三次B样条曲面如下:TTBBVPMUMvuP),( 01410303036313316133323130232221201312111003020100PPPPPPPPPPPPPPPPPMB其中1 ,1 3232vvvVuuuU下面我们重点研究非均匀B样条曲面,1,.,1 ,., 0,.,01111pprppuuU1,.,1 ,., 0,.,01111qqsqq
55、uvV其中U有1rV有1s个节点;并且具有如下的关系式:1; 1qmspnr计算在给定参数值),(vu处B-样条曲面上点的位置矢量需要如下五个步骤:1)计算u所在的节点区间,如),1uuuii2)计算非零的基函数)(,uNppi,)(,uNpi3)计算v所在的节点区间,如);,1vvvjj4)计算非零的基函数)(,vNqqj,)(,vNqj5)计算非零基函数与相应控制顶点的乘积和;SurfacePoint(n,p,U,m,q,V,P,u,v,S)/*Computesurfacepoints.*/*Input:n,p,U,m,q,V,P,u,v*/*Output:S*/uspan=FindSpa
56、n(n,p,u,U);BasicFuncs(uspan,u,p,U,Nu);vspan=FindSpan(m,q,v,V);BasicFuncs(vspan,v,q,V,Nv);uing=uspanp;S=0.0;For(i=0;i=q;i+)temp=0.0;vind=vspanq+i;for(k=0;k=p;k+)temp=temp+Nuk*Puind+kvind;S=S+Nvi*temp;非均匀B样条曲面的计算非均匀B样条曲面的性质与B样条曲面的性质类似:1.非负性:0)()(,vNuNqjpi2.规范性:1)()(,00vNuNqjpinimju,v0,1;3.一般性: 若n=p,m=
57、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.凸包性:曲面一定位于控制顶点所构造的凸包内;若将控
58、制顶点三角化,则所构成的网格是曲面片的分段平面近似;8.逼近性:9.连续和可微性:S(u,v)在u(或v)方向上具有p-k(或q-k)次微分(可导),其中k是节点的重复度;若将控制顶点三角化,则所构成的网格是曲面片的分段平面近似;8.逼近性:9.连续和可微性:S(u,v)在u(或v)方向上具有p-k(或q-k)次微分(可导),其中k是节点的重复度;7.7NURBS曲线曲线 非均匀有理B-样条曲线和曲面(NonUniform Rational B-Spline),简称为 NURBS。 1NURBS曲线定义 次NURBS曲线定义为: buauNPuNuCniipiniiipi,)()()(0,0,
59、 其中 为控制顶点(构成控制多边形), 为权因子, 为定义于非均匀控制矢量上的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) 局部性: 若 =0,而且在任一给定的节点区间,最多
60、有 个 为非零,即在 内只有 ,, 非零; 4)可微性: 在每一节点区间内具有任意阶导数,在节点处具有 次连续, 为节点重复度; ),1uuupii)(,uRpi1p)(,uRpi),1uuii)(,uRppi)(,uRpikp k 5 ) 权因子特例性 若 =1, ;图8.17 NURBS曲线 i)()(,uNuRpipiNURBS曲线的性质:曲线的性质: a. 端点性质; b. 仿射不变性; NURBS曲线仅与控制顶点有关,与坐标系无关;可对其进行坐标变换;PCPCn)1 (;)0(0 c . 严格的保凸性; 时, 严格位于 构成的凸包内; d. 可微性: 在每一节点区间内具有任意阶导数,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版高二历史选必二生产工具劳作方式预习 新学期预科精讲课件
- 部编版三年级语文:童话阅读单元教学策略分享
- 高中生物光合作用专题|必修一核心难点突破课件
- 学校消防疏散演练自查问题及整改措施
- 学校教师请假休假制度
- 学校除四害工作方案除四害消杀方案
- 物业秩序维护规范
- 小小铅笔勾画未来二年级写字成长录
- 室内精装工装施工质量管控真题(附答案)
- 通信运营商移动联通电信招聘真题
- 侍茄师初级专项能力职业技能专业能力考卷
- IT系统运营管理制度
- 2025版《中国热射病诊断与治疗指南》解读课件
- 无人机飞防工作制度
- 中国注意缺陷多动障碍诊疗指南(2025年版)
- 劳务派遣机构规范运营自查自纠整改落实报告
- 食堂档案管理制度及流程
- DBJ33-T 1106-2025 建筑光伏系统应用技术规程
- DB13∕T 6058-2025 深浅层地下水划分规范
- 军事通信基础知识
- 雨课堂在线学堂《导航原理》单元考核测试答案
评论
0/150
提交评论