书签 分享 收藏 举报 版权申诉 / 59
上传文档赚钱

类型Bezier曲线B样条曲线课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4687820
  • 上传时间:2023-01-01
  • 格式:PPT
  • 页数:59
  • 大小:826.05KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Bezier曲线B样条曲线课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Bezier 曲线 课件
    资源描述:

    1、第第5 5章章 曲线与曲面的生成与计算曲线与曲面的生成与计算5 5.1 .1 曲线的参数表示曲线的参数表示 5 5.2 Bezier.2 Bezier、B B样条曲线的生成样条曲线的生成5 5.3 .3 曲面的参数表示曲面的参数表示 5 5.4 Bezier.4 Bezier、B B样条曲面的生成样条曲面的生成 曲线和曲面曲线和曲面是计算机图形学中研究的重要内容之一,它们是计算机图形学中研究的重要内容之一,它们在实际工作中有着广泛的应用。例如:在实际工作中有着广泛的应用。例如:实验、统计数据如何用曲线表示。实验、统计数据如何用曲线表示。设计、分析、优化的结果如何用曲线、曲面表示。设计、分析、优

    2、化的结果如何用曲线、曲面表示。汽车、飞机等具有曲面外形的产品怎样进行设计,才汽车、飞机等具有曲面外形的产品怎样进行设计,才 能使之美观且物理性能最佳。能使之美观且物理性能最佳。由于实际问题不断对曲线、曲面有许多新的要求,近二十由于实际问题不断对曲线、曲面有许多新的要求,近二十年来,有关曲线曲面的研究文章、专著层出不穷。在实际工年来,有关曲线曲面的研究文章、专著层出不穷。在实际工作中,作中,人们常用曲线有人们常用曲线有Bezier、B样条、非均匀有理样条、非均匀有理B样条样条(Nurbs)、圆锥曲线、等距线、过度线等;常用的曲面有、圆锥曲线、等距线、过度线等;常用的曲面有Bezier曲面、曲面、

    3、B样条曲面、样条曲面、Coons曲面等曲面等。曲线与曲面的生成与计算曲线与曲面的生成与计算 在本章中,我们将主要介绍在本章中,我们将主要介绍曲线曲面的参数表示曲线曲面的参数表示,Bezier,Bezier,B B样条曲线以及样条曲线以及BezierBezier、B B样条曲面的概念和特征样条曲面的概念和特征。在具体讲述上面知识之前,有必要了解一下如下几个概念在具体讲述上面知识之前,有必要了解一下如下几个概念的区别和联系。的区别和联系。1 曲线绘制曲线绘制:这类问题归结为已知曲线方程,要求画出曲线:这类问题归结为已知曲线方程,要求画出曲线 2 曲线插值曲线插值:由实验、观测或计算得到了若干个离散

    4、点组成的点列,要:由实验、观测或计算得到了若干个离散点组成的点列,要求用求用光滑的曲线光滑的曲线把这些离散点连结起来。把这些离散点连结起来。3 曲线逼近曲线逼近:在曲线形状设计中,给定了折线轮廓,要求用一曲线逼近:在曲线形状设计中,给定了折线轮廓,要求用一曲线逼近这个折线轮廓,这类问题称为曲线逼近。这个折线轮廓,这类问题称为曲线逼近。(注:曲线插值与曲线逼近的区别:逼近不要求曲线通过数据点)(注:曲线插值与曲线逼近的区别:逼近不要求曲线通过数据点)4 曲线拟合曲线拟合:曲线、曲面的设计过程中,用插值或逼近方法是生成的曲曲线、曲面的设计过程中,用插值或逼近方法是生成的曲线、曲面达到某些设计要求线

    5、、曲面达到某些设计要求。曲线与曲面的生成与计算曲线与曲面的生成与计算v 曲线、曲面可以有显式、隐式和参数表示,但从计算机曲线、曲面可以有显式、隐式和参数表示,但从计算机图形学和计算几何的角度来看,还是使用参数表示较好,图形学和计算几何的角度来看,还是使用参数表示较好,因为采用参数方法表示曲线和曲面,可以将其形状从特定因为采用参数方法表示曲线和曲面,可以将其形状从特定坐标系的依附性中解脱出来,很容易借助计算机得以实现。坐标系的依附性中解脱出来,很容易借助计算机得以实现。v一个动点的轨迹可以用位置向量一个动点的轨迹可以用位置向量P来描述,如下图所示:来描述,如下图所示:XYZ0u1u2u)1(up

    6、)2(up6.1 曲线的参数表示曲线的参数表示曲线的参数表示曲线的参数表示注:这里讨论的动点轨迹注:这里讨论的动点轨迹是在三维空间中所表是在三维空间中所表示的曲线,平面轨迹示的曲线,平面轨迹曲线只是一种特殊情曲线只是一种特殊情况况 向量向量P与时间与时间t有关:有关:P=P(t),就是说就是说P是时间是时间t的函数。用的函数。用坐标表示为坐标表示为:)()()(tzztyytxx 若把参数若把参数t 换成一个普通意义的参数换成一个普通意义的参数u,则曲线的参数形式,则曲线的参数形式为:为:)()()(uzuyuxP 例如:例如:是一条空间曲线的参数形是一条空间曲线的参数形式。式。310,123

    7、xuyuuzu 注:这是一条以点注:这是一条以点(0,1,3)为起点,为起点,(3,2,5)为终点的线段为终点的线段5.1 曲线的参数表示曲线的参数表示v参数的含义:参数的含义:时间,距离,角度,比例等等;时间,距离,角度,比例等等;规范参数区间规范参数区间00,11:归一化;:归一化;矢量表示:矢量表示:切矢量(导函数):切矢量(导函数):v例:已知直线段的端点坐标:例:已知直线段的端点坐标:,则此直线,则此直线段的参数表达式为:段的参数表达式为:相应的相应的x,yx,y坐标分量为:坐标分量为:切矢量为:切矢量为:直线斜率:直线斜率:)()()(tytxtp)()()(tytxtp10132

    8、110213421121tttptttppptp,)(),(,)()(ttyyytytttxxxtx21031121121)()()()(,342121pp31)()(txtydtdxdtdydxdyjiTortytxtpt3131)()()(5.1 曲线的参数表示曲线的参数表示 Bezier曲线和曲线和B样条曲线都是一种自由曲线。样条曲线都是一种自由曲线。自由曲线自由曲线是指一条无法用标准代数方程来描述的曲线是指一条无法用标准代数方程来描述的曲线。在实际中,自。在实际中,自由曲线应用十分广泛,比如轮船身外形放样时的样条曲线,由曲线应用十分广泛,比如轮船身外形放样时的样条曲线,汽车、飞机及各种

    9、产品的外形曲线都可以看成是自由曲线。汽车、飞机及各种产品的外形曲线都可以看成是自由曲线。计算机产生这种曲线的方法通常有两类:计算机产生这种曲线的方法通常有两类:(1)插值的方法插值的方法:要求生成的曲线通过每个数据点,即:要求生成的曲线通过每个数据点,即型值点。曲线插值方法有多项式插值、分段多项式插值和型值点。曲线插值方法有多项式插值、分段多项式插值和样条函数插值等。样条函数插值等。(2)拟合的方法拟合的方法:要求生成曲线靠近每个数据点(型值:要求生成曲线靠近每个数据点(型值点),但不一定要求通过每个点。拟合的方法一般有最小点),但不一定要求通过每个点。拟合的方法一般有最小二乘法、二乘法、Be

    10、zier方法和方法和B样条方法等。样条方法等。下面主要介绍工程上流行应用的下面主要介绍工程上流行应用的Bezier曲线曲线和和B样条曲线样条曲线。Bezier、B样条曲线的生成5.2 Bezier、B样条曲线的生成样条曲线的生成v Bezier曲线是由法国雷诺汽车公司的曲线是由法国雷诺汽车公司的P.E.Bezier于于20世世纪纪70年代初为解决汽车外型设计而提出的一种新的参数表年代初为解决汽车外型设计而提出的一种新的参数表示法,这种方法的特点是:示法,这种方法的特点是:控制点的输入与曲线输出之间控制点的输入与曲线输出之间的关系明确,使设计人员比较直观地估计给定条件与设计的关系明确,使设计人员

    11、比较直观地估计给定条件与设计出的曲线之间的关系出的曲线之间的关系。当设计人员(用户)使用交互手段。当设计人员(用户)使用交互手段改变输入控制点,就能很方便地在屏幕上改变拟合曲线的改变输入控制点,就能很方便地在屏幕上改变拟合曲线的形状与代表它的多项式的次数以迎合设计要求。形状与代表它的多项式的次数以迎合设计要求。v Bezier曲线是指用曲线是指用光滑参数曲线段逼近一折线多边形光滑参数曲线段逼近一折线多边形,它不要求给出导数,只要给出数据点就可以构造曲线,而它不要求给出导数,只要给出数据点就可以构造曲线,而且曲线次数严格依赖确定该段曲线的数据点个数。且曲线次数严格依赖确定该段曲线的数据点个数。贝

    12、塞尔(贝塞尔(Bezier)曲线)曲线5.2 Bezier、B样条曲线的生成样条曲线的生成v曲线的形状依赖于该多边形的形状,即由一组多边折线(该曲线的形状依赖于该多边形的形状,即由一组多边折线(该多边折线称为特征多边形)的顶点唯一地定义出来,且只有多边折线称为特征多边形)的顶点唯一地定义出来,且只有该多边形第一个顶点和最后一个顶点在曲线上。该多边形第一个顶点和最后一个顶点在曲线上。BezierBezier曲曲线及其特征多边形如下图线及其特征多边形如下图三次三次Bezier曲线和特征多边形曲线和特征多边形 注:上图是由四个控制点形成的三次注:上图是由四个控制点形成的三次BezierBezier曲

    13、线,曲线的形曲线,曲线的形状依附于该特征多边形的形状。且特征多边形的第一条边状依附于该特征多边形的形状。且特征多边形的第一条边线和最后一条边线分别表示曲线在第一个顶点和最后一个线和最后一条边线分别表示曲线在第一个顶点和最后一个顶点的切线方向顶点的切线方向5.2 Bezier、B样条曲线的生成样条曲线的生成vBezier曲线分为开放型和封闭型两类:曲线分为开放型和封闭型两类:首尾控制点不想同首尾控制点不想同为为开放型开放型,首尾控制点想同为,首尾控制点想同为封闭型封闭型。如下图所示:。如下图所示:1p2p3p4p5p6p7p封闭型封闭型Bezier曲线曲线1p2p3p4p开放型开放型Bezier

    14、曲线曲线图图 Bezier曲线的类型曲线的类型5.2 Bezier、B样条曲线的生成样条曲线的生成(1)Bezier曲线的定义曲线的定义 Bezier曲线是由一组折线来定义的,且第一点和最后曲线是由一组折线来定义的,且第一点和最后一点在曲线上,第一条和最后一条折线分别表示出曲线在起一点在曲线上,第一条和最后一条折线分别表示出曲线在起点和终点处的切线方向。点和终点处的切线方向。Bezier曲线通常由特征多边形的曲线通常由特征多边形的n+1个顶点定义一个个顶点定义一个n次多项式,即给定空间次多项式,即给定空间n+1个点的位置个点的位置矢量矢量Pi(i=0,1,2,n),),则则Bezier参数曲线

    15、上各点坐标参数曲线上各点坐标的参数方程式的参数方程式(插值公式插值公式)是是:,)()(,100ttBPtPninii 其中参数其中参数t的取值范围为的取值范围为0,1,i是有序集是有序集0n中的一个整数中的一个整数值,表示顶点顺序号。值,表示顶点顺序号。n是多项式次数,也是曲线次数。是多项式次数,也是曲线次数。5.2 Bezier、B样条曲线的生成样条曲线的生成v通常由通常由n+1个顶点确定的曲线为个顶点确定的曲线为n次曲线。在上述式中,次曲线。在上述式中,Pi 是是特征多边形第特征多边形第i个顶点的坐标个顶点的坐标(xi,yi),是伯恩斯坦是伯恩斯坦(Bernstein)多项式,称为)多项

    16、式,称为n次次Bernstein基函数基函数,定义如下:,定义如下:,)()(,100ttBPtPninii)(,tBni),1,0()1()(,nittCtBiniinni 10100!,)!(!ininCin其中:其中:5.2 Bezier、B样条曲线的生成样条曲线的生成v性质性质1:正性正性(2)Betnstein基函数的性质基函数的性质 1,2,1),1,0(01,00)(,nitttBniv性质性质2:端点性质端点性质 其其他他)0(01)0(,iBni其其他他)(01)1(,niBni iniinnittCtB )1()(,v性质性质3:权性权性)1,0(1)(0,ttBniniP

    17、r:Pr:由二项式定理可知:由二项式定理可知:1)1()1()(00,ninininiinnittttCtB5.2 Bezier、B样条曲线的生成样条曲线的生成v性质性质4:对称性对称性)1()(,tBtBninni )()1()1(1)1()1(,)(,tBttCttCtBniiniininnininnnin 因因为为v性质性质5:递推性递推性),1,0()()()1()(1,11,nittBtBttBninini 即即高一次的高一次的Betnstein基函数可以由基函数可以由两个低一次两个低一次Betnstein调和函数线性组合而成。调和函数线性组合而成。)()()1()1()1()1()

    18、1()()1()(1,11,)1()1(111)1(1111,ttBtBttttCttCtttCCttCtBniniiniininiininiinininiinni 5.2 Bezier、B样条曲线的生成样条曲线的生成11,1(1)(1)(1)1,1,1!()(1)()(1)!()!(1)!(1)(1)!(1)(1)!(1)!(1)!(1)!()()iniinii niniiniini nnBtitttnitininnttininnttinin BtBt v性质性质6:导函数导函数 nitBtBntBninini,1,0),()()(1,1,1,因为将因为将 对参数对参数t求导得:求导得:in

    19、iinnittCtB )1()(,11inC 5.2 Bezier、B样条曲线的生成样条曲线的生成v性质性质7:最大值最大值 11,!()(1)()(1)0!()!in iin ii nnBtitttnitini iniinnittCtB )1()(,在在 处达到最大值处达到最大值 nit nitintitntititintittintitiinini 00)()1(0)1)()1(11v性质性质8:积分积分 11)(10,ndttBni5.2 Bezier、B样条曲线的生成样条曲线的生成(3)Bezier曲线的性质曲线的性质 v性质性质1:端点及端点切线:端点及端点切线v1.Bezier曲线

    20、的起点和终点分别是特征多边形的第一个顶曲线的起点和终点分别是特征多边形的第一个顶点和最后一个顶点。点和最后一个顶点。niniitBPtP0,)()(由式子由式子 可得出可得出Bezier曲线两端点的值曲线两端点的值0,110,001,)0()0()0()0()0(0PBPBPBPBPPtnnnnninii 时时,nnnnnniniiPBPBPBPBPPt )1()1()1()1()1(1,110,001,时,时,这说明,这说明,Bezier曲线必须通过特征多边形的起点和终点曲线必须通过特征多边形的起点和终点其其他他)0(01)0(,iBni其其他他)(01)1(,niBni 5.2 Bezie

    21、r、B样条曲线的生成样条曲线的生成2.Bezier曲线在起点和终点处的切线分别是特征多边形的曲线在起点和终点处的切线分别是特征多边形的第一条边和最后一条边,且切矢的模长分别为相应边长的第一条边和最后一条边,且切矢的模长分别为相应边长的n倍。倍。由由Bezier基函数的基函数的导函数性质导函数性质可知,对可知,对 求导可得:求导可得:niniitBPtP0,)()()()()()()()()()()()()()(1,1111,111,1121,00101,1,10,tBPPntBPPtBPPtBPPntBtBPntBPtPniniiinnnnnnnininiininii 于是在起始点,于是在起始

    22、点,其余项均为其余项均为0,故有,故有1)0(,01,0 nBt0101)0(),()0(PPnPPPnP 且且5.2 Bezier、B样条曲线的生成样条曲线的生成在终止点,在终止点,其余项均为其余项均为0,故有,故有1)1(,11,1 nnBt11)1(),()1(nnnnPPnPPPnP且且例如:如下图所示,对于四次例如:如下图所示,对于四次Bezier曲线,曲线,n=4有有1.Bezier曲线的起点和终点分别曲线的起点和终点分别是特征多边形的第一个顶点和最是特征多边形的第一个顶点和最后一个顶点后一个顶点2.Bezier曲线在起点和终点处的曲线在起点和终点处的切线分别是特征多边形的第一条切

    23、线分别是特征多边形的第一条边和最后一条边,且切矢的模长边和最后一条边,且切矢的模长分别为相应边长的分别为相应边长的n倍。倍。)(4)1()(4)0(.33401PPPPPP0P1P2P3P4P5.2 Bezier、B样条曲线的生成样条曲线的生成v性质性质2:对称性:对称性v假如保持假如保持n次次Bezier曲线诸顶点的位置不变,而把次序颠曲线诸顶点的位置不变,而把次序颠倒过来,即下标为倒过来,即下标为i的点改为下标为的点改为下标为n-i的点,则此时曲线仍的点,则此时曲线仍不变,只不过是曲线的走向相反而已如下图所示。不变,只不过是曲线的走向相反而已如下图所示。0P1P2P3P4P*22PP*31

    24、PP*40PP 5.2 Bezier、B样条曲线的生成样条曲线的生成v这一性质证明如下。由伯恩撕坦多项式可以导出:这一性质证明如下。由伯恩撕坦多项式可以导出:)1()1()!(!)(,tBttinintBnininini 记次序颠倒以后的顶点为记次序颠倒以后的顶点为 ,则有,则有niPPini,2,1,0*iP*此时,由控制顶点此时,由控制顶点 ,构造出新的,构造出新的Bezier曲线为曲线为 ,则,则iP*1,0)1()()1()1()()1()1()()()(0,0,0,0,0,0*ttPiktBPtBPkintBPtBPtBPtBPtPniniinknkknknkkninniinnini

    25、inninii令令令令)(*tP这个性质说明这个性质说明Bezier曲曲线在起点和终点处具有线在起点和终点处具有相同的几何性质。相同的几何性质。5.2 Bezier、B样条曲线的生成样条曲线的生成v性质性质3:凸包性:凸包性v由由Bezier基函数的基函数的权性质权性质可知可知 ,且且 ,这一结果说明当,这一结果说明当t在区间在区间0,1变化时,对某一个变化时,对某一个t值,值,P(t)是特征多边行各项顶点是特征多边行各项顶点Pi的加的加权平均,权因子依次是权平均,权因子依次是 。在几何图形上,意味着在几何图形上,意味着Bezier曲线曲线P(t)在在t属于属于0,1中各点是中各点是控制点控制

    26、点Pi的的凸线性组合凸线性组合,即曲线落在,即曲线落在Pi构成的凸包之中,如构成的凸包之中,如下图所示下图所示。)1,0(1)(0,ttBnini),1,0,10(1)(0,nittBni (1)Bezier曲线凸包性曲线凸包性 注:也就是说,当特征多边行注:也就是说,当特征多边行为凸时,为凸时,Bezier曲线也是凸的;曲线也是凸的;当特征多边行有凸有凹时,其当特征多边行有凸有凹时,其曲线的凸凹形状与之对应,且曲线的凸凹形状与之对应,且在其凸包范围内。在其凸包范围内。0P2P3P4P5P1P5.2 Bezier、B样条曲线的生成样条曲线的生成)(,tBni1P2P3P4P0P5P6P(2)B

    27、ezier曲线凸包性曲线凸包性 v性质性质4:几何不变性:几何不变性v这是指某些几何特性不随坐标变换而变化的特性。由这是指某些几何特性不随坐标变换而变化的特性。由Bezier曲线的定义知,曲线的定义知,曲线的形状和位置由其特征多边形的顶点曲线的形状和位置由其特征多边形的顶点Pi(i=0,1,n)唯一确定,与坐标系的选取无关,这就是唯一确定,与坐标系的选取无关,这就是几何不几何不变性。变性。即:即:)()()(,0,的置换的置换是是参变量参变量tuabauBPtBPniininii 5.2 Bezier、B样条曲线的生成样条曲线的生成v由由Bezier曲线的定义曲线的定义(4)几个低次几个低次B

    28、ezier曲线曲线 1,0)()(0,ttBPtPninii),1,0()1()(,nittCtBiniinni 其其中中:v1)一次)一次Bezier曲线曲线v当当n=1时为一次时为一次Bezier曲线,此时曲线,此时P(t)为一次多项式,有两个为一次多项式,有两个控制点,则控制点,则 我们可以推出一次、二次以及三次我们可以推出一次、二次以及三次Bezier曲线的数学表达曲线的数学表达式,工程上应用较多的是三次式,工程上应用较多的是三次Bezier曲线。下面依次讨论:曲线。下面依次讨论:1,0)()1()()(00110101,tPtPPtPPttBPtPiii5.2 Bezier、B样条曲

    29、线的生成样条曲线的生成注:这表明一次注:这表明一次Bezier曲线是连接起点曲线是连接起点P0和和 终点终点P1的直线段。的直线段。v这表明这表明二次二次Bezier曲线是一段抛物线曲线是一段抛物线,其矩阵形式为:,其矩阵形式为:v2)二次)二次Bezier曲线曲线v当当n=2时为二次时为二次Bezier曲线,此时曲线,此时P(t)为二次多项式,有为二次多项式,有三个控制点,则三个控制点,则1,0)(2)2()1(2)1()()(001201222102202,tPtPPtPPPPtPttPttBPtPiii 0002221)(0102102PPPPPPtttP5.2 Bezier、B样条曲线

    30、的生成样条曲线的生成 1,000102212110002221)(21020102102 tPPPttPPPPPPtttPv3)三次)三次Bezier曲线曲线v当当n=3时为三次时为三次Bezier曲线,此时曲线,此时P(t)为三次多项式,有为三次多项式,有四个控制点,由于三次四个控制点,由于三次Bezier曲线是用曲线是用3根折线定义的根折线定义的3阶阶曲线,则有:曲线,则有:5.2 Bezier、B样条曲线的生成样条曲线的生成1,0)1(3)1(3)1()()(33221203303,tPtPttPttPttBPtPiii010221033210)33()363()33()(PtPPtPP

    31、PtPPPPtP 用矩阵表示为:用矩阵表示为:1,000010033036313311)(321023 tPPPPttttP5.2 Bezier、B样条曲线的生成样条曲线的生成v在上式中,可以看出:在上式中,可以看出:1,0)1(3)1(3)1()()(33221203303,tPtPttPttPttBPtPiii24)1(3)1(3)1(33,323,223,133,0 tBttBttBtB 4-2式称为三次式称为三次Bezier曲线的调和函数,构成如下图所示曲线的调和函数,构成如下图所示的的4条曲线。条曲线。iiiittCtB 333,)1()(5.2 Bezier、B样条曲线的生成样条曲

    32、线的生成 这这4条曲线均为三次曲线,形成条曲线均为三次曲线,形成Bezier曲线的一组基。曲线的一组基。任任何三次何三次Bezier曲线都是这曲线都是这4条曲线的线性组合条曲线的线性组合。3,0B3,3B3,1B3,2B0 xy11t3,iB30,B31,B32,B33,B5.2 Bezier、B样条曲线的生成样条曲线的生成例如:例如:10次次Bezier曲线的调和函数如下,构成如下图所示的曲线的调和函数如下,构成如下图所示的11条曲线。条曲线。)10,1,0()1()(1010,ittCtBiiini5.2 Bezier、B样条曲线的生成样条曲线的生成v一般的,对于一般的,对于n次次Bezi

    33、er曲线,用矩阵形式可表示为:曲线,用矩阵形式可表示为:nnnnnnPPPPTttttP110)1()1(11)(其中其中T为为(n+1)X(n+1)的方阵,第的方阵,第i列的各元素为基函数列的各元素为基函数 中按中按t的降幂排列时的各个系数。的降幂排列时的各个系数。)(,1tBni 5.2 Bezier、B样条曲线的生成样条曲线的生成v解:解:vStep1:由公式由公式 计算对应不计算对应不同同 t 值下值下 的值,如下表所示。的值,如下表所示。例例1 1:假定:假定:是一个是一个BezierBezier曲线特征多边形顶点的位置,画出三次曲线特征多边形顶点的位置,画出三次BezierBezi

    34、er曲线。曲线。(5)Bezier曲线计算举例曲线计算举例 1,3,3,4,3,2,1,13210PPPP 33,323,223,133,0)1(3)1(3)1(tBttBttBtB)(3,tBi5.2 Bezier、B样条曲线的生成样条曲线的生成vStep2:求出不同求出不同t值下值下P(t)的值:的值:33221203303,)1(3)1(3)1()()(PtPttPttPttBPtPiii 00.00340.0430.1250.2750.614100.05740.2390.3750.4440.325000.3250.4440.3750.2390.574010.6140.2750.1250

    35、.0430.0034000.150.350.50.650.851 t不同不同 t 值下值下 的值的值)(3,tBi)(3,0tB)(3,1tB)(3,2tB)(3,3tB5.2 Bezier、B样条曲线的生成样条曲线的生成v根据以上这些点坐标就可画出三次根据以上这些点坐标就可画出三次Bezier曲线,具体图形曲线,具体图形如下图所示。如下图所示。v注:上述注:上述 的取值和个数都不唯一。的取值和个数都不唯一。1,3)1(75.1,248.3614.0325.0574.0003.0)85.0(36.2,122.3275.0444.0239.0043.0)65.0(5.2,75.2125.0375

    36、.0375.0125.0)5.0(367.2,248.2043.0239.0444.0275.0)35.0(765.1,5.1 0034.00574.0325.0614.0)15.0(1,1)0(3321032103210321032100 PPPPPPPPPPPPPPPPPPPPPPPPPPPPP1,3,3,4,3,2,1,13210PPPP注:注:1,0 t5.2 Bezier、B样条曲线的生成样条曲线的生成1P0P2P3P0XY1123234图图 三次三次Bezier曲线曲线注:根据曲线方程画出曲线一注:根据曲线方程画出曲线一般是般是先计算出曲线上一系列的先计算出曲线上一系列的点或适当靠

    37、近的点,然后依次点或适当靠近的点,然后依次将这些点用直线连起来,得到将这些点用直线连起来,得到一条由折线表示的近似曲线。一条由折线表示的近似曲线。只要这些点靠得足够近和足够只要这些点靠得足够近和足够密,看起来就是一条足够光滑密,看起来就是一条足够光滑的曲线的曲线。5.2 Bezier、B样条曲线的生成样条曲线的生成2.参考程序为:参考程序为:1,0)1(3)1(3)1()()(33221203303,tPtPttPttPttBPtPiii 3322120333221203)1(3)1(3)1()1(3)1(3)1(ytyttyttytyxtxttxttxtx例例2 2:上机编程绘制一三次:上机

    38、编程绘制一三次BezierBezier曲线段曲线段.1.为了编程绘制为了编程绘制Bezier曲线段,将其矢量形式曲线段,将其矢量形式变成分量形式:变成分量形式:5.2 Bezier、B样条曲线的生成样条曲线的生成BezierCurve()int x,y,n;float i,dt,t;char msg80;typedef struct Vpoints float x;float y;VERpoints;VERpoints Vertex4=50,50,150,150,300,130,350,50;float n;5.2 Bezier、B样条曲线的生成样条曲线的生成 dt=1/(float)n;fo

    39、r(i=0;i=n;i+)t=i*dt;x=Vertex0.x*(1-t)*(1-t)*(1-t)+Vertex1.x*3*t*(1-t)*(1-t)+Vertex2.x*3*t*t*(1-t)+Vertex3.x*t*t*t;y=Vertex0.y*(1-t)*(1-t)*(1-t)+Vertex1.y*3*t*(1-t)*(1-t)+Vertex2.y*3*t*t*(1-t)+Vertex3.y*t*t*t;if(i=0)moveto(x,y);lineto(x,y);5.2 Bezier、B样条曲线的生成样条曲线的生成 line(Vertex0.x,Vertex0.y,Vertex1.x

    40、,Vertex1.y);line(Vertex1.x,Vertex1.y,Vertex2.x,Vertex2.y);line(Vertex2.x,Vertex2.y,Vertex3.x,Vertex3.y);sprintf(msg,%s%d%s%d,%d%s,P,0,(,50,50,);outtextxy(x0,y0,msg);sprintf(msg,%s%d%s%d,%d%s,P,1,(,150,150,);outtextxy(x1,y1,msg);sprintf(msg,%s%d%s%d,%d%s,P,2,(,300,130,);outtextxy(x2,y2,msg);sprintf(m

    41、sg,%s%d%s%d,%d%s,P,3,(,350,50,);outtextxy(x3,y3,msg);5.2 Bezier、B样条曲线的生成样条曲线的生成3.运行结果:绘制一三次运行结果:绘制一三次Bezier曲线段如下图所曲线段如下图所示。示。图图 三次三次Bezier曲线曲线5.2 Bezier、B样条曲线的生成样条曲线的生成v根据公式根据公式(6)绘制绘制Bezier曲线及生成程序曲线及生成程序 141,0)()(0,ttBPtPninii),1,0()1()(,nittCtBiniinni 1!0,10)!(!0 ininCin其中:其中:v我们就可以绘制我们就可以绘制Bezier

    42、曲线,但是为了得到满意的效果,曲线,但是为了得到满意的效果,要反复调整,修改控制点。一般过程先按设计要求用手勾要反复调整,修改控制点。一般过程先按设计要求用手勾画出一条曲线的草图,然后选定曲线上的几个控制点,绘画出一条曲线的草图,然后选定曲线上的几个控制点,绘制制Bezier曲线。曲线。5.2 Bezier、B样条曲线的生成样条曲线的生成v看是否相符合,再调整控制点,修改与手工所作的曲线差看是否相符合,再调整控制点,修改与手工所作的曲线差异,再按修改后的控制点画异,再按修改后的控制点画Bezier曲线,反复进行,有时曲线,反复进行,有时还需要增加控制点,直到符合要求为止。上述过程再计算还需要增

    43、加控制点,直到符合要求为止。上述过程再计算机上进行交互式的绘图很方便。如图机上进行交互式的绘图很方便。如图(a)、(b)、(c)、(d)所所示:示:图图-4.13(a)P0P6P4P4P0P6图图-4.13(b)5.2 Bezier、B样条曲线的生成样条曲线的生成生成Bezier曲线程序曲线程序本程序可用来绘制任意个控制点的本程序可用来绘制任意个控制点的Bezier曲线,当用曲线,当用户输入控制点的坐标位置后,屏幕显示特征多边形,并户输入控制点的坐标位置后,屏幕显示特征多边形,并生成逼近它的生成逼近它的Bezier曲线。如果用户要进行修改,曲线。如果用户要进行修改,P0P0P6P6P4P4图图

    44、-4.13(c)图图-4.13(d)5.2 Bezier、B样条曲线的生成样条曲线的生成v则输入修改顶点序号和新的坐标位置,程序按修改后的则输入修改顶点序号和新的坐标位置,程序按修改后的控制点绘制控制点绘制Bezier曲线。用户可反复调整、修改直到满曲线。用户可反复调整、修改直到满意。运行效果如下图所示:意。运行效果如下图所示:图图-4.14 生成生成4次次Bezier曲线曲线5.2 Bezier、B样条曲线的生成样条曲线的生成(7)Bezier曲线的光滑连接曲线的光滑连接 v 在几何设计中,一条在几何设计中,一条Bezier曲线往往难以描述复杂的曲线曲线往往难以描述复杂的曲线形状。这是由于增

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

    46、曲线分别为曲线分别为n次次P(t)和和m次次Q(t)。相应控制点。相应控制点为为Pi(i=0,1,.,n)和和Qi(i=0,1,.,m),它们在接点处为,它们在接点处为Pn=Q0,且,且令令 如下图所示。如下图所示。11,iiiiiiQQbPPa5.2 Bezier、B样条曲线的生成样条曲线的生成v由由Bezier曲线性质曲线性质 v可得可得:1 nP2 nP0QPn)(tP)(MQ1 nana1b2b1Q2Q图图 Bezier曲线的光滑连接曲线的光滑连接0101)0(),()0(QQmQQQnQ 且且11)1(),()1(nnnnPPnPPPnP且且1)0()1(mbQnaPn 11 iii

    47、iiiQQbPPa5.2 Bezier、B样条曲线的生成样条曲线的生成n要保证曲线在连接点处的一阶导数连续,即要保证曲线在连接点处的一阶导数连续,即n则由则由)0()1(QP )0()1()0()1(1QPmbQnaPn 1mbnan)(1mnaamnbnn 三点共线。三点共线。即即101),(,QQPPnn 如图是三次如图是三次Bezier曲线的连接曲线的连接.其中一条曲线由顶点其中一条曲线由顶点P1、P2、P3、P4控制控制,另一条曲线由顶点另一条曲线由顶点P4、P5、P6、P7控制控制,P4是是两条曲线的公共顶点。两条曲线的公共顶点。5.2 Bezier、B样条曲线的生成样条曲线的生成v

    48、当当P3、P4、P5三个顶点共线时,这两条三次三个顶点共线时,这两条三次Bezier曲线曲线就在顶点就在顶点P4处互相切连接,在切点处具有一阶导数连续性,处互相切连接,在切点处具有一阶导数连续性,而而P3、P4、P5是它们的公切线是它们的公切线 级连续(斜率连续)级连续(斜率连续)1C 级连续(位置连续)级连续(位置连续)0CPn=Q0)0()1(0QPQPn 且且条件条件条件条件1P2P3P4P5P6P7P图图-4.16 三次三次Bezier曲线连接曲线连接5.2 Bezier、B样条曲线的生成样条曲线的生成v 计算计算Bezier曲线上的点,可用曲线上的点,可用Bezier曲线方程,但使用

    49、曲线方程,但使用de Casteljau提出的递推算法则要简单得多。提出的递推算法则要简单得多。v 如图所示,设如图所示,设P0、P02、P2 是一条抛物线上顺序三个不是一条抛物线上顺序三个不同的点。过同的点。过P0和和P2点的两切线交于点的两切线交于P1点,在点点,在点P02的切线交的切线交P0P1和和P2P1于于P01和和P11,则如下比例成立:,则如下比例成立:(8)Bezier曲线的递推曲线的递推(de Casteljau)算法算法 11202010211111110100pppppppppppp 图抛物线三切线定理图抛物线三切线定理这是所谓抛物线的三切这是所谓抛物线的三切线定理。线定

    50、理。5.2 Bezier、B样条曲线的生成样条曲线的生成v当当P0,P2固定,引入参数固定,引入参数t,令上述比值为,令上述比值为t:(1-t),即有:,即有:图图 抛物线三切线定理抛物线三切线定理11202010211111110100pppppppppppp 11102021111010)1()1()1(tPPtPtPPtPtPPtP 例如:例如:1010110100110100110100)1()()1)(11tPPtPtPPtPPttPPPPttPPPP 5.2 Bezier、B样条曲线的生成样条曲线的生成 当当t从从0变到变到1,第(,第(1)、()、(2)式就分别表示控制二边形的第

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Bezier曲线B样条曲线课件.ppt
    链接地址:https://www.163wenku.com/p-4687820.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库