第5章节 曲线和曲面.ppt

第5章节 曲线和曲面

第5章 曲线和曲面 5.1 曲线和曲面基础 5.1.1 规则曲线和曲面的3种坐标表示法 5.1.2 参数样条曲线和曲面的常用术语 5.2 二次插值样条曲线 5.2.1 二次插值样条曲线的数学表达式 5.2.2 二次插值样条曲线的加权合成 5.2.3 二次插值样条曲线的端点条件 5.2.4 二次插值样条曲线的性质 5.3 三次插值样条曲线 5.3.1 三次自然样条曲线 5.3.2 Hermite样条曲线 5.3.3 Cardinal样条曲线 5.4 贝济埃曲线 5.4.1 贝济埃曲线的数学表达式 5.4.2 二次贝济埃曲线 5.4.3 三次贝济埃曲线 5.4.5 贝济埃曲线生成算法 5.5 B样条曲线 5.5.1 B样条曲线的数学表达式 5.5.2 二次B样条曲线 5.5.3 三次B样条曲线 5.5.6 三次B样条曲线的算法源程序 5.6 有理样条曲线 5.6.1 有理Bezier曲线 5.6.2 有理B样条曲线 5.6.3 非均匀有理B样条(NURBS)曲线 long fac(int m) //计算m! { int i; long temp=1; if(m==0)return 1; // 0!=1 else { for(i=2;i=m;i++) temp=temp*i; } return temp; } void bezier(int px[],int py[],,int n) { int x,y,i,j,k=100; double t,t1,u,v; double temp,temp1,temp2,bi; t=1.0/k; moveto(px[0],py[0]); for(j=1;jk;j++) { t1=j*t; u=t1;v=1–u; x=0;y=0; for(i=0;i=n;i++) { temp=double(fac(n)/fac(i)/fac(n–i)); temp1=powi(u,i); temp2=powi(v,n–i); bi=temp*temp1*temp2; x=x+bi*px[i]; y=y+bi*py[i]; } LineTo(x,y); } lineto(px[n],py[n]); } 上面所介绍的贝济埃曲线,在外形设计的应用中,存在有一些具体的不足之处: ①确定了多边形的顶点数(m个),也就决定了所定义的贝济埃曲线的阶次(m–1次),这样很不灵活。 ②当顶点数(m)较大时,曲线的阶次将比较高。此时,多边形对曲线形状的控制将明显减弱。 ③从式(5–21)可以看出,调和函数的值在开区间(0, 1)内均不为零。因此,所定义的曲线在(0t1)的区间内的任何一点均要受到全部顶点的影响。即改变其中任一个顶点的位置,将会对整条曲线产生影响,因而对曲线进行局部修改将成为不可能。 为了克服以上提到的在贝济埃曲线中存在的一些问题,Gordon,Riesenfeld和Forrest等人拓展了贝济埃曲线,用n次B样条基函数替换了伯恩斯坦基函数,构造了B样条曲线。B样条曲线除了保持了原贝济埃曲线所具有的优点外,还增加了可以对曲线进行局部修改这一突出的优点。除此之外,它还具有对特征多边形更逼近,多项式阶次较低等优点。因此,B样条曲线在外形设计中得到了广泛的重视和应用。 通常,给定m+n+1个顶点Pi (i =0, l, 2, …, m+n),可以定义m+1段n次的参数曲线为: Pk,n(t)= (0≤t≤1) (5-26) 式中:Pk,n(t)为第k段n次B样条曲线段(k=0,1,…,m),Fi,n(t)为n次B样条基函数,也称为B样条分段混合函数。其形式为: (5-27) 连接全部曲线段所组成的整条曲线称为n次B样条曲线。依次用线段连接Pi+k(k=0, 1, …,n)所组成的多边折线称为B样条曲线在第i段的B特征多边形。 n次B样条曲线可达到n–1阶连续。 由式(5–26)可以看出,B样条曲线是分段组成的。所以特征多边形的顶点对曲线的控制灵活直观。由于整条B样条曲线能达到n–1阶的连续,而在工程实际应用中,二阶连续的曲

文档评论(0)

1亿VIP精品文档

相关文档