您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 建筑制度 > 第20讲_bezier曲线
第20讲Bezier曲线济南大学信息学院回顾-曲线的表示形式曲线的表示形式非参数表示显式表示隐式表示)(xfy0),(yxf回顾-曲线的表示形式],[))(),((),()(battytxyxtpabatt]1,0[)(ttpp参数曲线的矢量表示形式参数曲线的规范化表示形式区间[a,b]规范化为[0,1]],[)()(battyytxx参数表示回顾-连续性条件参数连续性称曲线P=P(t)在处n阶参数连续,如果它在处n阶左右导数存在,并且满足记号0tt0tnkdttPddttPdttkkttkk,1,0,)()(00nC传统的、严格的连续性回顾-连续性条件几何连续性只需限定两个曲线段在交点处的参数导数成比例,而不必完全相等记号直观的、易于交互控制的连续性nG内容提要Bezier曲线的提出Bezier曲线的应用Bezier曲线的定义Bernstein基函数的性质Bezier曲线的性质Bezier曲线生成总结Bezier曲线优点和缺点Bezier曲线提出提出:Bezier在1962年提出优点:输入的控制点与生成曲线之间的关系明确;能方便地改变曲线的形状和阶次。计算机辅助设计与制造(CAD/CAM)飞机、汽车、船舶外形的设计CATIA-波音宝马奔驰克莱斯勒水泵叶轮和齿轮等机械零件的设计Bezier曲线应用Bezier曲线应用桥梁建筑物以及日用品的设计•曲线字形轮廓描述•地图图形管理系统•真实感图形的绘制Bezier曲线应用还有那些应用?Bezier曲线的定义]1,0[)()(0,ttBPtCnknkknktttknknttCtBknkknkknnk,,1,0]1,0[)1()!(!!)1()(,控制点阶数Bernstein基函数参数Bezier曲线是参数多项式曲线,它由一组控制多边形的顶点唯一的确定。控制多边形各顶点,只有第一个和最后一个在曲线上其它顶点,用于控制曲线的阶次和形状。改变顶点的位置就会改变曲线的形状(便于修改)增加顶点,则增加了曲线段的阶次(灵活)Bezier曲线的定义控制点对曲线形状的修改Bezier曲线是面向几何的,充分发挥人的主观能动性和创造性,通过直观交互使人对设计对象的控制达到直接的几何化程度。Bezier曲线的定义控制点对曲线阶次的修改Bezier曲线的定义一次Bezier曲线101,111,00101,)1()()()()(tPPttBPtBPtBPtPkkk二次Bezier曲线[0,1]t0010221211)()()()()(21022,222,112,00202,PPPtttBPtBPtBPtBPtPikkBezier曲线的定义三次Bezier曲线P(t)=B0,3(t)P0+B1,3(t)P1+B2,3(t)P2﹢B3,3(t)P3其中B0,3(t)﹦(1-t)3B1,3(t)﹦3t(1-t)2B2,3(t)﹦3t2(1-t)B3,3(t)﹦t332102300010033036313311ttPPPPttPBezier曲线的定义Bernstein基函数的性质(一)•非负性nktttknknttCtBknkknkknnk,,1,0]1,0[)1()!(!!)1()(,其它001)0(,kBnk其它01)1(,nkBnk0!=1,00=1。•端点的性质Bernstein基函数的性质(二)]1,0[)1()!(!!)1()(,tttknknttCtBknkknkknnk))((,)1()1(knnknknnnknttCtB•对称性)1()(,,tBtBnknnkkknttknnknn)1())!(()!(!kknttkknn)1(!)!(!推导:t01-t0Bernstein基函数的性质(三))()()1()(1,11,,ttBtBttBnknknk]1,0[,1)(0,ttBnknknknkknkknnkttCtB00,)1()(•权性•递推性knkknnkttCtB)1()(,)()()1(1,11,ttBtBtnknkknkknknttCC)1()(11111)1()1(knkknttCtknkkntttC)1(111ntt)]1([1t0Bernstein基函数的性质(四)))1)(()!(!!)1()!(!!)(11,kknknknkttknknknttkknkntB)1()1(1)1())!1()1(()!1()!1(knkttknknn))()((1,1,1tBtBnnknk•导函数knkttknknn)1()1()!)1((!)!1(]1,0[)1()!(!!)1()(,tttknknttCtBknkknkknnk))()(()(1,1,1,tBtBntBnknknkBezier曲线的性质(一)nnnnnPPBPBC)1()1()1(,0,0端点性质曲线的起点和终点同控制多边形的起点和终点重合当t﹦1时,对Bernstein多项式只有k﹦n的项为1,其它项均为0,将t=0代入Bezier曲线表达式:01,10,0)0()0()0(PPBPBCnnBezier曲线的性质(二)]1,0[)()(0,ttBPtCnknkk))()(()(1,1,1,tBtBntBnknknknknknkktBtBPntC01,1,1))()(()('Bezier曲线中对t求一阶导数:一阶导数))()()()()()((1,1,11,111,011,001,10tBPtBPtBPtBPtBPtBPnnnnnnnnnnn))()()()()()((1,111,1121,001tBPPtBPPtBPPnnnnnnnnknkkktBPPn11,11)()(Bezier曲线的性质(二)nknkkktBPPntC11,11)()()(在起始点t﹦0,B0,n-1(0)﹦1,其余项均为0,故有:C′(0)﹦n(P1﹣P0)在终止点t﹦1,Bn-1,n-1(1)﹦1,其余项均为0,故有:C′(1)=n(Pn﹣Pn-1)即Bezier曲线在端点处的一阶导数只同相近的两个控制点有关,其方向相同于两点的连线方向。))()()()()()((1,111,1121,001tBPPtBPPtBPPnnnnnnnBezier曲线中对参数t求二阶导数可得:Bezier曲线的性质(三)nknkkkktBPPPnntC01,12)()2()1()(''在起始点t﹦0处的二阶导数为:C〞(0)﹦n(n﹣1)(P2﹣2P1﹢P0)在终止点t﹦1处的二阶导数为:C〞(1)﹦n(n﹣1)(Pn﹣2Pn-1﹢Pn-2)即Bezier曲线在端点处的二阶导数只同相近的三个控制点有关。二阶导数Bezier曲线的性质(四)凸包性Bezier曲线各点均落在控制多边形各顶点构成的凸包之中,这里凸包是指包含所有顶点的最小凸多边形。当特征多边形为凸时,Bezier曲线也是凸的;当特征多边形有凹有凸时,其曲线的凸凹形状与之对应。Bezier曲线的凸包性质保证了多项式曲线随控制点平稳前进而不会振荡。变差缩减性如果Bezier曲线的控制多边形是一平面图形,则该平面内的任意直线和Bezier曲线的交点个数不多于该直线与控制多边形的交点个数。Bezier曲线生成如何绘制一段Bezier曲线?1确定曲线的阶次2计算Bernstein基函数的表达式nktttknknttCtBknkknkknnk,,1,0]1,0[)1()!(!!)1()(,B0,3(t)﹦(1-t)3;B1,3(t)﹦3t(1-t)2;B2,3(t)﹦3t2(1-t);B3,3(t)﹦t33把Bezier曲线中的Pk写成分量坐标的形式4确定一合适的步长;控制t从0到1变化,求出一系列(x,y)坐标点;将其用小线段顺序连接起来。Bezier曲线生成算法描述:对于二维平面的情况,只有x,y坐标分量,可以给出四点三次Bezier曲线如下的算法描述:输入:阶次,3;控制顶点:4个,(x0,y0),…,(x3,y3)beginx=x0y=y0moveto(x,y)fort﹦0to1steptx﹦B0,3(t)x0﹢B1,3(t)x1﹢B2,3(t)x2﹢B3,3(t)x3y﹦B0,3(t)y0﹢B1,3(t)y1﹢B2,3(t)y2﹢B3,3(t)y3lineto(x,y)endforend为什么呢?三次Bezier曲线例子:设在平面上给定的7个控制点坐标分别为:A(100,300),B(120,200),C(220,200),D(270,100),E(370,100),F(420,200),G(420,300)。画出其曲线。Bezier曲线生成Bezier曲线生成德卡斯特里奥算法11202010211111110100PPPPPPPPPPPP11102021111010)1()1()1(tPPtPtPPtPtPPtPtt12210220)1(2)1(PtPttPtP当t从0变到1时,它表示了由三顶点P0、P1、P2三点定义的一条二次Bezier曲线。并且表明:这二次Bezier曲线P02可以定义为分别由前两个顶点(P0,P1)和后两个顶点(P1,P2)决定的一次Bezier曲线的线性组合。依次类推,由四个控制点定义的三次Bezier曲线P03可被定义为分别由(P0,P1,P2)和(P1,P2,P3)确定的二条二次Bezier曲线的线性组合;由(n+1)个控制点Pi(i=0,1,...,n)定义的n次Bezier曲线P0n可被定义为分别由前、后n个控制点定义的两条(n-1)次Bezier曲线P0n-1与P1n-1的线性组合:由此得到Bezier曲线的递推计算公式Bezier曲线生成]1,0[)1(11100ttPPtPnnnk,n,,i,n;,,kPt)P(kPPkikiiki102110111Bezier曲线的光滑连接例子:设有两段三次Bezier曲线,其中一段曲线由控制点P0、P1、P2、P3生成,另一条曲线由控制点Q0、Q1、Q2、Q3生成,P3(Q0)是两段曲线的公共控制点。如果两段曲线要达到光滑连接,需要一阶参数连续,甚至二阶参数连续。对于一阶导数连续,第一段曲线终点处的导数为:P’(1)﹦3(P3﹣P2)第二段曲线起点处的导数为:Q’(0)﹦3(Q1﹣Q0)P3﹣P2﹦Q1﹣Q0Bezier曲线生成两段Bezier曲线光滑连接的示意图二阶导数连续第一段曲线终点处的二阶导数为:P”(1)﹦6(P3﹣2P2﹢P1)第二段曲线起点处的二阶导数为:Q”(0)﹦6(Q2﹣2Q1﹢Q0)要达到二阶导数连续P3﹣2P2﹢P1﹦Q2﹣2Q1﹢Q0整理后可得:Q2-P1﹦2(Q1-P2)Bezier曲线生成总结是一种以逼近方法为基础的参数曲线方法设计者能够方便地通过控制、修改多边形顶点的位置和个数,来改变曲线的形状和阶次可以从多边形的形状来预测将要产生的曲线形状当控制点数较大时,特征多边形对曲线控制减弱光滑连接所需要的条件要求比较高抓紧时间复习备考
本文标题:第20讲_bezier曲线
链接地址:https://www.777doc.com/doc-2154542 .html