您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 贝塞尔曲线和B样条曲线
§4.3贝塞尔曲线和B样条曲线在前面讨论的抛物样条和三次参数样条曲线,他们的共同特点是:生成的曲线通过所有给定的型值点。我们称之为“点点通过”。但在实际工作中,往往给出的型值点并不是十分精确,有的点仅仅是出于外观上的考虑。在这样的前提下,用精确的插值方法去一点点地插值运算就很不合算;另外,局部修改某些型值点,希望涉及到曲线的范围越小越好,这也是评价一种拟合方法好坏的指标之一。针对以上要求,法国人Bezier提出了一种参数曲线表示方法,称之为贝塞尔曲线。后来又经Gorgon,Riesenfeld和Forrest等人加以发展成为B样条曲线。一、贝塞尔曲线贝塞尔曲线是通过一组多边折线的各顶点来定义。在各顶点中,曲线经过第一点和最后一点,其余各点则定义曲线的导数、阶次和形状。第一条和最后一条则表示曲线起点和终点的切线方向。1.数学表达式n+1个顶点定义一个n次贝塞尔曲线,其表达式为:)()(0,tBptpninii10t),...,2,1,0(nipi为各顶点的位置向量,)(,tBni为伯恩斯坦基函数ininittnintB)1()!1(!!)(,2.二次贝塞尔曲线需要3个顶点,即210,,ppp,将其代入曲线表达式:2,222,112,00)(BpBpBptp220202,021)1()1()!02(!0!2tttttB21212,122)1(2)1()!12(!1!2ttttttB22222,2)1()!22(!2!2tttB221202)22()21()(ptpttptttp21020010221211ppptt10t2102)21(2)1(2)(tpptpttp)(222)0(0110ppppp0)0(pp)(222)1(1221ppppp2)1(pp当21t时:21021041214141)412212()412121(21ppppppp)](21[21201ppp02210212)2121(2)121(221pppppp3.三次贝塞尔曲线三次贝塞尔曲线需要4个点,即0p、1p、2p、3p。)()()()()(3,333,223,113,00tBptBptBptBptp其中:3230303,0331)1()1()!03(!0!3ttttttB3221313,1363)1(3)1()!13(!1!3tttttttB32122323,233)1(3)1()!23(!2!3ttttttB33333,3)1()!33(!3!3tttB33232132032)33()363()331()(ptpttptttpttttp32102300010033036313311)(ppppttttp10t贝塞尔曲线特点:1.n个顶点定义n-1次曲线,当顶点数较大时,拟合的曲线阶次太高。2.任一顶点对整条曲线的形状都有关系,不利于局部修改。二、B样条曲线用B样条曲线基函数替代伯恩斯坦基函数。1.数学表达式通常,给定m+n+1个顶点),,1,0(nmipi可以定义m+1段n次参数函数为:)()(0,,tFptpnknkkini(10t),),,1,0(mi其中)(,tFnk为B样条分段混合函数,形式为:)()1(!1)(01,jkntCntFknjjnjnk•段数、次数段数=节点数-次数,每段曲线与n+1个点有关;•)!(!!nmnmCnm2.二次B样条曲线n=2,k=0,1,2nininiiFpFpFptp,22,11,0)(02023,0)02()1(!21jjjnjtCF2222120)1(21)!23(!2!3)1()1()!13(!1!3)1()2()!03(!0!3)1[(21tttt120232,1)12()1(21jjjjtCF)122(21])11()!13(!1!3)1()1()!03(!0!3)1[(2122120tttt22000232,221)!13(!1!3)1(21)22()1(21ttjtCFjjj2212221)122(21)1(21)(iiiiptpttpttp21)12()1()(iiiitpptpttp)(21)0(1iippp)(21)1(21iipppiippp1)0(12)1(iippp})]1()0([21{21)21(1ipppp)0()1()21(ppp3.三次B样条曲线n=3,k=0,1,2,333,323,213,103,0303,)()(BFBFBFBFtFptpkkkii其中knjnjnjkjkntCF013,)()1(!31,)3,2,1,0(lBl称为特征多边形。30343,0)3()1(!31jjjjtCF33323130)!34(!3!4)1()1()!24(!2!4)1()2()!14(!1!4)1()3()!04(!0!4)1[(61tttt)133(6123ttt20343,1)13()1(!31jjjjtCF)463(61)!24(!2!4)1()1()!14(!1!4)1()2()!04(!0!4)1[(6123323130ttttt10343,2)23()1(!31jjjjtCF])!14(!1!4)1()1()!04(!0!4)1[(613130tt)1333(6123ttt33000343,361)!04(!0!4)1(61)33()1(!31ttjtCFjjj32312302361)1333(61)463(61)133(61)(ttttBttBttttp3210230141030303631331611BBBBttt10t3222120221)123(21)43(21)12(21)(BtBttBttBtttp32102010102421331211BBBBtt12021032)2(31)4(61)0(BBBBBBp23132132)2(31)4(61)1(BBBBBBp)(21)0(02BBp)(21)1(13BBp)()()0(1012BBBBp)()()1(2123BBBBp例:设)3,4(0p,)5,6(1p,)6,10(2p,)4,12(3p,用以上四个点构造2次B样条曲线。由B样条的定义可知,4个点可定义2次B样条曲线2段:m+n+1=4n=2m+1=2221222,21)122(21)1(21)(iiiiptpttpttp212,)(iiiipCpBpAtp2212022,021)122(21)1(21)(ptpttpttp3222122,021)122(21)1(21)(ptpttpttpt00.20.40.60.81A0.50.320.180.080.020B0.50.660.740.740.660.5C00.020.080.180.320.5)(2,0tp0.5p0+0.5p10.32p0+0.66p1+0.02p2)(2,1tp
本文标题:贝塞尔曲线和B样条曲线
链接地址:https://www.777doc.com/doc-5592197 .html