好文档 - 专业文书写作范文服务资料分享网站

最经典CATIA曲线曲面设计基本理论 

天下 分享 时间: 加入收藏 我要投稿 点赞

复旦托业CAD培训中心

当P0,P2固定,引入参数t,令上述比值为t:(1-t),即有:

t从0变到1,第一、二式就分别表示控制二边形的第一、二条边,它们正好是两条一次Bezier曲线。将一、二式代入第三式得:

当t从0变到1时,它正好表示了由三顶点P0、P1、P2三点定义的一条二次Bezier曲线。并且表明:这二次Bezier曲线P20可以定义为分别由前两个顶点(P0,P1)和后两个顶点(P1,P2)决定的一次Bezier曲线的线性组合。

依次类推,由四个控制点定义的三次Bezier曲线P30可被定义为分别由(P0,P1,P2)和(P1,P2,P3)确定的二条二次Bezier曲线的线性组合;

进一步由(n+1)个控制点Pi(i=0, 1, ..., n)定义的n次Bezier曲线Pn0可被定义为分别由前、后n个控制点定义的两条(n-1)次Bezier曲线P0n-1与P1n-1的线性组合:

由此得到Bezier曲线的递推计算公式:

这便是著名的de Casteljau算法。用这一递推公式,在给定参数下,求Bezier曲线上一点P(t)非常是定义Bezier曲线的控制点,即为曲线上具有参数t的点。de 有效。上式中:

Casteljau算法稳定可靠,直观简便,可以编出十分简捷的程序,是计算Bezier曲线的基本算法和标准算法。

P0

P0P0P

n-30

n-2n-1n

P1

P1

n-2n-1P2P2

n-3n-2P1

n-3P3

n-3

function deCasteljau(i,j) begin

if i = 0 then

return P0,j

else

return (1-u)* deCasteljau(i-1,j) + u* deCasteljau(i-1,j+1)

end

11

复旦托业CAD培训中心

这一算法可用简单的几何作图来实现。给定参数

,就把定义域分成长度为

的两段。

依次对原始控制多边形每一边执行同样的定比分割,所得分点就是第一级递推生成的中间顶点

,对这些中间顶点构成的控制多边形再执行同样的定比分割,得第二级中间顶点。重复进行下去,直到n级递推得到一个中间顶点

下图所示为几何作图求三次Bezier曲线(给定参数域

即为所求曲线上的点

)上t=1/3的点。把定义域分成长度为

1/3 : (1-1/3)的两段。依次对原始控制多边形每一边执行同样的定比分割,所得分点就是第一级递推生成的中间顶点P0、P1、P2,对这些中间顶点构成的控制多边形再执行同样的定比分割,得第二级中间顶点P0、P 1。重复进行下去,直到第3级递推得到一个中间顶点P0即为所求曲线上的点P(t)。

2

2

111

3

图 几何作图法求Bezier曲线上一点(n=3,t=1/3)

上述过程的de casteljau算法递推出的Pki呈三角形,对应结果如图所示。递归算法是上述过程的逆过程,首先从上向下递归,直到最底层后开始返回,最顶部点P30即为曲线上的点。

图 n=3时,Pi的递推关系

另外,这一算法隐含说明任一Bezier曲线均可被分割为两段Bezier曲线。第一段由P0、P0、

1

n

P02、P03确定,参数空间为[0,1/3];第二段P03、P12、P21、P3确定,参数空间为[1/3,1],分割后的

曲线形状保持不变。如图所示。

12

复旦托业CAD培训中心

图 Bezier曲线的分割(n=3,t=1/3)

5.Bezier曲线的拼接

几何设计中,一条Bezier曲线往往难以描述复杂的曲线形状。这是由于增加由于特征多边形的顶点数,会引起Bezier曲线次数的提高,而高次多项式又会带来计算上的困难,实际使用中,一般不超过10次。所以有时采用分段设计,然后将各段曲线相互连接起来,并在接合处保持一定的连续条件。

下面讨论两段Bezier曲线达到不同阶几何连续的条件。给定两条Bezier曲线P(t)和Q(t),相应控制点为Pi(i=0, 1, ..., n)和Qj(j=0,1,..., m),且令曲线连接起来。

(1)G0连续的充要条件是:Pn= Q0;

(2)G1连续的充要条件是:Pn-1,Pn = Q,Q1三点共线,即(3)G连续的充要条件是:在G1连续的条件下,并满足方程

2

,如图所示,我们现在把两条

图 Bezier曲线的拼接

我们将

代入,并整理,可以得到:

选择和

的值,可以利用该式确定曲线段

连续的话,只剩下顶点

的特征多边形顶点可以自由选取。

的线性组合:

,而顶点

已被

连续

条件所确定。要达到

如果从上式的两边都减去,则等式右边可以表示为

13

复旦托业CAD培训中心

这表明

和和

五点共面,事实上,在接合点两条曲线段的曲率相等,主位于

直线的同一侧。

法线方向一致,我们还可以断定:

6.Bezier曲线的升阶与降阶

1.Bezier曲线的升阶

所谓升阶是指保持Bezier曲线的形状与方向不变,增加定义它的控制顶点数,也即是提高该Bezier曲线的次数。增加了控制顶点数,不仅能增加了对曲线进行形状控制的灵活性,还在构造曲面方面有着重要的应用。对于一些由曲线生成曲面的算法,要求那些曲线必须是同次的,应用升阶的方法,我们可以把低于最高次数的的曲线提升到最高次数,使得各条曲线具有相同的次数。

曲线升阶后,原控制顶点会发生变化。下面,我们来计算曲线提升一阶后的新的控制顶点。 设给定原始控制顶点P0,P1,...,Pn,定义了一条n次Bezier曲线:

增加一个顶点后,仍定义同一条曲线的新控制顶点为P0*,P1*,...,Pn+1*,则有:

对上式左边乘以(t+(1-t)),得到:

比较等式两边ti(1-t)n+1-i项的系数,得到:

其中P-1=Pn+1=0。 此式说明:

? ?

升阶后的新的特征多边形在原始特征多边形的凸包内。 ? 特征多边形更靠近曲线。

三次Bezier曲线的升阶实例如图所示。

14

复旦托业CAD培训中心

图 Bezier曲线的升阶

2.Bezier曲线的降阶

降阶是升阶的逆过程。给定一条由原始控制顶点Pi(i=0,1,...,n)定义的n次Bezier曲线,要求找到一条由新控制顶点Pi*(i=0,1,...,n-1)定义的n-1次Bezier曲线来逼近原始曲线。 假定Pi是由Pi*升阶得到,则由升阶公式有:

其中第一个递推公式在靠近P0处趋向生成较好的逼近,而第二个递推公式在靠近Pn处趋向生成较好的逼近。

程序演示:Bezier曲线 1.修改控制点

2.自动升阶

对上面的Bezier曲线进行升阶,得到如下图所示曲线。

4个控制点4阶3次 5个控制点5阶4次

15

最经典CATIA曲线曲面设计基本理论 

复旦托业CAD培训中心当P0,P2固定,引入参数t,令上述比值为t:(1-t),即有:t从0变到1,第一、二式就分别表示控制二边形的第一、二条边,它们正好是两条一次Bezier曲线。将一、二式代入第三式得:当t从0变到1时,它正好表示了由三顶点
推荐度:
点击下载文档文档为doc格式
4hycw2gyzr6h1tx45fd1
领取福利

微信扫码领取福利

微信扫码分享