ImageVerifierCode 换一换
格式:PPT , 页数:87 ,大小:827KB ,
资源ID:1135540      下载积分:10 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-1135540.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机辅助设计5.ppt)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

计算机辅助设计5.ppt

1、第第5章章 计算机辅助几何设计计算机辅助几何设计 5.15.1 自由曲线自由曲线自由曲线自由曲线5.2 5.2 自由曲面自由曲面自由曲面自由曲面CAD中由已知曲线或曲面的数学方程生成的曲线中由已知曲线或曲面的数学方程生成的曲线曲面称为曲面称为规则曲线曲面,规则曲线曲面,常用隐函数或二次方程常用隐函数或二次方程的显函数表示。但在汽车、轮船、飞机、模具、的显函数表示。但在汽车、轮船、飞机、模具、艺术品等产品设计中,存在大量的不能用二次曲艺术品等产品设计中,存在大量的不能用二次曲面描述的曲线曲面,这类曲线曲面称为面描述的曲线曲面,这类曲线曲面称为自由曲线自由曲线(Free Form Curves)和

2、和自由曲面自由曲面(Free Form Surfaces),),这是计算机辅助几何设计研究的主要这是计算机辅助几何设计研究的主要几何形状。几何形状。计算机如何描述曲面,曲线几何信息,如何生成,如何控制,如何处理?5.1 自由曲线自由曲线5.1.1 曲线曲面描述的基本原理曲线曲面描述的基本原理5.1.2 Hermite曲线曲线5.1.3 Bezier曲线曲线5.1.4 B样条曲线样条曲线5.1.5 非均匀有理非均匀有理B样条(样条(NURBS)曲线曲线5.1.1 曲线曲面描述的基本原理曲线曲面描述的基本原理 自由曲线可以是由一系列的自由曲线可以是由一系列的小曲线段连接而成小曲线段连接而成,自,自

3、由曲面可以是由无数个由曲面可以是由无数个小的曲面片拼合而成小的曲面片拼合而成。因此,曲。因此,曲线曲面的研究重点是线曲面的研究重点是曲线段或曲面片的描述及其连接拼曲线段或曲面片的描述及其连接拼合方法。合方法。1.几何设计的基本概念几何设计的基本概念在在自由曲线和曲面描述中常用三种类型的点:自由曲线和曲面描述中常用三种类型的点:(1)特征点特征点(控制顶点):用来确定曲线曲面的(控制顶点):用来确定曲线曲面的形状位置,但曲线或曲面不一定经过该点。形状位置,但曲线或曲面不一定经过该点。(2)型值点型值点:用于确定曲线或曲面的位置与形状:用于确定曲线或曲面的位置与形状并且经过该点。并且经过该点。(3

4、)插值点:插值点:为了提高曲线曲面的精度,在型值为了提高曲线曲面的精度,在型值点之间插入的一系列点点之间插入的一系列点 在曲线曲面设计中,通常是用一组离散的型值点或特在曲线曲面设计中,通常是用一组离散的型值点或特征点来定义和构造几何形状,并且所构造的曲线曲面应满征点来定义和构造几何形状,并且所构造的曲线曲面应满足光顺的要求。这种曲线曲面定义的主要方法是插值,逼足光顺的要求。这种曲线曲面定义的主要方法是插值,逼近或拟合。近或拟合。(1)插值插值:给定一组精确的数值点,要求构造一个函数,使之严:给定一组精确的数值点,要求构造一个函数,使之严格地依次通过全部型值点,且满足光顺的要求。格地依次通过全部

5、型值点,且满足光顺的要求。(2)拟合拟合:对于一组有误差的数据点,构造一个函数,使之在整:对于一组有误差的数据点,构造一个函数,使之在整体上接近全部数据点而不必通过全部数据点,使所构造的函数与数据体上接近全部数据点而不必通过全部数据点,使所构造的函数与数据点误差在某种意义上最小。点误差在某种意义上最小。(3)逼近逼近:对于一组给定的控制顶点,要求构造一个函数,使之:对于一组给定的控制顶点,要求构造一个函数,使之在整体上最接近这些控制点而不一定通过这些点。在整体上最接近这些控制点而不一定通过这些点。(4)光滑光滑(smooth):从数学意义上讲,光滑是指曲线或曲面具有从数学意义上讲,光滑是指曲线

6、或曲面具有至少一阶连续导数。至少一阶连续导数。(5)光顺光顺(fair):至今仍是一个模糊的概念,尚无统一的标准。至今仍是一个模糊的概念,尚无统一的标准。一方面有主观的因素,另一方面与应用背景相关。但仍有一些客观标一方面有主观的因素,另一方面与应用背景相关。但仍有一些客观标准及处理方法。(准及处理方法。(二阶连续导数)二阶连续导数)曲线曲面可以用隐函数、显函数或参数方程表示。用隐函曲线曲面可以用隐函数、显函数或参数方程表示。用隐函数表示不直观,作图不方便(如数表示不直观,作图不方便(如ax+by+c=0,f(x,y,z)=0);用用显函数表示存在多值性(如显函数表示存在多值性(如y=f(x),

7、y2=x2+r2 )和斜率无穷大)和斜率无穷大(如(如y=mx+b)等问题等问题。此外,隐函数和显函数只适合表达简此外,隐函数和显函数只适合表达简单、规则的曲线曲面。单、规则的曲线曲面。自由曲线曲面多用参数方程表示,相应地称为参数曲线或自由曲线曲面多用参数方程表示,相应地称为参数曲线或参数曲面。参数曲面。空间的一条曲线可以表示成随参数空间的一条曲线可以表示成随参数t变化的运动点的轨迹,其变化的运动点的轨迹,其矢量函数为:矢量函数为:P(t)=P(x(t),y(t),z(t),t 的范围是的范围是 0,1(规范化)规范化)同理,空间中的一张曲面可用参数同理,空间中的一张曲面可用参数(u,v)表示

8、为:表示为:P(u,v)=P(x(u,v),y(u,v),z(u,v),(u,v)的范围是的范围是 0,10,12.曲线曲面的数学描述方法曲线曲面的数学描述方法xyzY(t)P(t)Z(t)参数曲线基础参数曲线基础n n切矢量切矢量坐标变量关于参数的变化率坐标变量关于参数的变化率坐标变量关于参数的变化率坐标变量关于参数的变化率 切矢量表示当参数切矢量表示当参数t t递增了一个单位时三递增了一个单位时三个坐标变量的变化量。定义曲线在个坐标变量的变化量。定义曲线在t t处的切处的切矢量为:矢量为:P0p1pn弧长T=dP/ds=limP/s (s-0)(ds)2=(dx)2+(dy)2+(dz)2

9、引入参数t,上式可改写为:考虑到矢量的模非负,所以:故弧长s是t的单调增函数,其反函数t(s)存在,且一一对应,得 P(t)=P(t(s)=P(s)于是:即T是单位切矢量。n n也就是说,以弧长为参数时,曲线的切矢量为单位矢量,记为T(s)。n n从弧长的定义可见,它既与参数t的选取无关,也与坐标系无关,从而以弧长为参数来表示曲线易于讨论曲线本身固有的性质。法平面密切平面从切面tnbP曲线特性分析曲率矢量切矢t t(s)对弧长 s求导所得的导矢dt t(s)/ds单位主法矢曲率矢量单位矢量,记为n n(s)曲率:曲率矢量的模长,记为k(s)曲率半径:曲率的倒数副法矢:与t和n相互垂直的单位矢量

10、称为,记为b(s)密切平面:由t和n张成的平面;从切面:由n和b张成的平面法平面:由t和b张成的平面给定参数曲线给定参数曲线 P P P P(t t),),t t 0,10,1n n 若若 P P (t t0 0)0 0 ,则称则称 t t t t0 0 的对应点的对应点P(P(t t0 0)为为该曲线的一个该曲线的一个奇(异)点奇(异)点奇(异)点奇(异)点;n n 若若 P P (t t0 0)0 0 ,则称则称 t t t t0 0 的对应点的对应点 P(P(t t0 0)为为 该曲线该曲线 的一个的一个正则点正则点正则点正则点n n 若若 P P 之上点点正则,则称之上点点正则,则称

11、C C 为为正则曲线正则曲线正则曲线正则曲线,并称,并称参数参数 t t 为为正则参数正则参数正则参数正则参数 若视参数曲线为动点轨迹,若视参数曲线为动点轨迹,正则点的几何意义正则点的几何意义正则点的几何意义正则点的几何意义则是则是当参数在该点处作微小变动时动点的位置同时作真正当参数在该点处作微小变动时动点的位置同时作真正当参数在该点处作微小变动时动点的位置同时作真正当参数在该点处作微小变动时动点的位置同时作真正的变动的变动的变动的变动正则点和正则曲线正则点和正则曲线例例例例1 1若参数曲线若参数曲线 C C:r r r r(t t)a a,t t RR ,则其几何图形则其几何图形 仅仅表示一

12、点,而不是正常的曲线;仅仅表示一点,而不是正常的曲线;此时所有的参数值对应于图形实体的同一点此时所有的参数值对应于图形实体的同一点 这是非正则曲线的极端例子这是非正则曲线的极端例子例例例例2 2圆柱螺线圆柱螺线视为动点的轨迹,通常参数化为视为动点的轨迹,通常参数化为r r(t t)(a a cos(cos(w w t t),),a a sin(sin(w w t t),),v v t t),),t t RR ,其其中中三三个个常常数数 a a 0 0,w w 0 0 和和 v v 0 0 分分别别为为动动点点运运动动的的圆周半径、角速率和向上速率此时圆周半径、角速率和向上速率此时r r (t

13、t)(a aw w sin(sin(w wt t),),a aw w cos(cos(w wt t),),v v)0 0 ,说明该参数化使之成为正则曲线说明该参数化使之成为正则曲线n n参数连续性参数连续性传统的、严格的连续性传统的、严格的连续性传统的、严格的连续性传统的、严格的连续性称曲线称曲线称曲线称曲线P=P(t)P=P(t)在在在在 处处处处n n阶参数连续,如阶参数连续,如阶参数连续,如阶参数连续,如果它在果它在果它在果它在 处处处处n n阶左右导数存在,并且满足阶左右导数存在,并且满足阶左右导数存在,并且满足阶左右导数存在,并且满足记号记号记号记号n n几何连续性几何连续性直观的、

14、易于交互控制的连续性直观的、易于交互控制的连续性直观的、易于交互控制的连续性直观的、易于交互控制的连续性0 0阶几何连续阶几何连续阶几何连续阶几何连续n n称曲线称曲线称曲线称曲线P=P(t)P=P(t)在在在在 处处处处0 0阶几何连续,如果阶几何连续,如果阶几何连续,如果阶几何连续,如果它在它在它在它在 处位置连续,即处位置连续,即处位置连续,即处位置连续,即n n记为记为记为记为1 1阶几何连续阶几何连续阶几何连续阶几何连续n n称曲线称曲线称曲线称曲线P=P(t)P=P(t)在在在在 处处处处1 1阶几何连续,如果阶几何连续,如果阶几何连续,如果阶几何连续,如果它它它它 ,并且切矢量方

15、向连续并且切矢量方向连续并且切矢量方向连续并且切矢量方向连续n n记为记为记为记为2阶几何连续阶几何连续称曲线称曲线P=P(t)在在 处处2阶几何连阶几何连续,如果它在续,如果它在 处处(1)(2)副法矢量方向连续)副法矢量方向连续(3)曲率连续)曲率连续几何连续与参数连续的关系几何连续与参数连续的关系几何连续与参数连续的关系几何连续与参数连续的关系用参数表示曲线曲面的优点:用参数表示曲线曲面的优点:(1)具有几何不变性。某些几何性质不随一定的坐标变换而)具有几何不变性。某些几何性质不随一定的坐标变换而变化的性质称为几何不变性。曲线形状本质上与坐标系的变化的性质称为几何不变性。曲线形状本质上与

16、坐标系的选取无关。选取无关。(2)可以处理无穷大的斜率。)可以处理无穷大的斜率。dy/dx=(dy/dt)/(dx/dt)当当dy/dx 无穷大时,可以处理分别处理无穷大时,可以处理分别处理dx/dt=0 dy/dt,不会中断计,不会中断计算。算。(3)参数方程将自变量和因变量完全分开,使得参数变化对参数方程将自变量和因变量完全分开,使得参数变化对各因变量的影响可以明显地表示出来。各因变量的影响可以明显地表示出来。(4)可以处理多值曲线。)可以处理多值曲线。(5)规格化参数变量,使其相应的几何分量是有界的。)规格化参数变量,使其相应的几何分量是有界的。由于由于参数限制在参数限制在0到到1的闭区

17、间之内,因而所表示的曲线总是有的闭区间之内,因而所表示的曲线总是有界的,不需另设其他数据来定义其边界。界的,不需另设其他数据来定义其边界。(6)对曲线曲面形状控制的自由度更大。如一条二维三次曲)对曲线曲面形状控制的自由度更大。如一条二维三次曲线的显式表示为:线的显式表示为:(7)易于用矢量和矩阵表示几何量,从而简化了计算。易于用矢量和矩阵表示几何量,从而简化了计算。其中只有其中只有4个系数可控制曲线的形状,而对于其参数表示个系数可控制曲线的形状,而对于其参数表示为:为:其中有其中有8个系数可用来控制曲线的形状。个系数可用来控制曲线的形状。n n矢量表示形式矢量表示形式加权和形式加权和形式加权和

18、形式加权和形式缺点缺点缺点缺点n n 没有明显的几何意义没有明显的几何意义没有明显的几何意义没有明显的几何意义n n 与曲线的关系不明确,导致曲线的形状控制困难与曲线的关系不明确,导致曲线的形状控制困难与曲线的关系不明确,导致曲线的形状控制困难与曲线的关系不明确,导致曲线的形状控制困难多项式参数曲线的两种表达方式(1/3)n n矩阵表示矩阵表示矩阵分解,使矩阵分解,使矩阵分解,使矩阵分解,使GG中的各矢量具有几何意义中的各矢量具有几何意义中的各矢量具有几何意义中的各矢量具有几何意义几何矩阵几何矩阵几何矩阵几何矩阵控制顶点控制顶点控制顶点控制顶点基矩阵基矩阵基矩阵基矩阵M M (n+1)(n+1

19、)(n+1)(n+1)的矩阵的矩阵的矩阵的矩阵n n 确定了一组基函数确定了一组基函数确定了一组基函数确定了一组基函数2/3例子例子例子例子直线段的矩阵表示直线段的矩阵表示直线段的矩阵表示直线段的矩阵表示P0P1P0+P15.1.2 Hermite曲线曲线Hermite曲线是给定曲线段的两个端点坐标以曲线是给定曲线段的两个端点坐标以及两端点处的切线矢量来描述曲线。空间一及两端点处的切线矢量来描述曲线。空间一条三次参数曲线可以表示为:条三次参数曲线可以表示为:该曲线的矢量表达式为:该曲线的矢量表达式为:应用端点应用端点P0P0和和P1P1,以及端点切矢以及端点切矢P0P0和和P1,P1,可得:可

20、得:矩阵表达式为矩阵表达式为:于是,于是,或可以表示为n n形状控制形状控制改变端点位置矢量改变端点位置矢量改变端点位置矢量改变端点位置矢量调节切矢量调节切矢量调节切矢量调节切矢量 的方向的方向的方向的方向Hermit 曲线的控制 调节切矢量调节切矢量调节切矢量调节切矢量 的长度的长度的长度的长度 控制顶点控制顶点控制顶点控制顶点n n几何变换几何变换几何变换几何变换 对曲线变换等价于对控制顶点变换对曲线变换等价于对控制顶点变换对曲线变换等价于对控制顶点变换对曲线变换等价于对控制顶点变换5.1.3 Bezier曲线曲线1962年,法国雷诺汽车公司年,法国雷诺汽车公司Bezier提出了一种自提出

21、了一种自由曲线曲面的设计方法,称为由曲线曲面的设计方法,称为Bezier方法。其具方法。其具体设计过程是:体设计过程是:从模型或手绘草图上取得数据后,从模型或手绘草图上取得数据后,用绘图工具用绘图工具绘出曲线图绘出曲线图,然后从这张图上,然后从这张图上大致定出大致定出Bezier特特征多边形各控制顶点的坐标值征多边形各控制顶点的坐标值,并输入计算机,并输入计算机进行交互的几何设计进行交互的几何设计,调整特征多边形顶点的,调整特征多边形顶点的位置,直到得出满意的结果为止;最后用绘图位置,直到得出满意的结果为止;最后用绘图机绘出曲线样图。机绘出曲线样图。1.Bezier曲线定义曲线定义在在空间给定

22、空间给定n+1个控制顶点个控制顶点Pi(I=0,1,n),称下列称下列 参数曲线为参数曲线为n次次Bezier曲线。曲线。称为伯恩斯坦基函数(称为伯恩斯坦基函数(Bernstein Basis)。)。一般称折线一般称折线为为P(t)的控制多边形;称的控制多边形;称各点为各点为P(t)的控制顶点。的控制顶点。作图法绘制3次Bezier曲线t=1/2点t=1/4点最终曲线(1)三次)三次Bezier曲线曲线常用常用 的三次的三次Bezier曲线,由曲线,由4个控制顶点确定。容易算个控制顶点确定。容易算出,与其对应的出,与其对应的4个个Bernstein基函数为:基函数为:相应的相应的Bezier

23、曲线为曲线为标准展开方式B B0,30,3(t)(t)B B2,32,3(t)(t)B B1,31,3(t)(t)B B3,33,3(t)(t)(2)二次)二次Bezier曲线曲线二次二次Bezier曲线由三个控制顶点确定,此时,相应曲线由三个控制顶点确定,此时,相应的曲线表达式为的曲线表达式为对应于一条抛物线。对应于一条抛物线。作图法绘制2次Bezier曲线T=1/3T=1/2T=2/3(3)一次)一次Bezier曲线曲线这是一条连接这是一条连接P0和和P1的直线段。的直线段。一次一次Bezier曲线由两个控制顶点确定,此时,相曲线由两个控制顶点确定,此时,相应的曲线表达式为应的曲线表达式为

24、2.Bezier曲线的程序设计曲线的程序设计实际应用的主要是三次实际应用的主要是三次Bezier曲线。利用它的参数表曲线。利用它的参数表达式在区间达式在区间(0,1)内取多个值,例如内取多个值,例如100,计算出这,计算出这100个值对应的坐标点,依次连接这些点就得到一条个值对应的坐标点,依次连接这些点就得到一条Bezier曲线。曲线。为为程序设计方便,改写曲线的表达式为:程序设计方便,改写曲线的表达式为:注意:再添加一个注意:再添加一个z 坐标,就可得到空间坐标,就可得到空间Bezier曲线曲线。3.Bezier曲线的性质曲线的性质在在Bernstein基函数基函数中,中,n为基本曲线的次数

25、,为基本曲线的次数,i为基函数的序号。由排列组为基函数的序号。由排列组合和导数运算规律可以推导出合和导数运算规律可以推导出Bernstein基函数的如下性基函数的如下性质:质:(1)正性(非负性):)正性(非负性):(2)权性:)权性:(3)对称性:对称性:(4)导数性质:)导数性质:(5)递推性质:)递推性质:Bezier曲线的一些性质:曲线的一些性质:1)端点性质)端点性质曲线经过特征多边形的首末点。因为曲线经过特征多边形的首末点。因为曲线曲线P(t)在在P0点与边点与边P0P1相切,在相切,在Pn 点与点与2)对称性)对称性由由Bernstein基函数的对称性可知,控制点的次序完基函数的

26、对称性可知,控制点的次序完全颠倒过来后,曲线的形状不变,但走向相反。这全颠倒过来后,曲线的形状不变,但走向相反。这表明表明,同一特征多边形定义的同一特征多边形定义的Bezier曲线是惟一的曲线是惟一的.相切。因为相切。因为(3)凸包性凸包性所以,所以,P(t)是是P0,P1,Pn凸线性组合。凸线性组合。这证明这证明Bezier曲线曲线完全被包在其特征多边形的凸包内。完全被包在其特征多边形的凸包内。所以,控制顶点所以,控制顶点P0,P1,Pn的凸包为的凸包为:(5)交互能力)交互能力(4)几何不变性几何不变性由给定控制顶点所确定的由给定控制顶点所确定的Bezier曲线的形状与坐标曲线的形状与坐标

27、系的选取无关。此性质就是系的选取无关。此性质就是Bezier曲线的几何不变曲线的几何不变性。性。几何不变性对几何图形来说是一种很重要的性质。几何不变性对几何图形来说是一种很重要的性质。在计算机图形学中经常要作坐标变换,如果同一表在计算机图形学中经常要作坐标变换,如果同一表示式在不同坐标系下表示不同的曲线,则会给图形示式在不同坐标系下表示不同的曲线,则会给图形变换带来很多不便之处。变换带来很多不便之处。控制多边形控制多边形P0P1Pn大致地勾画出大致地勾画出Bezier曲线曲线P(t)的形状。的形状。要改变要改变P(t)的形状,只要改变的形状,只要改变P0,P1,Pn的位置即可的位置即可。(6)

28、变差减小性)变差减小性(7)保凸性)保凸性如果如果Bezier曲线曲线P(t)的控制多边形的控制多边形P0P1Pn是是一平面一平面图形,则该平面内的任意直线与图形,则该平面内的任意直线与P(t)的交点个数不的交点个数不多于该直线与控制多边形多于该直线与控制多边形P0P1Pn交点交点的个数,这的个数,这一性质称为变差减小性。一性质称为变差减小性。此性质说明此性质说明Bezier曲线比曲线比控制多边形所在的折线更光顺。控制多边形所在的折线更光顺。如果平面上的凸控制多边形能导致所生成的曲线为如果平面上的凸控制多边形能导致所生成的曲线为凸曲线,则称这个曲线生成的方法具有保凸性。凸曲线,则称这个曲线生成

29、的方法具有保凸性。我们将控制多边形的终点与起点连起来,如果这样我们将控制多边形的终点与起点连起来,如果这样形成一个闭的凸多边形,则相应的形成一个闭的凸多边形,则相应的Bezier曲线是一曲线是一个凸的平面曲线。此性质就是个凸的平面曲线。此性质就是Bezier 曲线的保凸性。曲线的保凸性。4.Bezier曲线的拼接与反算曲线的拼接与反算Bezier曲线的次数是由其控制顶点确定的。常用的三次曲线的次数是由其控制顶点确定的。常用的三次Bezier曲线由四个控制顶点确定。曲线由四个控制顶点确定。多多控制点控制点(n4)的三次的三次Bezier曲线存在着几条曲线的拼接曲线存在着几条曲线的拼接问题,其关键

30、问题是如何保持拼接处的连续性。不同的问题,其关键问题是如何保持拼接处的连续性。不同的问题在连接点处对连续性有不同的要求,常用到的有以问题在连接点处对连续性有不同的要求,常用到的有以下几种:下几种:参数连续参数连续:切矢同向且模长相等切矢同向且模长相等.几何连续几何连续:见下页见下页1)拼接拼接 条件条件条件条件 条件条件条件条件P1P0P3=Q0Q2Q1P2Q3设设P(t)是是Pi(i=0,1,2,3)确定的三次确定的三次Bezier曲线曲线;Q(t)是是Qi(i=0,1,2,3)确确定的三次定的三次Bezier曲线曲线.P3=Q0,满足满足1)两曲线在连接点达到一阶导数连续的条件为两曲线在连

31、接点达到一阶导数连续的条件为0=t=1即即亦即亦即,P2、P3(Q0)和和Q1共线,且共线,且P2、Q1在在P3的异的异侧。侧。2)两曲线在连接点达到二阶导数连续的条件为)两曲线在连接点达到二阶导数连续的条件为由由可得可得根据以上条件,可以调整根据以上条件,可以调整P(t)和和Q(t)这两段曲线,使得在这两段曲线,使得在连接点处达到一阶几何或导数连续:连接点处达到一阶几何或导数连续:步骤步骤1:平移多边形:平移多边形使使Q0与与P3重合。重合。步骤步骤2:围绕:围绕Q0转动多边形转动多边形使使与与平行且同向(或模长相等)。平行且同向(或模长相等)。P1P0P3=Q0Q2Q1P2Q3所谓曲线控制

32、顶点的反算是指由曲线上的一系列点(称所谓曲线控制顶点的反算是指由曲线上的一系列点(称 之为型值点)反求出该曲线的一系列控制顶点的过程。之为型值点)反求出该曲线的一系列控制顶点的过程。如果给定如果给定 n+1个型值点个型值点,要求一系列控要求一系列控制制点,由这些控制点定义的一条点,由这些控制点定义的一条Bezier曲线通过已知曲线通过已知的型值点,这与平常给定控制点求型值点的过程恰好的型值点,这与平常给定控制点求型值点的过程恰好相反。相反。设设所求的控制点为所求的控制点为,它它定义的定义的Bezier曲线为曲线为P(t),满足满足,于是于是注意:注意:t的取法不同,反求的控制顶点不同。的取法不

33、同,反求的控制顶点不同。2)反算反算5.1.4 B样条曲线样条曲线 Bezier曲线是通过逼近特征多边形而获得曲线曲线是通过逼近特征多边形而获得曲线的,存在的不足是:的,存在的不足是:1)缺乏局部修改性)缺乏局部修改性,即改变某一控制点对整个即改变某一控制点对整个曲线都有影响曲线都有影响.2)n较大时,特征多边形的边数较多较大时,特征多边形的边数较多,对曲线对曲线的控制减弱。的控制减弱。1972年,年,Riesenfeld等等提出了提出了B样条曲线。样条曲线。用用B样条基函数代替样条基函数代替Bernstein基函数;基函数;逼近特征多边形的精度更高逼近特征多边形的精度更高.多边形的边数与基函

34、数的次数无关。多边形的边数与基函数的次数无关。具有局部修改性具有局部修改性.设有控制顶点设有控制顶点P0,P1,Pn,则则k阶阶(k-1次次)B样条曲线的数学样条曲线的数学表达式为表达式为:式中式中Ni,k(t)是是k阶阶k-1次次B样条曲线的基函数样条曲线的基函数.它由一个它由一个结点向量递归定义结点向量递归定义,它仅在某个局部不等于零它仅在某个局部不等于零,因而使因而使B样条曲线具有局部可修改性样条曲线具有局部可修改性.de Boor-Cox递推定义 三次均匀三次均匀B样条曲线样条曲线对于对于n+1个控制顶点个控制顶点,每每四个顺序点四个顺序点1.三次均匀三次均匀B样条曲线的表达式样条曲线

35、的表达式一组构造相应的一段三次构造相应的一段三次B样条曲线:样条曲线:其中其中N0,4(t)=1/6(1-t)3,N1,4(t)=1/6(3t3-6t2+4),N2,4(t)=1/6(-3t3+3t2+3t+1),N3,4(t)=1/6t3所以,所以,Pi(t)的矩阵表达式为的矩阵表达式为根据上式可以在平面直角坐标系中设计三次根据上式可以在平面直角坐标系中设计三次B样条曲线生样条曲线生成的程序成的程序.Pi(0)Pi+3Pi+2Pi+1PiPi(0)Pi(1)Pi(1)2.三次均匀三次均匀B样条曲线段的几何特性、拼接样条曲线段的几何特性、拼接三次B样条作图法三等分点中点ABCDQ0Q1Q2Q3

36、由ABCD特征点构成B样条曲线就是由q0 Q1 Q2 Q3特征点控制的Bezier曲线3.三次均匀三次均匀B样条曲线的边界控制与反算样条曲线的边界控制与反算P0Pn-1P1P-1PnPn+1在始端和终端各在始端和终端各增加一个顶点增加一个顶点 P-1和和 Pn+1,使使P-1 P0 =P0 P1Pn-1Pn=PnPn+1则则P0(0)=P0,P0=P1-P0.终点具有类似的特性终点具有类似的特性.边界处理边界处理在实际应用中在实际应用中,往往需要所设计的往往需要所设计的B样条曲线通过控样条曲线通过控制多边形的起点和终点制多边形的起点和终点,这就需要对曲线的边界进行这就需要对曲线的边界进行处理处

37、理.有多种处理方法有多种处理方法,现介绍一种现介绍一种:2)控制顶点的反求控制顶点的反求在在实际应用中往往是知道曲线上的型值点实际应用中往往是知道曲线上的型值点,而并不知道而并不知道特征多边形顶点的位置特征多边形顶点的位置,为构造为构造B样条曲线样条曲线,就需要由就需要由这些型值点反求出特征多边形的顶点这些型值点反求出特征多边形的顶点,这就是这就是B样条曲样条曲线顶点的反求线顶点的反求.设设已知型值点列已知型值点列Qi(i=1,2,n-1),要求一条要求一条三次三次B样条曲线经过这些点样条曲线经过这些点,求出这条曲线的求出这条曲线的控制顶点控制顶点Pi(i=0,1,n).由曲线的端点性质可得下

38、列线性方程组由曲线的端点性质可得下列线性方程组:Pi-1+4Pi+Pi+1=6Qi (i=1,2,n-1)再补充两个边界条件就可得到唯一解再补充两个边界条件就可得到唯一解.例如例如,已知已知Q1和和Qi-1处的切矢处的切矢,则有则有把把它们写成矩阵形式为它们写成矩阵形式为5.1.5 非均匀有理非均匀有理B样条(样条(NURBS)曲线曲线它提供了解析曲线它提供了解析曲线(如圆锥曲线如圆锥曲线)和自由曲线统一的数和自由曲线统一的数学描述学描述,便于工程数据库的管理和应用便于工程数据库的管理和应用.NURBS曲线的定义曲线的定义:给定给定n+1个控制点个控制点Pi(i=0,1,n)及其权因子及其权因

39、子Wi(i=0,1,n),则则k阶阶(k-1次次)NURBS曲线的表达式为曲线的表达式为:缺点缺点:计算量大、当权因子为零和负值时容易引起计算量大、当权因子为零和负值时容易引起计算的不稳定,导致曲线畸变,因此使用计算的不稳定,导致曲线畸变,因此使用NURBS时应有适当的限制以保证算法的稳定性。时应有适当的限制以保证算法的稳定性。5.2 自由曲面自由曲面 5.2.1 参数曲面的概念参数曲面的概念 5.2.2 双三次曲面片的数学表示双三次曲面片的数学表示 5.2.3 曲面的反算、拼接和互化曲面的反算、拼接和互化 5.2.1 参数曲面的概念参数曲面的概念P(u,w)=x(u,w),y(u,w),z(

40、u,w)0=u,w=4,N=4),),则可以定义则可以定义(M-3)(N-3)个曲面片。只要个曲面片。只要4x4的子的子矩阵在控制顶点矩阵中是依次向右或依次向下移矩阵在控制顶点矩阵中是依次向右或依次向下移动的,就能自动保证左右相邻的曲面或上下相邻的曲面片动的,就能自动保证左右相邻的曲面或上下相邻的曲面片二阶连续。二阶连续。3.互化互化双双三次三次Coons曲面、双三次曲面、双三次Bezier曲面和双三次曲面和双三次B样样条曲面之间可以相互转化。条曲面之间可以相互转化。简易CAD系统的开发本章内容:Win32 API Win32 API 图形函数的调用图形函数的调用 图形设备接口与图形设备环境图

41、形设备接口与图形设备环境 VC+VC+与与VBVB的图形实现方式的图形实现方式 图形类的设计图形类的设计 交互式图形的绘制、编辑交互式图形的绘制、编辑说明:说明:本章中的内容均使用本章中的内容均使用WindowsWindows操作系统下的图操作系统下的图形函数来实现,即相关的形函数来实现,即相关的Win32 APIWin32 API图形函数。图形函数。6.1 在VB中调用Win32 API函数6.1.1 API6.1.1 API函数阅览器函数阅览器VBVB开发环境提供了一个开发环境提供了一个APIAPI函数阅览器,可从函数阅览器,可从MicorsoftMicorsoft Visual Stud

42、io 6.0 Visual Studio 6.0 Tools|API Text ViewerTools|API Text Viewer来运行来运行6.1.2 API6.1.2 API函数的声明与调用函数的声明与调用Win32 APIWin32 API函数分有返回值和无返回值两种,前者在函数分有返回值和无返回值两种,前者在VBVB中声明为中声明为FuctionFuction,后者声明为后者声明为SubSub,声明语句为声明语句为DeclareDeclare,通用格式如下:通用格式如下:Declare Function Declare Function apinameapiname Lib”Lib

43、”libnamelibname”Alias“alias”(”Alias“alias”(ByValByVal varaiblevaraible As type As type,ByValByVal varialbevarialbe As type.AS type As type.AS typeDeclare Sub Declare Sub apinameapiname Lib”Lib”libnamelibname”Alias“alias”(”Alias“alias”(ByValByVal varaiblevaraible As type As type,ByValByVal varialbeva

44、rialbe As type.AS type As type.AS type参数说明:参数说明:apinameapiname为函数名为函数名 libnamelibname为函数所在的库名为函数所在的库名 aliasalias为函数的别名,该项可选为函数的别名,该项可选 ByValByVal指定参数是以传值的方式来传递,指定参数是以传值的方式来传递,VBVB中默认是传递地址中默认是传递地址 TypeType为数据类型为数据类型注意:注意:注意:注意:VBVB中中PrivatePrivate和和PublicPublic关键词关键词6.1.3 常用绘图API函数I.I.MoveToExMoveToE

45、x函数:指定当前绘图位置,声明为:函数:指定当前绘图位置,声明为:Public Declare Function Public Declare Function MoveToExMoveToEx Lib“gdi32”Alias“Lib“gdi32”Alias“MoveToEx(ByValMoveToEx(ByVal hdchdc As Long,As Long,ByValByVal x As Long,x As Long,ByValByVal y As Long,y As Long,lpPointlpPoint As POINTAPI)As Long As POINTAPI)As Long参数

46、说明:参数说明:hdchdc 设备环境的句柄设备环境的句柄 x x、y y 新当前位置坐标值新当前位置坐标值 lpPointlpPoint 保存旧位置的坐标值保存旧位置的坐标值如果函数调用成功,返回非零值,否则,返回零如果函数调用成功,返回非零值,否则,返回零II.II.LineToLineTo函数:从当前位置画一直线段,并将其终点设为新的当前位置:函数:从当前位置画一直线段,并将其终点设为新的当前位置:Public Declare Function Public Declare Function LineToLineTo Lib“gdi32”Alias“Lib“gdi32”Alias“Lin

47、eToLineTo”(”(ByValByVal hdchdc As Long,As Long,ByValByVal x As Long,x As Long,ByValByVal Y as Long)As Long Y as Long)As Long参数说明:参数说明:x x、y y 直线段终点坐标直线段终点坐标如果函数调用成功,返回非零值,否则,返回零如果函数调用成功,返回非零值,否则,返回零III.III.ArcArc和和ArcToArcTo函数:绘制椭圆或圆弧函数:绘制椭圆或圆弧Public Declare Function Arc Lib“gdi32”Alias“Arc”(Public

48、Declare Function Arc Lib“gdi32”Alias“Arc”(ByValByVal hdchdc As Long,As Long,ByValByVal X1 As Long,X1 As Long,ByValByVal Y1 As Long,Y1 As Long,ByValByVal X2 As Long,X2 As Long,ByValByVal Y2 As Long,Y2 As Long,ByVAlByVAl X3 As Long,X3 As Long,ByValByVal Y3 As Long,Y3 As Long,ByVAlByVAl X4 As Long,X4 A

49、s Long,ByValByVal Y4 As Long)As Y4 As Long)As LongLongPublic Declare Function Public Declare Function ArcToArcTo Lib“gdi32”Alias“Lib“gdi32”Alias“ArcToArcTo”(”(ByValByVal hdchdc As Long,As Long,ByValByVal X1 As Long,X1 As Long,ByValByVal Y1 As Long,Y1 As Long,ByValByVal X2 As Long,X2 As Long,ByValByV

50、al Y2 As Long,Y2 As Long,ByVAlByVAl X3 As Long,X3 As Long,ByValByVal Y3 As Long,Y3 As Long,ByVAlByVAl X4 As Long,X4 As Long,ByValByVal Y4 As Long)As Y4 As Long)As LongLong参数说明:参数说明:X1X1,Y1Y1,X2X2,Y2 Y2 定义(椭)圆弧的外接矩形,为其左上和右下角的坐标值定义(椭)圆弧的外接矩形,为其左上和右下角的坐标值 X3X3,Y3 Y3 弧中心到该点的线段与弧的交点被定义为弧的起点弧中心到该点的线段与弧的交点

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922