




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 曲线曲面的计算机辅助设计源于曲线曲面的计算机辅助设计源于20世纪世纪60年代的飞机和汽车工业。年代的飞机和汽车工业。1963年美国波音公司的年美国波音公司的Ferguson提出用于飞机设计的提出用于飞机设计的参数三次方程参数三次方程;1962年法国雷诺汽车公司的年法国雷诺汽车公司的Bzier提出以逼近为基础的曲线曲面设计系提出以逼近为基础的曲线曲面设计系统统UNISURF,此前,此前de Casteljau大约于大约于1959年在法国另一家汽车公司雪铁年在法国另一家汽车公司雪铁龙的龙的CAD系统中有同样的设计,但因为保密的原因而没有公布;系统中有同样的设计,但因为保密的原因而没有公布;196
2、4年年Coons提出了一类提出了一类布尔和布尔和形式的曲面;形式的曲面;1972年,年,deBoor和和Cox分别给出分别给出B样条样条的标准算法;的标准算法;1975年以后,年以后,Riesenfeld等人研究了非均匀等人研究了非均匀B样条曲线曲面,美国锡拉样条曲线曲面,美国锡拉丘兹大学的丘兹大学的 Versprille研究了有理研究了有理B样条曲线曲面,样条曲线曲面,20世纪世纪80年末、年末、90年年代初,代初,Piegl和和Tiller等人对有理等人对有理B样条曲线曲面进行了深入的研究,并形样条曲线曲面进行了深入的研究,并形成成非均匀有理非均匀有理B样条样条(Non-Uniform R
3、ational B-Spline,简称,简称NURBS);1991年国际标准组织年国际标准组织(ISO)正式颁布了产品数据交换的国际标准正式颁布了产品数据交换的国际标准STEP,NURBS是工业产品几何定义唯一的一种是工业产品几何定义唯一的一种自由型曲线曲面自由型曲线曲面。平面曲线的直角坐标表示形式为:平面曲线的直角坐标表示形式为: )(xfy 0),(yxF或其参数方程则为:其参数方程则为:)()(tyytxx)(trr 平面上一点的位置可用自原点到该点的矢量表示:平面上一点的位置可用自原点到该点的矢量表示: 上式称为上式称为曲线的矢量方程曲线的矢量方程,其坐标分量表示式是,其坐标分量表示式
4、是曲线的参数方程。曲线的参数方程。r(t2)r(t1)OYXZ图7-1 空间曲线 三维空间曲线可理解为一个动点的轨迹,位置矢三维空间曲线可理解为一个动点的轨迹,位置矢量量r 随时间随时间t 变化的关系就是一条空间曲线。变化的关系就是一条空间曲线。 )(),(),()(tztytxtrrr矢量方程为:矢量方程为:)()()(tzztyytxx三维空间曲线的三维空间曲线的参数方程参数方程为:为:用用s表示曲线的表示曲线的弧长弧长,以弧长为参,以弧长为参数的曲线方程称为数的曲线方程称为自然参数方程自然参数方程。以弧长为参数的曲线,其以弧长为参数的曲线,其切矢切矢为单为单位矢量,记为位矢量,记为t(s
5、)。切矢切矢t(s)t(s)对弧长对弧长 s s求导,所得导矢求导,所得导矢dt(s)/dsdt(s)/ds与切矢相垂直,称为与切矢相垂直,称为曲率曲率矢量矢量,如图,如图7-27-2,其单位矢量称为,其单位矢量称为曲线的曲线的单位主法矢单位主法矢,记为,记为n(s)n(s),其,其模长称为曲线的模长称为曲线的曲率曲率,记为,记为k(s)k(s)。曲率的倒数称为曲线的曲率的倒数称为曲线的曲率半径曲率半径,记为记为(s)(s)。 与与t t和和n n相互垂直的单位矢量称为相互垂直的单位矢量称为副法矢副法矢,记为,记为b(s)b(s)。由由t和和n张成的平面称为张成的平面称为密切平面密切平面;由;
6、由n和和b张成的平面称为张成的平面称为法法平面平面;由;由t和和b张成的平面称为张成的平面称为从切面从切面。 法平面密切平面从切面tnbP图7-2 曲线特性分析 n曲率曲率,其几何意义是曲线的单位切矢量t(s)对弧长的转动率。n挠率挠率 的绝对值等于副法线方向b(s)b(s)(或密切平面)对于弧长的转动率.曲率和挠率曲率和挠率)(ssTD+)(sTTDO 曲率和挠率(a)(b)1N1B1T0N0B0T0B1BqDqD一般曲面可表示为:一般曲面可表示为: 0),(),(zyxFyxfz或或),(),(),(vuzzvuyyvuxx其其参数表达式参数表达式为:为: ),(),(),(),(vuzv
7、uyvuxvurrr曲面的曲面的矢量方程矢量方程为:为: 参数参数u、v的变化区间常取为单位正方形,即的变化区间常取为单位正方形,即u,v0,1。x,y,z都是都是u和和v二元可微函数。当二元可微函数。当(u,v)在区间在区间0,1之间变化时,之间变化时,与其对应的点与其对应的点(x,y,z)就在空间形成一张曲面。就在空间形成一张曲面。 u映射映射),(vur空间域空间域 参数域参数域vvvurvvurvurvruvurvuurvururvvuuDD+DD+DD),(),(lim),(),(),(lim),(00r 对对 u和和v的一阶偏导数为:的一阶偏导数为: 一阶偏导数一阶偏导数ru(u,
8、v)和和 rv(u,v)继续对继续对u,v求偏导数,求偏导数,得到四个二阶偏导数得到四个二阶偏导数 ruu、ruv、rvu、rvv: vv22vu2uv2uu22rvrvrvruvrvrurvururvrurururuv和和 rvu称为二阶混合偏导数称为二阶混合偏导数 ,在二阶连续时,两者相同。,在二阶连续时,两者相同。 rvnruZvv3v2v1v0OuYXr(u,v)图7-3 空间曲面 如图如图7-3,曲面上一点的切矢,曲面上一点的切矢ru和和 rv 所张成平面称为所张成平面称为曲面在该点的曲面在该点的切平面切平面。曲面上所有过该点的曲线在此点。曲面上所有过该点的曲线在此点的切矢都位于切平
9、面内。切平面的法矢就是曲面在该点的切矢都位于切平面内。切平面的法矢就是曲面在该点的法矢。的法矢。)()()1()(21ururur+k)(jsin)(icos)(uzuRuRr+qq对于固定的对于固定的u,它是一条直线,当,它是一条直线,当u变化时,就成了面,即变化时,就成了面,即“线动成线动成面面”。 + + + + + vv1rrrr)u,u1(rvr )v1(urvr )v1)(u1()v,u(r111001001110010011100100)1 ()1 (rvrvrvrv+ Coons曲面是已知曲面片的四条边界曲线,由两张直纹曲面曲面是已知曲面片的四条边界曲线,由两张直纹曲面的和减去
10、一张双线性插值曲面得到的:的和减去一张双线性插值曲面得到的: ), 0(), 0()1 (),(1vruvruvur+) 1 ,()0 ,()1 (),(2urvurvvur+ vvrrrruuvur1),1 (),(11100100 +vvrrrruuvvururvrvruuvur1)1 (1) ) 1 ,()0 ,(), 1 (), 0()1 (),(11100100),(),(),(),(321vurvurvurvur+ 这种布尔和形式的曲面是这种布尔和形式的曲面是Coons于于1967年研究的,拼合时整张曲面年研究的,拼合时整张曲面C0连连续,即位置连续。要达到续,即位置连续。要达到C
11、1连续,必须考虑跨界切矢的插值。连续,必须考虑跨界切矢的插值。 双线性插值曲面,采用了双线性插值曲面,采用了“先定义线,然后线动成面先定义线,然后线动成面”的思想。张量积曲面也是采用的思想。张量积曲面也是采用“线动成面线动成面”的思想,是的思想,是CAGD中应用最广泛的一类曲面生成方法中应用最广泛的一类曲面生成方法 。及其上的调配函数的分割:参数及其上的调配函数的分割:参数)();(1010vvvvvuuuuuimim映射),(vur空间域空间域 参数域参数域vuminjjiijnmnmmnnmvuavvvaaaaaaaaauuuvur001010111100010010)()()()()()
12、 )()()(),(定义曲面:定义曲面: 定义在定义在uvuv平面的矩形区域上的这张曲面称为平面的矩形区域上的这张曲面称为张量积曲面张量积曲面。 张量积曲面的特点是将曲面问题化解为简单的曲线问题来张量积曲面的特点是将曲面问题化解为简单的曲线问题来处理,适用于拓扑上呈矩形的曲面形状。处理,适用于拓扑上呈矩形的曲面形状。A Duck (weight)Ducks trace out curve1. 插值、拟合与逼近插值、拟合与逼近u插值插值:给定一组有序的数据点给定一组有序的数据点Pi,i=0, 1, , n,构造一条曲,构造一条曲线顺序通过这些数据点,称为对这些数据点进行插值,所构造线顺序通过这些
13、数据点,称为对这些数据点进行插值,所构造的曲线称为的曲线称为插值曲线插值曲线。 u拟合拟合:构造一条曲线使之在某种意义下最接近给定的数据点:构造一条曲线使之在某种意义下最接近给定的数据点(但未必通过这些点但未必通过这些点),所构造的曲线为,所构造的曲线为拟合曲线拟合曲线。u逼近逼近:在计算数学中,逼近通常指用一些性质较好的函数近在计算数学中,逼近通常指用一些性质较好的函数近似表示一些性质不好的函数。在计算机图形学中,逼近继承了似表示一些性质不好的函数。在计算机图形学中,逼近继承了这方面的含义,因此这方面的含义,因此插值和拟合都可以视为逼近插值和拟合都可以视为逼近。 原始数据点精确原始数据点精确
14、 原始数据点不精确原始数据点不精确n给定一组有序的数据点给定一组有序的数据点P Pi i,i=0, 1, i=0, 1, , n, n,构造一条,构造一条曲线顺序通过这些数据点,称为对这些数据点进行曲线顺序通过这些数据点,称为对这些数据点进行插插值值,所构造的曲线称为,所构造的曲线称为插值曲线插值曲线。n线性插值线性插值:假设给定函数:假设给定函数f(x)f(x)在两个不同点在两个不同点x1x1和和x2x2的值,用一个线形函数:的值,用一个线形函数:y=ax+by=ax+b,近似代替,称为,近似代替,称为的线性插值函数。的线性插值函数。n抛物线插值抛物线插值:已知在三个互异点:已知在三个互异点
15、 的函数的函数值为值为 ,要求构造一个函数,要求构造一个函数 使抛物线使抛物线 在结点在结点 处与处与 在在 处处 的值相等。的值相等。cbxaxx+2)()(x321,xxx321,yyy) 3 , 2 , 1( ixi)(xfix插值插值xyo1y2y)(xfy )(xy1x2xxyo1y2y)(xfy )(xy1x2x3x3y(a)(b) 线性插值和抛物插值n逼近逼近:构造一条曲线使之在某种意义下最接近给定的数据点(但未必通过这些点),所构造的曲线称为逼近曲线。n在计算数学中,逼近通常指用一些性质较好的函数近似表示一些性质不好的函数。 曲线的逼近逼近逼近n求给定型值点之间曲线上的点称为曲
16、线的插值曲线的插值。n将连接有一定次序控制点的直线序列称为控制多边形控制多边形或特征多边形。特征多边形。 曲线的逼近凸壳(凸包)凸壳(凸包)n凸壳凸壳Convex hull的定义:的定义: 包含一组控制点的凸多边形边界。包含一组控制点的凸多边形边界。n凸壳的作用凸壳的作用n提供了曲线或曲面与包围控制点的区域之间的提供了曲线或曲面与包围控制点的区域之间的偏差的测量偏差的测量n以凸壳为界的样条保证了多项式沿控制点的平以凸壳为界的样条保证了多项式沿控制点的平滑前进滑前进凸壳n光顺(Firing)指曲线的拐点不能太多。对平面曲线而言,相对光顺的条件是:na. 具有二阶几何连续性(G2);nb. 不存在
17、多余拐点和奇异点;nc. 曲率变化较小。光顺光顺XYXY由一组由一组基函数基函数及相联系的系数矢量来表示:及相联系的系数矢量来表示:niii0aP采用不同的基函数,曲线的数学表示方法就不同。基函数采用不同的基函数,曲线的数学表示方法就不同。基函数一旦确定,系数矢量就完全定义了曲线。一旦确定,系数矢量就完全定义了曲线。2. 计算机辅助几何设计计算机辅助几何设计(CAGD)中的曲线中的曲线的一般表示形式的一般表示形式规范基表示规范基表示具有几何不变性。具有几何不变性。即同样的点在不同坐标系中生即同样的点在不同坐标系中生成的曲线相同。抛物线方程不成的曲线相同。抛物线方程不具有几何不变性。具有几何不变
18、性。则称为规范基。,若10nii切矢方向与模:切矢方向与模:方向相同,模不同,方向相同,模不同,G1连续;连续;方向相同,模相同,方向相同,模相同, C1连续;连续;)(1ur)(2vr连续;满足该条件,称为,2112) 1 () 1 ()0(Grrr+)1()0(12rr C C2 2连续连续满足条件满足条件: : 几何意义是:曲线段几何意义是:曲线段r r2 2(u)(u)首端的二阶导矢应处在由曲线段首端的二阶导矢应处在由曲线段r r1 1(v)(v)末端的二阶导矢和一阶导矢所张成的平面内。末端的二阶导矢和一阶导矢所张成的平面内。(a)0阶连续性(b)1阶连续性(c)2阶连续性 对于曲面片
19、,若两个曲面片在公共连接线上处处满足上对于曲面片,若两个曲面片在公共连接线上处处满足上述各类连续性条件,则两个曲面片之间有同样的结论。述各类连续性条件,则两个曲面片之间有同样的结论。 n n次多项式的全体构成次多项式的全体构成n n次多项式空间,在其中任选一组次多项式空间,在其中任选一组线性无关的多项式都可以作为基。线性无关的多项式都可以作为基。 幂基幂基 u ui i,i=0i=0,1 1,n n,是最简单的多项式基,相应的,是最简单的多项式基,相应的参数多项式曲线方程为:参数多项式曲线方程为: 对于给定的对于给定的n+1个数据点个数据点Pi,i=0,1,2,n,欲构造其插,欲构造其插值曲线
20、或逼近曲线,必先得到对应于各数据点值曲线或逼近曲线,必先得到对应于各数据点Pi的参数值的参数值ui,ui 是一个严格递增的序列是一个严格递增的序列U:u0u1 un 。iniiuu0)(aP采用不同的参数化,得到的曲线也不同。采用不同的参数化,得到的曲线也不同。常用的参数化方法有:常用的参数化方法有:均匀参数化均匀参数化(等距参数化等距参数化) 积累弦长参数化积累弦长参数化向心参数化向心参数化 修正弦长参数化修正弦长参数化对给定的数据点实行参数化,将参数值对给定的数据点实行参数化,将参数值ui代入前面所述方程,代入前面所述方程,使之满足插值条件:使之满足插值条件:;2 , 1 , 0)(0ni
21、uuijinjjipap得一线性方程组:得一线性方程组:解线性方程组,可得系数矢量的唯一解。解线性方程组,可得系数矢量的唯一解。然而,幂基多项式曲线方程中的系数矢量几何意义不明确,构然而,幂基多项式曲线方程中的系数矢量几何意义不明确,构造曲线时,需解线性方程组,造曲线时,需解线性方程组,n n较大时,不可取。较大时,不可取。 其它多项式插值曲线如其它多项式插值曲线如Lagrange、Newton、Hermite等等较之幂基多项式曲线在计算性能等方面有较大改进,但总体上较之幂基多项式曲线在计算性能等方面有较大改进,但总体上多项式曲线存在两个问题:多项式曲线存在两个问题:l l次数增高时,出现多余
22、的拐点;次数增高时,出现多余的拐点;l l整体计算,一个数据点的微小改动,可能引起曲线整体大整体计算,一个数据点的微小改动,可能引起曲线整体大的波动。的波动。nnnnnnnnpppaaauuuuuuuuu1010212110200111由于高次多项式曲线存在缺陷,单一低次多项式曲由于高次多项式曲线存在缺陷,单一低次多项式曲线又难以描述复杂形状的曲线。所以采用线又难以描述复杂形状的曲线。所以采用低次多项低次多项式按分段的方式式按分段的方式在一定连续条件下拼接复杂的组合在一定连续条件下拼接复杂的组合曲线是唯一的选择。曲线是唯一的选择。以三次多项式为例:以三次多项式为例:+3032)()(kkkii
23、iiixfPxdxcxbaxyy1(x)=a1+b1x+c1x2+d1x3y2(x)=a2+b2x+c2x2+d2x3y3(x)=a3+b3x+c3x2+d3x3“线动成面” 如何如何选择基函数选择基函数使系数具有几何意义,且操作使系数具有几何意义,且操作方便、易于修改是曲线曲面设计方法的发展方向。方便、易于修改是曲线曲面设计方法的发展方向。0,1 t)()()(011220112201122+ctctctctzbtbtbtbtyatatatatxnnnnnnn7.5.1 样条描述样条描述n次样条参数多项式曲线的矩阵:7.5 Himerte样条样条0,1 t 1)()()()(000111GM
24、TCTcbacbacbatttztytxtpSnnnn基函数基函数(blenging function),或称混合函数混合函数。n7.5.2 三次样条三次样条给定n+1个点,可得到通过每个点的分段三次多项式曲线: 0,1 t )()()(232323+zzzzyyyyxxxxdtctbtatzdtctbtatydtctbtatx7.5.3 自然三次样条自然三次样条定义定义:给定n+1个型值点,现通过这些点列构造一条自然三次参数样条曲线,要求在所有曲线段的公共连接处均具有位置、一阶和二阶导数的连续性,即自然三次样条具有自然三次样条具有C2连续性连续性。还需要两个附加条件才能解出方程组.特点特点:
25、1.只适用于型值点分布比较均匀的场合2.不能“局部控制” 7.5.4 三次三次Hermite样条样条定义定义:假定型值点Pk和Pk+1之间的曲线段为p(t),t0,1,给定矢量Pk、Pk+1、Rk和Rk+1,则满足下列条件的三次参数曲线为三次三次Hermite样条曲线样条曲线:11) 1 (,)0() 1 (,)0(+kkkkRpRpPpPp推导推导:CTdcbatttdddcccbbbaaattttpzyxzyxzyxzyx11)(2323n几何形式n对三次参数曲线,若用其端点位矢P(0)、P(1)和切矢P(0)、P(1)描述。n将P(0)、P(1)、P(0)和P(1)简记为P0、P1、P0
26、和P1,代入 得 1 , 0)(012233+tatatatatP+1010310102010022233PPPPaPPPPaPaPahhkkkkkkkkGMRRPPRRPPdcbaC+1111100010100123311220123010011111000Mh是是Hermite矩阵矩阵。Gh是是Hermite几何矢量几何矢量。三次三次Hermite样条曲线的方程为样条曲线的方程为:0,1 t )(hhGMTtp0001010012331122123tttMTh通常将TMk称为Hermite基函数(或混合函数,调和函数基函数(或混合函数,调和函数): )(2)(32)(132)(233232
27、231230tttHttttHtttHtttH+)()()()()(312110tHRtHRtHPtHPtpkkkk+H(t)t0.60.81-0.2H0(t)H1(t)H2(t)H3(t) Hermite基函数特点分析特点分析:1.可以局部调整,因为每个曲线段仅依赖于端点约束。2.Hermite曲线具有几何不变性 Bzier曲线曲线是法国雷诺汽车公司的工程师是法国雷诺汽车公司的工程师Bzier于于1962年提出。年提出。1972年在年在UNISURF系统中正式投入使用。系统中正式投入使用。Bzier曲曲线采用一组特殊的基函数,使得基函数的线采用一组特殊的
28、基函数,使得基函数的系数系数具有明确的几何具有明确的几何意义。其曲线方程:意义。其曲线方程: 10,)()(0ttftniiiap其中从其中从a0到到an首尾相连的折线称为首尾相连的折线称为Bzier控制多边形控制多边形。 nitCCtfnijjijjnjii2, 1 ,0,)1()(11+(注:注:Bzier本人也不能解释该公式的来源本人也不能解释该公式的来源)a0a1a2a3ai为相对位置矢量为相对位置矢量7.3.1 Bzier曲线曲线10,)()(0ttftPniiia333223210t) t (ft2t3) t (ftt3t3) t (f1) t (f + + 当当n=3时时: f0
29、(t)f1(t)f2(t)f3(t)110nitCCtfnijjijjnjii2, 1 ,0,)1()(11+00)()(1,ttBPtniniip!)!(!, 1 , 0)1 ()(,iinnCnittCtBininiinni英国的英国的Forest于于1972年将上述年将上述Bzier曲线中的控制多边形顶曲线中的控制多边形顶点改为绝对位置矢量的点改为绝对位置矢量的Bernstein基基表示形式:表示形式:33,323,223, 133,0)()1(3)()1(3)()1()(ttBtttBtttBttB当当n=3时时:P0P1P2P3Pi为绝对位置矢量B0,3(t)B1,3(t)B3,3(
30、t)B2,3(t)三次基函数的图像三次基函数的图像3332232133033 , 33 , 23 , 13 , 032103 ,30)1 ()1 ()1 ()()()()()()(tCttCttCtCGtBtBtBtBPPPPtBPtPBEziii取为几何矩阵取为几何矩阵GBEZ取为基矩阵取为基矩阵 MBEZTMGtttGBEZBEZBEZ321100033003630133132103213310363003300011)(PPPPttttp0,1t参数离散参数离散 0nit计算型值点计算型值点 0niP连接型值点连接型值点折线折线#define X 0#define Y 1#define
31、Z 2typedef float Vector3;void DisplayCubicBezierCurve(Vector P4, int count) float C34, t, deltat; Vector V, newV; int i, j; for(j=0; j3; j+)/* C=GBEN*MBEN */ Cj0=P0j;Cj1=-3*P0j+3*P1j;Cj2=3*P0j-6*P1j+3*P2j;Cj3=-P0j+3*P1j-3*P2j+P3j; VX=P0X; VY=P0Y; VZ=P0Z; /* 将曲线的起点赋给矢量将曲线的起点赋给矢量V */ detat=1.0/count;
32、t=0.0; for(i=1; i=k-1; 与控制点对应,有效基函数下标应满足:与控制点对应,有效基函数下标应满足:i=n。 故:总有效区间为故:总有效区间为tk-1,tn+1。2022-3-71003阶B样条曲线示例1+nt2tT=t0,t1,tn+1,tn+2,tn+32022-3-7101B-样条基函数的性质n局部性局部性n权性权性n连续性连续性2022-3-7102B-样条基函数的局部性上为零。上取正值,在其它区间只在区间),)(,kiikitttN+在每一个区间上至多只有k个基函数非零,它们是:)(),.,(),(,2,1tNtNtNkikkikki+分段多项式从而在整个参数轴上是
33、的多项式上都是次数不高于在每个区间1),)(,+ktttNkiiki2022-3-7103B-样条基函数的权性,1)(110,+nknikittttN上权性成立。证明:在任意参数区间,),111+nkjjtttt+nijkjikikikijjtNtNtNttt01,1)()()(,的局部性得到:,由上式右端根据递推公式展开并化简得到:1)()(1 ,1,+tNtNjjkjiki2022-3-7104B-样条基函数的连续性次参数连续。重节点处至少为在lkltNki1)(,+11, 111,)()() 1()(ikikiikikikitttNtttNktN2022-3-7105B-样条曲线的分类样
34、条曲线的分类n根据节点矢量的不同形式分类根据节点矢量的不同形式分类q均匀均匀B样条曲线样条曲线q准均匀准均匀B样条曲线样条曲线q分段分段Bezier曲线曲线q非均匀非均匀B样条曲线样条曲线采用均匀节点矢量,即所采用均匀节点矢量,即所有节点区间长度为大于有节点区间长度为大于0的的常数,这样的节点矢量定常数,这样的节点矢量定义了均匀义了均匀B-样条基,从而样条基,从而定义出均匀定义出均匀B-样条曲线。样条曲线。当节点矢量在首末端点处当节点矢量在首末端点处有有K重重复度,而在内部为重重复度,而在内部为均匀分布时,可定义准均均匀分布时,可定义准均匀匀B-样条曲线。样条曲线。节点矢量在首末端点处有节点矢
35、量在首末端点处有K重重复度,而在内部为非重重复度,而在内部为非均匀分布。均匀分布。2022-3-7106均匀B-样条曲线n均匀节点矢量均匀节点矢量n均匀均匀B-样条基样条基n均匀均匀B-样条曲线样条曲线2022-3-7107例:三次均匀例:三次均匀B样条曲线(样条曲线(1) 样条曲线次均匀其上可定义满足:参数节点向量+D+BnittiTiinint3),3,.,1 , 0(01404, 1, 3)()(:0104,0+DnttNPtPBtniii,样条曲线构造三次均匀,常令:2022-3-7108nitNktkitNkittNtNkikikii,.,1 , 0)(1)(1)()(1, 11,4
36、,+,:公式计算根据如下的基函数递推+其它此时:0) 1,1)()(4,.,1 , 01 ,4,iittNitnTiin三次均匀三次均匀B样条曲线(样条曲线(2)2022-3-7109)()(, 0,itNtNkki注:基函数的平移性三次均匀三次均匀B样条曲线(样条曲线(3)1阶基函数2阶基函数2022-3-7110+jjiijjiiijjitNPtNPtPnjjjtt34, 034,1)()()()3)(1,),上的曲线段为:即则,在区间三次均匀三次均匀B样条曲线(样条曲线(4)如下:计算)(4, 0tN) 1(34)(3)(3 , 03 , 04 , 0+tNttNttN2022-3-71
37、11三次均匀三次均匀B样条曲线(样条曲线(5)+其它,0 322)3()21 2) 1)(3()2() 1 , 02)(223 , 0ttttttttttN由前面推导过程得到:2022-3-7112三次均匀三次均匀B样条曲线(样条曲线(6)+其它04 , 32) 13(3403) 3 , 22) 11)(13() 12)(1(342)3(3)2 , 1 2) 1(342) 1)(3()2(3) 1 , 003423)(2224, 0tttttttttttttttttttttttttN2022-3-7113三次均匀三次均匀B样条曲线(样条曲线(7))()()()(4,4, 14, 24, 312
38、3tNtNtNtNPPPPjjjjjjjjjjiijjiiiitNPtNPtP34, 034,)()()(+)() 1()2()3(4, 04, 04, 04, 0123jtNjtNjtNjtNPPPPjjjj2022-3-7114三次均匀三次均匀B样条曲线(样条曲线(8)+322223123)3()2)(1() 1)(1 ()2()1)(1)(2()1)(2()1 (61ssssssssssssssssPPPPjjjjjts引入参数变换:+)() 1()2()3()(4, 04, 04, 04, 0123sNsNsNsNPPPPsPjjjj 1 , 0s2022-3-7115三次均匀三次均匀
39、B样条曲线(样条曲线(9)32123)()()(1100033313604133161,)(jtjtjtPPPPtPjjjj代入原参数得:321231100033313604133161sssPPPPjjjj上式即为区间tj,tj+1上3次均匀B样条曲线的矩阵表达式。2022-3-7116P(3)P(4)P(5)当当K3,且采用均匀参数化时,得到三次均匀,且采用均匀参数化时,得到三次均匀B样条曲线:样条曲线:+321321331036303030141161)(iiittttSddddi3, 1 , 0101+niuuuutiii,iiiiiiiiiiiiiiSSSSSSdddddddd+12
40、1212112)0() 1 ()(21)0() 1 ()4(61)0() 1 (在分段连接点处在分段连接点处B B样条曲线的值和导矢量为:样条曲线的值和导矢量为: 图图7-13三次均匀三次均匀B样条曲线段的几何特性样条曲线段的几何特性图图7-13三次均匀三次均匀B样条曲线段的几何特性样条曲线段的几何特性当当di、di+1、 di+2和和di+3四点共线时,四点共线时, 其所定义的曲线段退化其所定义的曲线段退化为直线段;为直线段;当当di+1和和di+2两顶点重合时,曲线段起点两顶点重合时,曲线段起点Si(0)和末点和末点Si(1)分别分别与与didi+1和与和与di+1di+2 相切,且端点曲
41、率为相切,且端点曲率为0(如图(如图7-15););l 曲线的上述退化情形在实际设计中很有用,如图曲线的上述退化情形在实际设计中很有用,如图7-17是应是应用曲线退化情形设计的尖点和直线段。用曲线退化情形设计的尖点和直线段。 对于三次均匀对于三次均匀B样条曲线,计算对应于参数样条曲线,计算对应于参数ui, ui+1这段曲这段曲线上的一点,要用到线上的一点,要用到Ni-3, 3(u)、Ni-2, 3(u)、Ni-1, 3(u)、Ni, 3(u)四个四个基函数,涉及基函数,涉及ui-3到到ui+4共共8个节点的参数值。个节点的参数值。 B样条曲线的基函数是样条曲线的基函数是局部支撑局部支撑的,修改
42、一个数据点,在的,修改一个数据点,在修改处影响最大,对其两侧的影响快速衰减,其影响范围只有修改处影响最大,对其两侧的影响快速衰减,其影响范围只有前后各前后各K段曲线,对曲线的其它部分没有影响。这是计算机辅段曲线,对曲线的其它部分没有影响。这是计算机辅助几何设计所需要的助几何设计所需要的局部修改性局部修改性。 B样条曲线的基函数是样条曲线的基函数是局部支撑局部支撑的,均匀的,均匀B样条曲线未考样条曲线未考虑曲线数据点的分布对参数化的影响,当曲线弦长差异较大虑曲线数据点的分布对参数化的影响,当曲线弦长差异较大时,弦长较长的曲线段比较平坦,而弦长较短的曲线段则臌时,弦长较长的曲线段比较平坦,而弦长较
43、短的曲线段则臌涨,甚至于因过涨,甚至于因过“冲冲”而产生而产生“纽结纽结”。 给定给定16个顶点个顶点di j(i=1,2,3,4;j=1,2,3,4)构成的特)构成的特征网格,可以定义一张曲面片。征网格,可以定义一张曲面片。d24uvd42d43d44d11d12d13d14d21d23d31d32d33d34C4C3C1C2d41d22 首先用首先用di1、di2、di3、di4 (i=1,2,3,4 )构建四条构建四条V向曲线向曲线C1、C2、C3和和C4(图中虚线)(图中虚线); 参数参数v在在0,1 之间取值之间取值vk,对应于,对应于vk,曲线曲线C1、C2、C3和和C4上可得到上
44、可得到V1k、V2k、V3k和和V4k四个点,该四点构成四个点,该四点构成u向向的一个特征多边形,定义一条新的曲线的一个特征多边形,定义一条新的曲线P(u,vk);uvC4C3C1C2V1kV3kV4kV2k 当参数当参数vk在在0,1 之间取不同值时,之间取不同值时,P(u,vk)沿如图所示的沿如图所示的黄色箭头黄色箭头方向扫描,即得到由给定特征网格方向扫描,即得到由给定特征网格di j(i=1,2,3,4; j=1,2,3,4)定义的双三次均匀定义的双三次均匀B样条曲面片样条曲面片P(u,v)。324443424134333231242322211413121132161000212121
45、6121103261212161612121610211210210210613261)1 (),(vvvdddddddddddddddduuuvupd24uvV1kd42d43d44d11d12d13d14d21d23d31d32d33d34C4C3C1C2V2kV3kV4kd41P(u,vK)d22考虑曲线弦长的影响,则曲线的基函数不再具有同样的格式,考虑曲线弦长的影响,则曲线的基函数不再具有同样的格式,必须根据给定数据点进行弦长参数化,然后根据基函数的定必须根据给定数据点进行弦长参数化,然后根据基函数的定义义 用如下的曲线方程计算各段曲线上的点:用如下的曲线方程计算各段曲线上的点: 非均
46、匀非均匀B B样条曲线考虑了弦长的影样条曲线考虑了弦长的影响,曲线不会因为节点分布不均匀而响,曲线不会因为节点分布不均匀而产生过冲和纽结。产生过冲和纽结。 非均匀非均匀B B样条曲线比均匀样条曲线比均匀B B样条曲样条曲线具有更好的光顺性,更符合数据点线具有更好的光顺性,更符合数据点的分布。的分布。,3343+niiuuuuu+3,)()(iijKjjuNdup1, 1 , 0ni7.5.1 非均匀非均匀B样条曲线曲面样条曲线曲面非均匀非均匀B样条样条均匀均匀B样条样条 给定数据点给定数据点di(i=0,1,n-1)就是控制多边形的顶点。)就是控制多边形的顶点。 不过点三次非均匀不过点三次非均
47、匀B样条开口和闭口曲线需要分别处理。样条开口和闭口曲线需要分别处理。 对于开口曲线对于开口曲线,n个数据点只画个数据点只画n-3段曲线,需段曲线,需n-2个节点参数。而计算个节点参数。而计算Ui, Ui+1上的一点,要用到除上的一点,要用到除它们之外的前它们之外的前3个和后个和后3个节点参数,所以在首尾各个节点参数,所以在首尾各添加添加3个节点参数,一共需要个节点参数,一共需要n+4个节点参数值。为个节点参数值。为使曲线过给定数据的首末点,令使曲线过给定数据的首末点,令U0=U1=U2=0;Un+1=Un+2=Un+3=1;全部节点参数为:;全部节点参数为:U0=U1=U2=0;UK,UK1,
48、 ,Un;Un+1=Un+2=Un+3=1;用用HartleyJudd方法,即所画曲线段对应的控制多边方法,即所画曲线段对应的控制多边形的长度与总控制多边形的长度之比确定节点参数。形的长度与总控制多边形的长度之比确定节点参数。nkkiuunKssKsjjiKijjii, 2, 111111+ +,计算出节点参数后,就可以用计算出节点参数后,就可以用前述的递归函数计算基函数前述的递归函数计算基函数Ni,K(u)的值,得到基函数的值,的值,得到基函数的值,就可以代入曲线方程计算各段就可以代入曲线方程计算各段曲线上的点。曲线上的点。图图7-22 不过点非均匀不过点非均匀B样条曲线样条曲线对于闭合曲线
49、对于闭合曲线,n个数据点画个数据点画n段曲线,需段曲线,需n1个个节点参数曲线;首尾各添加节点参数曲线;首尾各添加3个节点参数,共个节点参数,共n7个节点参数。由于不过点闭合曲线,不通过控制个节点参数。由于不过点闭合曲线,不通过控制多边形的首末点,全部节点参数为:多边形的首末点,全部节点参数为: U00U1U2UKUK1Un3Un+4Un+5Un+6=1 各节点的参数值采用各节点的参数值采用HartleyJudd方法。计算出节点参数后,方法。计算出节点参数后,就可以计算基函数就可以计算基函数Ni,K(u)的值,的值,然后用曲线方程计算各段曲线然后用曲线方程计算各段曲线上的点。上的点。对于过点曲
50、线,给定的数据点对于过点曲线,给定的数据点Pi (i=0,1,n-1)是曲线上的点。是曲线上的点。由曲线方程知,必须先计算出节点参数,再计算基函数由曲线方程知,必须先计算出节点参数,再计算基函数Ni,K(u)的值,代入曲线方程,才能反算出控制多边形的顶点:的值,代入曲线方程,才能反算出控制多边形的顶点: +3,)()(iijKjjuNdupn个数据点,反求出个数据点,反求出n+2个控制顶点,画个控制顶点,画n-1段曲线,需段曲线,需n个节个节点参数;首尾各添加点参数;首尾各添加3个节点参数,一共需要个节点参数,一共需要n+6个节点参数个节点参数值;在曲线首端重值;在曲线首端重3段曲线首段的长度
51、,在曲线的末端重段曲线首段的长度,在曲线的末端重3段段曲线末段的长度。所有节点参数为:曲线末段的长度。所有节点参数为: U00U1U2UKUK1Un2Un+3Un+4Un+5=1 i=1,2,i=1,2,n+5, L,n+5, L为包含附加段在内的总长。为包含附加段在内的总长。LUUiii11+根据节点矢量计算基函数根据节点矢量计算基函数Ni,K(u)的值,代入曲线方程可以计算的值,代入曲线方程可以计算n个已知的曲线上的点,得如下方程:个已知的曲线上的点,得如下方程: +33,3)()(iijiiKjjipuNdup,2343+niiuuuuu1, 1 , 0ni写成矩阵形式如下:写成矩阵形式
52、如下: +123 , 1121033 , 0012123 ,23 , 113 ,13 , 113 , 243 , 343 , 243 , 133 , 233 , 1)()()()()()()()()()()()(nnnnnnnnnnnnnnnnnduNpppduNpdddduNuNuNuNuNuNuNuNuNuN对于开口曲线对于开口曲线,d0=P0, dn+1=Pn-1,上述方程组是,上述方程组是“追赶法追赶法”能够求解的三对能够求解的三对角方程。求出角方程。求出d0,d1,dn,dn+1共共n+2个控制顶点,即可以画出个控制顶点,即可以画出n-1曲线。曲线。 (闭合曲线省略闭合曲线省略)ni
53、KiiniKiiiuNuNdup0,0,)()()(wi,i=0,1,n称为权因子; Ni,K(u)是B样条的基函数非均匀非均匀B样条考虑节点分布不匀称的影响,但与所有已介绍的样条考虑节点分布不匀称的影响,但与所有已介绍的计算曲线一样,非均匀计算曲线一样,非均匀B样条不能精确表达二次曲线曲面,采样条不能精确表达二次曲线曲面,采用有理用有理B样条,可以统一表达自由曲线曲面和二次曲线曲面。样条,可以统一表达自由曲线曲面和二次曲线曲面。 有理有理B样条曲线的表达式为:样条曲线的表达式为: 当Ni,K(u)是均匀基函数时,p(u)为均匀有理B样条曲线;当Ni,K(u)是非均匀基函数时,p(u)为非均匀
54、有理B样条(Non-UniformRationalB-Spline,简称NURBS)曲线;通过合理的定义权系数,NURBS曲线能够精确地描述二次圆锥曲线。目前已纳入到产品形状定义的工业标准之中。曲线设计方法的关键在于曲线设计方法的关键在于基函数的选择基函数的选择,选择合适的基函数,选择合适的基函数能够使系数矢量具有更明确的能够使系数矢量具有更明确的几何意义几何意义,绘图操作简单直观。,绘图操作简单直观。基函数和参数化方法的选择对曲线的精度、光顺性、局部修基函数和参数化方法的选择对曲线的精度、光顺性、局部修改性具有决定性的影响。改性具有决定性的影响。整个曲线设计方法的改进方向是在提高精度、保证光
55、顺性的整个曲线设计方法的改进方向是在提高精度、保证光顺性的同时追求同时追求灵活的操作、明确的几何意义和良好的局部修改性灵活的操作、明确的几何意义和良好的局部修改性。 iniiuu0)(aP+3,)()(iijKjjuNdupniniitBt1,)()(dp OpenGL中中绘制绘制Bezier曲线曲面是通过曲线曲面是通过定值器定值器完成的完成的。(参考(参考 http:/ )1. 定义定值器定义定值器指定定值器类型,每个方向的起止范围、次数(控制点数),每指定定值器类型,每个方向的起止范围、次数(控制点数),每个方向步进一个单位对应的浮点值个数,控制点清单。个方向步进一个单位对应的浮点值个数,控制点清单。如如 glMap1f(GL_MAP1_VERTEX_3, 0.0, 1.0, 3, 4,&ctrlpoints00);2. 打开定值器打开定值器void glEnable(定值器类型)(定值器类型);3. 引用定值器引用定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会员合同协议书范本
- 场地合同解除协议书
- 车租赁合同协议书
- 订货订金合同协议书
- 借借房合同协议书
- 2025退休员工劳动合同书
- 内蒙古自治区丰镇市第一中学2024-2025学年高二下学期期中考试政治试题B卷(原卷版+解析版)
- 品牌授权合作协议合同书及授权事项说明手册
- 国际货品进出口贸易合同
- 智慧交通运输管理平台开发与服务协议
- 品质主管面试题及答案
- 中国精神课件
- 2025年福建福州市电子信息集团有限公司招聘笔试参考题库附带答案详解
- 天津市和平区二十中学2025届学业水平考试化学试题模拟卷(九)含解析
- 2025届河北省“五个一”名校联盟高三下学期4月联考地理试题(含答案)
- 篮球智慧树知到期末考试答案章节答案2024年浙江大学
- GB/T 17937-2024电工用铝包钢线
- 多图中华民族共同体概论课件第十一讲 中华一家与中华民族格局底定(清前中期)根据高等教育出版社教材制作
- 2013年高考安徽理科数学试题及答案(word解析版)
- 国际空运知识
- GreedyRabbit贪吃的兔子PPT课件
评论
0/150
提交评论