资源描述:
《贝塞尔曲线和B样条曲线.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、;.§4.3贝塞尔曲线和B样条曲线在前面讨论的抛物样条和三次参数样条曲线,他们的共同特点是:生成的曲线通过所有给定的型值点。我们称之为“点点通过”。但在实际工作中,往往给出的型值点并不是十分精确,有的点仅仅是出于外观上的考虑。在这样的前提下,用精确的插值方法去一点点地插值运算就很不合算;另外,局部修改某些型值点,希望涉及到曲线的范围越小越好,这也是评价一种拟合方法好坏的指标之一。针对以上要求,法国人Bezier提出了一种参数曲线表示方法,称之为贝塞尔曲线。后来又经Gorgon,Riesenfeld和Forrest等人加以发展成为B样条曲线。一、贝塞尔曲
2、线贝塞尔曲线是通过一组多边折线的各顶点来定义。在各顶点中,曲线经过第一点和最后一点,其余各点则定义曲线的导数、阶次和形状。第一条和最后一条则表示曲线起点和终点的切线方向。1.数学表达式n+1个顶点定义一个n次贝塞尔曲线,其表达式为:np(t)piBi,n(t)0t1i0pi(i0,1,2,...,n)为各顶点的位置向量,Bi,n(t)为伯恩斯坦基函数n!iniBi,n(t)t(1t)i!(n1)!2.二次贝塞尔曲线需要3个顶点,即p0,p1,p2,将其代入曲线表达式:p(t)p0B0,2p1B1,2p2B2,2;..;.2!02022B0,2t(1t)
3、(1t)12tt0!(20)!2!1212B1,2t(1t)2t(1t)2t2t1!(21)!2!2222B2,2t(1t)t2!(22)!222p(t)(12tt)p0(2t2t)p1tp2121p02tt1220p10t1100p2p(t)2(t1)p02(12t)p12tp2p(0)2p02p12(p1p0)p(0)p0p(1)2p12p22(p2p1)p(1)p21当t时:2111111111p(12)p0(22)p1p2p0p1p222424442411[p1(p0p2)]221111p2(1)p02(12)p12p2p2p02222;..;
4、.3.三次贝塞尔曲线三次贝塞尔曲线需要4个点,即p0、p1、p2、p3。p(t)p0B0,3(t)p1B1,3(t)p2B2,3(t)p3B3,3(t)3!030323其中:B0,3t(1t)(1t)13t3tt0!(30)!3!131223B1,3t(1t)3t(1t)3t6t3t1!(31)!3!2322123B2,3t(1t)3t(1t)3t3t2!(32)!3!3333B3,3t(1t)t3!(33)!2323233p(t)(13t3tt)p0(3t6t3t)p1(3t3t)p2tp31331p0323630p1p(t)ttt10t13300p
5、21000p3贝塞尔曲线特点:1.n个顶点定义n-1次曲线,当顶点数较大时,拟合的曲线阶次太高。2.任一顶点对整条曲线的形状都有关系,不利于局部修改。二、B样条曲线用B样条曲线基函数替代伯恩斯坦基函数。1.数学表达式通常,给定m+n+1个顶点pi(i0,1,,mn)可以定义m+1段n次参数函数为:npi,n(t)pikFk,n(t)(0t1),(i0,1,,m)k0其中Fk,n(t)为B样条分段混合函数,形式为:;..;.nk1jjFk,n(t)(1)Cn1(tnkj)n!j0?段数、次数段数=节点数-次数,每段曲线与n+1个点有关;nm!?Cmn!(
6、mn)!2.二次B样条曲线n=2,k=0,1,2pi(t)piF0,npi1F1,npi2F2,n201jj2F0,n(1)C3(t20j)2!j0103!213!223!2[(1)(t2)(1)(t1)(1)t20!(30)!1!(31)!2!(32)!12(t1)2211jj2F1,2(1)C3(t21j)2j0103!213!2[(1)(t1)(1)(t11)]20!(30)!1!(31)!12(2t2t1)201jj2103!212F2,2(1)C3(t22j)(1)tt2j021!(31)!2121212pi(t)(t1)pi(2t2t1)p
7、i1tpi2222pi(t)(t1)pi(2t1)pi1tpi21p(0)(pipi1)21p(1)(pi1pi2)2p(0)pi1pip(1)pi2pi1;..;.111p(){[p(0)p(1)]pi1}2221p()p(1)p(0)23.三次B样条曲线n=3,k=0,1,2,33pi(t)pikFk,3(t)F0,3B0F1,3B1F2,3B2F3,3B3k0nk1jjn其中Fk,3(1)Cn1(tnkj),Bl(l0,1,2,3)称为特征多边形。3!j031jj3F0,3(1)C4(t3j)3!j0104!314!324!334!3[(1)(t
8、3)(1)(t2)(1)(t1)(1)t60!(40)!1!(41)!2!(42)!3!(43