计算机图形学 ch07 曲线与曲面教学教材.ppt

计算机图形学 ch07 曲线与曲面教学教材.ppt

5. Bézier曲线的递推算法(de Casteljau) 几何作图法求Bézier曲线 上一点(n=3,t=1/3) 0 1 1/3 5. Bézier曲线的递推算法(de Casteljau) DeCasteljau (P,n,u,C) { /* Compute point on a Bézier curve using DeCasteljau algorithm */ /* Input : P,n,u */ /* Output: C (a point) */ for(i=0;i=n;i++ ) Q[i]=P[i] ; for(k=1; k=n; k++) for(i=0; i=n-k; i++) Q[i]=(1.0-u)*Q[i]+u*Q[i+1] ; C=Q[0] ; } 6. Bézier曲线的分割与拼接 Bézier曲线的分割:将曲线在某个参数点t分割为两段。 几何作图法中计算得到的P0n同时也将原Bézier曲线分为两个子曲线段。 P0,P01,…, P0n定义了在[0,t]上的子曲线段,而P0n,P1n-1,…, Pn定义了在[t,1]上的子曲线段。证明过程略 0 1 1/3 6. Bézier曲线的分割与拼接 Bézier曲线的拼接: 几何设计中, 利用Bézier曲线描述复杂的曲线形状时,有两种选择: 一是增加控制顶点,会引起Bézier曲线次数的提高,而带来计算上的困难,实际使用中,一般不超过10次。 二是采用分段设计,将多段低次Bézier曲线拼接起来,并在接合处保持一定的连续条件。 下面讨论两段Bézier曲线拼接时达到不同阶几何连续的条件。 6. Bézier曲线的分割与拼接 设有两条Bézier曲线P(t)和 Q(t),其控制顶点分另为:P0, P1, P2,…,Pm 和Q0, Q1, Q2,…,Qn : (1)达到G0充要条件:Q0=Pm ; (2)达到G1充要条件:P’(1)=k?Q’(0) ;而P’(1)= m(Pm-Pm-1), Q’(0)=n(Q1-Q0); 即 Pm-1,Pm=Q0,Q1三点共线; (3)达到G2的条件: G1连续,且满足 k1? P’’(1)+ k2? P’(1)= Q’’(0); P3(Q0) P1 P0 P2 Q1 Q2 Q3 而P”(1)=m(m-1)(Pm-2Pm-1+Pm-2), Q”(0)=n(n-1)(Q2-2Q1+Q0);表明Pm-2 ,Pm-1,Pm=Q0,Q1, Q2五点共面。事实上,在接合点两条曲线段的曲率相等,主法线方向一致,我们还可以断定:Pm-2, Q2位于直线 Pm-1Q1的同一侧。 6. Bézier曲线的分割与拼接 对一条两段的Bézier曲线进行的可能的形状编辑。 G1连续时? G2连续时? P1 P0 P2 P3(Q0) Q1 Q2 Q3 7. Bézier曲线的升阶与降阶 Bézier曲线的升阶: 所谓升阶是指保持Bézier曲线的形状与方向不变,增加定义它的控制顶点数,也即是提高该Bézier曲线的次数。曲线升阶后,原控制顶点会发生变化。 增加了控制顶点数,不仅能增加了对曲线进行形状控制的灵活性,还在构造曲面方面有着重要的应用。(对于一些由曲线生成曲面的算法中,要求那些曲线必须是同次的。应用升阶的方法,我们可以把低于最高次数的的曲线提升到最高次数,而获得同一的次数。) 7. Bézier曲线的升阶与降阶 增加一个顶点后,定义同一条曲线的新控制顶点为: 则有(证明略) : Bézier曲线升阶 新的控制顶点Pi*是以参数值i/(n+1)按分段线性插值从原始特征多边形得出的。 升阶后的新的特征多边形在原始特征多边形的凸包内。 新特征多边形更靠近曲线。 7. Bézier曲线的升阶与降阶 Bézier曲线的降阶(略) : 降阶是升阶的逆过程。给定一条由原始控制顶点Pi(i=0,1,…,n) 定义的n次Bézier曲线,要求找到一条由新控制顶点Pi*(i=0,1,…,n-1) 定义的n-1次Bézier曲线来逼近原始曲线。 。 降阶的目的? 降阶逼近的文献: M. A. Watkins and A. J. Worsey, Degree reduction of Bézier curves, Computer Aided Design, 20(7), 1988, 398-405 胡事民、孙家广、金通光、汪国昭,Approximate degree reduction of Bézier curves, Tsinghua Science and Technology, No.2, 1998, 997-1000. 雍俊海、胡事民、孙家广、谭新宇,Degree

文档评论(0)

1亿VIP精品文档

相关文档