NURBS曲线理论

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第三章NURBS曲线理论基础1第三章NURBS曲线理论基础NURBS方法的提出是基于描述自由曲面曲线的B样条方法。B样条基函数和B样条曲线是UURBS曲线的基础,UURBS是非均匀有理B样条的英文缩写。因此在给出UURBS曲线定义之前,先介绍一下B样条基函数和B样条曲线的相关知识。3.1B样条基函数定义和性质B-SplineFunction(简称B样条)就是B样条基函数,是样条函数的一种。B样条不但具有一般样条函数所具有的分段光滑又在各段交接处具有一定光滑性等特点,而且具有许多其他优良性质,如连续阶数可调、局部支撑性、递推性等。有很多种方法可以用来定义B样条基函数,我们这里采用deBoor-Cox递推定义方法,是由这种递推法很容易和有效地在计算机上实现。而且deBoor-Cox递推定义很好地揭示了B样条基函数的性质。B样条基函数的deBoor-Cox递推定义如下:1,01,,11,1i111[,N0()()000iiiiikikikikikikiuuuuuuuNNuNuuuuu)其他规定:(3.1)上式(3.1)中k为B样条的次数(k+1阶);令U={u0,u1,…,um}是一个单调不减的实数序列,ui称为节点序列,U称为节点矢量,若存在ui-1,ui=ui+1=…=ui+r-1ui+r则称节点ui的重复度为r,其中,r、n均为整数;Ni,k(u)表示参数为u时,k次B样条序号为i的基函数值。B样条具有良好的性质,简单概括主要有【18,20】:递推性:定义式(3.1)很好的说明了这个性质。规范性:对于定义域内任意参数u,所有的k次B样条基函数之和恒为1,即1)(0,uNmiki。局部支撑性质:对于定义域内参数u[uiui+1),至多有k+1个非零的k次B样条Nj,k(u),j=i—k,i—k+l,...,i,其他k次B样条在该处均为零。可微性:B样条在节点区间内部是无限次可微的,在节点处它是k-r次可微的,这里r是节点重复度。广东工业大学硕士学位论文23.2B样条曲线定义和性质P次B样条曲线的定义为niipiPuNUC0,)()(,bua(3.2)这里niiP0为控制点(controlpoint)序列,{)(,uNpi}是定义在非周期(并且非均匀)节点矢量},,,,,,,,{1111ppmppbbuuaaU(包含m+1个节点)上的p次B样条基函数。除非另外声明,我们假定1,0ba。由{iP}构成的多边形叫做控制多边形(controlpolygon)。如下图:图3.1B样条曲线拟合图B样条曲线具有很好的几何性质有【18,20】:表示唯一性。凸包性。几何不变性和仿射不变性。B样条曲线的形状与位置与坐标无关,曲线作仿射变换,只需对控制多边形作仿射变换。控制多边形逼近性质,控制多边形大致反映了B样条曲线的形状。局部调整性。这是由B样条基函数的局部支撑性决定的,调整一个控制顶点只会改变整个曲线上的某一局部段,对其他段无影响。该性质增强了B样条曲线设计中的交互能力。第三章NURBS曲线理论基础3连续阶性。很好的继承了B样条基函数的可微性,k次B样条曲线)(uQ在节点处k-r阶连续,即rkCuQ)(,r为节点重复度。3.3NURBS曲线的定义和性质NURBS曲线有三种等价的表达形式:有理基函数表示、有理分式表示、齐次坐标表示。三种表达形式是等价的,但作用和意义却有不同之处。(1)有理基函数表示形式NURBS曲线方程的有理基函数表达形式如下式:)()()()()(,0,,0,uNuNuRuRdupkinjikiikinikii(3.3)式中,k次有理基函数是)(,uRki(i=0,l,...,n),具有与k次规范B样条基函数)(,uNki类似的性质,如规范性、局部支撑性、可微性等。(2)有理分式形式一条k次NURBS曲线也可以表示为一分段有理多项式矢函数,如下:nikiinikiiiuNuNduP0,0,)()()((3.4)式中,),,1,0(nii是权因子,首末权因子0,0n,其余0i,为了防止分母为零,同时保证凸包性,曲线不会因权因子而退化为一点,顺序k个权因子不能同时为零。控制顶点为),,1,0(nidi,按顺序用直线段连接起来就是控制多边形。)(,uNki是k次规范B样条基函数(见公式3.1)。对于NURBS的K次曲线,常把两端节点的重复度取为k+1,即,10kuuu121knnnuuu,这使得曲线具有同次有理Bezier曲线的端点几何性质。如果0,11n,则曲线首末端点分别就是控制多边形的首末顶点,曲线在首末顶点处的切线分别就是控制多边形首末边。(3)齐次坐标表示形式有一组给定的控点(0,1,...,)iind和权因子(0,1,...,)iwin,我们称nikiiuNDuP0,)()(广东工业大学硕士学位论文4[,][,,,](0,1,...)iiiiiiiiiiiDd为相应的带权控点,这样我们就定义了一条四维的k次非有理B样条曲线()uP。(3.5)使得上述曲线投影到1超平面上,得到一条k次NURBS曲线(3.4)。(4)权因子的几何意义权因子不只是一个纯数学量,它具有明确的几何意义【42】,它对曲线的影响主要表现在以下几个方面:(1)保持所有控制顶点和除了i外所有其它权因子不变的情况下,只变化i,)(iP在空间的运动轨迹为过id的一条直线。当i时,)(iP=id,即这两点重合。(2)i可以看做是id对曲线的重心吸引系数,控制顶点看做是质点那么曲线被拉向id;所以i减小和增大起到对曲线相对于id的推拉引力的作用。(5)性质NURBS曲线可以看做B样条曲线的一般形式因此它也具有良好的几何性质【18,20】3.4插补点以及其导数的计算3.4.1NURBS曲线值的计算在NURBS实时插补计算中,根据当前u,值计算出NURBS曲线上与之相对应的uP的各个坐标值)(),(),()(uzuyuxuP。计算中NURBS曲线的次数k、控制顶点(0,1,...,)iind、权因子),,1,0(nii和节点矢量0121,,......ikUuuuu是已知量,现有的插补点计算方法主要有直接计算法、矩阵法、齐次表达式法和De_Boor算法等【3】。(1)直接计算法直接计算是利用deBoor-Cox递推(3.1),通过多次迭代求得各阶B样条基函数,然后代入公式(3.4)即可求得与iu对应的()iup。图3-2给出了k次B样条基函数的递推关系。对于一条k次NURBS曲线,计算基函数,()ikNu的值需要调用1(21)k次递推公式(3.1),而计算NURBS曲线上的一个点需要(1)n个基函数的值,总共需要调用1(1)(21)kn次递推公式。整个过程计算量很大,如果用于NURBS直接插补会耗时严重,影响插补的实时效率【4】。第三章NURBS曲线理论基础5图3.2NURBS基函数的递推关系(2)矩阵法由于NURBS基函数的计算较为复杂,为了方便实时查补计算可以通过矩阵变换可以得到矩阵形式,矩阵表达式上的各项系数也可以在预处理阶段对其进行处理;实时插补中,只要将参变量代入矩阵表达式,就可以得到参变量对应的插补点。以三次NURBS曲线为例,记123123,,,iiiiiiiiiuuuuuu特别地00i。令11,[0,1]iiiiiuuuuttuu。则三次NURBS曲线第i段可以写成以下的矩阵形式:),,4,3,10()()()()()()()()(]1]1)()()(321'3221'221'11'03213221221110123321122333233,33,nitttCttCttCtCttCttCttCtC(3.6)式中:广东工业大学硕士学位论文6121211113232312111111111232311121111332311121233111143444423231()()10333()03()33()0()()3iiiiiiiiiiiiiiiiiiiimmmmmMmmmmmmmmm将式(3.6)展开,并令:iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiimmmmCmmmmCmmmmCmmmmCdmdmdmdmCdmdmdmdmCdmdmdmdmCdmdmdmdmC44143242341'334133232331'224123222321'114113212311'0441143224233413341133223233312241123222233211141113221233110则可以推出:nittCtCtCCtCtCtCCtpt,,4,3,1,0,)(3'32'2'1'0332210(3.7)这样,对于给定参数值u,先计算出参数t的值,然后代入公式(3.7)就可以直接解出对应点的坐标【5】。(3)De_Boor算法由于NURBS曲线是B样条曲线的一种形式,De_Boor算法是计算B样条曲线上参数u对应的)(up的快捷方法,所以De_Boor算法同样使用NURBS曲线。一下给出B样条形式的De_Boor算法:,,110()()()...[,][,]nillkjjkjjklikiiknjjikuNuNuuuuuupddd,(3.8)式中:111,0(1),,1,...,;1,2,...,jllllljjjjjlaajikikillkdddd1000jlljjkjluuauu,规定第三章NURBS曲线理论基础7式中控制顶点),,1,0(nidi、次数k和节点矢量],,,[110knuuuU,参数],[],[11nkiiuuuuu是给定的。该算法能够直接、快捷的解得NURBS曲线上点。本文采用该方法计算NURBS曲线上插补点。3.4.2NURBS曲线导矢计算(1)NURBS曲线采用有理基函数表示时,直接计算法求的一阶导矢公式如下:)()()()()(0,0,uuAuNuNdupnikiinikiii(3.9)m阶导函数:)()()()()(1)()()()(uupuAupniimimimm(3.10)其中,)()(!)!(!)())()(()()()()()(11111)1(1,1)1(1,)(,0)(,)(0)(,)(mimimiikimkiikimkimkiniiimkimniimkimiimmuuuNuuuNkuNduNuAuNu所以有)(up的一阶导数公式:20,,00',00',,'))(()()()()()(nikiikininiiikiininikiiikiiuNuNduNuNduNup(3.11)式中:))()(()(111,11,',

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功