Bezier曲线的构建

Bezier曲线是由法国雷诺汽车公司的P.E.Bezier20世纪70年代初为解决汽车外型设计而提出的一种新的参数表示法,这种方法的特点是:控制点的输入与曲线输出之间的关系明确,使设计人员比较直观地估计给定条件与设计出的曲线之间的关系。当设计人员(用户)使用交互手段改变输入控制点,就能很方便地在屏幕上改变拟合曲线的形状与代表它的多项式的次数以迎合设计要求。

Bezier曲线是指用光滑参数曲线段逼近一折线多边形,它不要求给出导数,只要给出数据点就可以构造曲线,而且曲线次数严格依赖确定该段曲线的数据点个数。

曲线的形状依赖于该多边形的形状,即由一组多边折线(该多边折线称为特征多边形)的顶点唯一地定义出来,且只有该多边形第一个顶点和最后一个顶点在曲线上。 Bezier 曲线及其特征多边形如下图

注:上图是由四个控制点形成的三次Bezier曲线,曲线的形状依附于该特征多边形的形状。且特征多边形的第一条边线和最后一条边线分别表示曲线在第一个顶点和最后一个顶点的切线方向

Bezier 曲线分为开放型和封闭型两类:首尾控制点不想同为开放型,首尾控制点想同为封闭型。如下图所示:

(1) Bezier曲线的定义

 Bezier 曲线是由一组折线来定义的,且第一点和最后一点在曲线上,第一条和最后一条折线分别表示出曲线在起点和终点处的切线方向。 Bezier 曲线通常由特征多边形的 n+1 个顶点定义一个 n 次多项式,即给定空间 n+1 个点的位置矢量 Pi i=0 1 2 n ),则 Bezier 参数曲线上各点坐标的参数方程式 ( 插值公式 ) 是:

 其中参数t的取值范围为[0,1],i是有序集0~n中的一个整数值,表示顶点顺序号。n是多项式次数,也是曲线次数。

通常由 n+1 个顶点确定的曲线为 n 次曲线。在上述式中, Pi 是特征多边形第 i 个顶点的坐标( xi,yi , 是伯恩斯坦( Bernstein )多项式,称为 n Bernstein 基函数,定义如下


(2) Bezier曲线的性质       

性质1:端点及端点切线

1.    Bezier曲线的起点和终点分别是特征多边形的第一个顶点和最后一个顶点。

2.    Bezier曲线在起点和终点处的切线分别是特征多边形的第一条边和最后一条边,且切矢的模长分别为相应边长的n

性质2:对称性

假如保持nBezier曲线诸顶点的位置不变,而把次序颠倒过来,即下标为i的点改为下标为n-i的点,则此时曲线仍不变,只不过是曲线的走向相反而已

性质3:凸包性

在几何图形上,Bezier曲线P(t)t属于[0,1]中各点是控制点Pi的凸线性组合,即曲线落在Pi构成的凸包之中,如下图所示 。

性质4:几何不变性

这是指某些几何特性不随坐标变换而变化的特性。由Bezier曲线的定义知,曲线的形状和位置由其特征多边形的顶点Pi (i=0,1,…,n)唯一确定,与坐标系的选取无关,这就是几何不变性

(4) 几个低次Bezier曲线

Bezier曲线的定义

我们可以推出一次、二次以及三次Bezier曲线的数学表达式,工程上应用较多的是三次Bezier曲线。下面依次讨论

1) 一次Bezier曲线

n=1时为一次Bezier曲线,此时P(t)为一次多项式,有两个控制点,则

注:这表明一次Bezier曲线是连接起点P0和 终点P1的直线段。

2) 二次Bezier曲线

n=2时为二次Bezier曲线,此时P(t)为二次多项式,有三个控制点,则

这表明二次Bezier曲线是一段抛物线,其矩阵形式为:



3)三次Bezier曲线

n=3时为三次Bezier曲线,此时P(t)为三次多项式,有四个控制点,由于三次Bezier曲线是用3根折线定义的3阶曲线,则有:


用矩阵表示为:

3Bezier曲线的光滑连接

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

设两条 Bezier 曲线分别为 n P(t) m Q(t) 。相应控制点为 Pi(i =0,1,...,n) Qi(i=0,1,...,m) ,它们在接点处为 Pn=Q0 ,且令     如下图所示。


Bezier曲线性质   

             

        

要保证曲线在连接点处的一阶导数连续,即     

                    

如图是三次Bezier曲线的连接.其中一条曲线由顶点P1P2P3P4控制,另一条曲线由顶点P4P5P6P7控制, P4是两条曲线的公共顶点。

P3P4 P5三个顶点共线时,这两条三次Bezier曲线就在顶点P4处互相切连接,在切点处具有一阶导数连续性(C1连续),而P3P4 P5是它们的公切线


(4)Bezier曲线的递推(de Casteljau)算法

计算Bezier曲线上的点,可用Bezier曲线方程,但使用de Casteljau提出的递推算法则要简单得多

如图所示,设P0P02P2 是一条抛物线上顺序三个不同的点。过P0P2点的两切线交于P1点,在点P02的切线交P0P1P2P1P01P11 ,则如下比例成立


这是所谓抛物线的三切线定理。

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



t0变到1,第(1)、(2)式就分别表示控制二边形的第一、二条边,它们是两条一次Bezier曲线。将(1)、(2)式代入第(3)式得:

t0变到1时,它表示了由三顶点P0P1P2三点定义的一条二次Bezier曲线,记为P02

这表明:这二次Bezier曲线P02可以定义为分别由前两个顶点(P0,P1)和后两个顶点(P1,P2)决定的一次Bezier曲线的线性组合,即                               

 同理,由四个控制点定义的三次Bezier曲线P03可被定义为分别由(P0,P1,P2)(P1,P2,P3)确定的二条二次Bezier曲线的线性组合。 如下图所示:



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





  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值