计算机辅助设计与制造第3章计算机图形学基础.ppt

上传人:小飞机 文档编号:6343025 上传时间:2023-10-18 格式:PPT 页数:103 大小:1.19MB
返回 下载 相关 举报
计算机辅助设计与制造第3章计算机图形学基础.ppt_第1页
第1页 / 共103页
计算机辅助设计与制造第3章计算机图形学基础.ppt_第2页
第2页 / 共103页
计算机辅助设计与制造第3章计算机图形学基础.ppt_第3页
第3页 / 共103页
计算机辅助设计与制造第3章计算机图形学基础.ppt_第4页
第4页 / 共103页
计算机辅助设计与制造第3章计算机图形学基础.ppt_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《计算机辅助设计与制造第3章计算机图形学基础.ppt》由会员分享,可在线阅读,更多相关《计算机辅助设计与制造第3章计算机图形学基础.ppt(103页珍藏版)》请在三一办公上搜索。

1、第3章 计算机图形学基础,教学提示:本章主要介绍计算机绘图软件的类型和功能、绘图程序的基本设计方法、图形软件标准和图形变换(二维图形和三维图形的几何变换)。介绍计算机辅助设计的基本参数设置方法、常用绘图命令与编辑命令及相关的辅助指令的基本操作方法与技巧。教学要求:了解计算机绘图系统的类型及组成;掌握图形变换(比例、对称、错切、平移、旋转、复合变换等)的原理和方法;了解常用自由曲线的生成方法及优缺点;了解常用的图形数据交换标准(IGES和STEP)及其意义。在已了解AutoCAD的基础上,进一步掌握AutoCAD的操作方法和提升运用能力。,3.1 计算机绘图概述,计算机绘图是CAD/CAM的重要

2、组成部分。它的发展有力地推动了CAD/CAM的研究和应用,为CAD/CAM提供了高效的工具和手段;而CAD/CAM的发展又不断提出新的要求和设想,其中包括对计算机绘图的要求,因此,CAD/CAM的发展与计算机绘图的发展有着密不可分的关系。计算机绘图技术起源于上个世纪50年代,以后随着计算机软、硬件技术的不断进步以及图形处理技术的出现,计算机绘图技术得到迅速发展。时至今日,计算机绘图技术不仅在工程设计领域得到广泛应用,而且已延伸到艺术、电影、动画、广告和娱乐等领域,产生了巨大的经济效益和社会效益,在国民经济和科技进步中起到了不可替代的作用。,1950年,世界上第一台图形显示器“旋风一号”在美国问

3、世,解决了图形处理的问题。1958年美国CALCOMP公司制成滚筒式绘图仪,GERBER公司制成平板式绘图仪,解决了图形输出问题。同期研制成功的光笔,为计算机绘图提供了输入设备。1963年MIT的I.ESutherland提出并实现了一个人机交互图形系统(SKETCHPAD系统),首次使用了Computer Graphics(计算机图形学)这个专用名词,全面揭开了计算机绘图研究的序幕。1966年美国Lockheed公司与IBM公司联合开发并推出了著名的CAD/CAM系统“计算机图形增强设计与制造软件包”(CADAM)。,20世纪70年代之后,大规模集成电路技术的应用使计算机的性能得到飞跃提高,

4、为计算机绘图过程中大量数据的检索、存储、处理提供了保证。图形处理技术的进一步发展和完善,使人机交互图形的生成趋于完善。20世纪80年代是计算机绘图、CAD/CAM技术进一步发展与推广使用的阶段,其硬件、软件都由最初的研制、开发转向成熟和使用。以超级微机工作站为基础的计算机绘图系统得到迅速发展。进入20世纪90年代,计算机绘图技术进入开放式、标准化、集成化和智能化的发展时期。,3.2 计算机绘图系统,3.2.1 图形输入设备 1键盘 键盘是计算机最常用、最基本的输入设备,用于完成用户设计所需参数、命令以及字符串的输入以及菜单的选区等操作。从结构上分,键盘有机械式、电容式、薄膜式三类。2鼠标 鼠标

5、是一种手动输入的屏幕指示装置,它用于控制光标在屏幕上的位置,以便在该位置上输入图形、字符或激活屏幕菜单。鼠标器操作简单、使用方便、价格便宜,是CAD/CAM系统普遍采用的输入设备之一。鼠标器有机械式、光电式、感应式和空间球四种。,3数字化仪 数字化仪是由一块图形输入平板和一个游标定位器组成。目前常用的数字化仪大多属于电磁感应式数字化仪,这种数字化仪在其平板的内部沿水平和垂直方向用印刷电路的工艺方法制成很细密的金属丝网格,游标定位器内设置有一个检测线圈,通电后检测线圈将产生一定的磁通量,当游标定位器移动到数字化仪台面上某一位置时,平板内代表确定的X、Y坐标位置的纵横两根金属丝便产生感应电动势,将

6、此感应信息送入计算机系统,经检测处理,便可确定游标所在的准确位置。利用数字化仪输入图形很费时,也较难保证精度,目前已逐步由图形扫描仪所取代。,4图形扫描仪 扫描仪是通过光电阅读装置,可将整张图样信息转化为数字信息输入到计算机的一种输入设备。用扫描仪得到的图形信息是点阵图像文件,占用的存储空间较大。且不能直接被一般CAD/CAM系统所读取,需要进行矢量化处理。经过矢量化处理的图形信息,可应用交互式图形系统软件在屏幕上进行编辑和修改。这种图形扫描和矢量化处理相结合的方法大大提高了图形输入速度,减轻了图形输入工作量。5数码相机 数码相机是一种新出现的计算机真实图像录入设备,它采用光电装置将光学图像转

7、换成数字图像,然后存储在磁性存储介质中,并且可以直接与计算机连接,对录入的图像进行显示和编辑修改。,6其它输入设备 除上述各种输入设备之外,触摸屏也是一种很有特点的输入设备,它能对物体触摸位置产生反应,当人的手指或其它物体触到屏幕不同位置时,计算机便能接收到触摸信号并按照软件要求进行响应。声音交互输入是另一种很有发展前景的多媒体输入手段。近年来,语音输入识别技术的研究已取得一些突破性进展,并已出现商品化软件。另外,光笔、操纵杆、图形板也是图形输入设备,目前已很少使用。,3.2.2 图形输出设备 1图形显示器 图形显示器的主要有阴极射线管(CRT)显示器和液晶显示器(LED)。2打印机 打印机可

8、分为撞击式与非撞击式两种。最典型的撞击式打印机为针式打印机,其打印头分别有9针、24针、32针等几种,由计算机控制每个针头的撞击,通过色带将所需输出的信息打印在纸上。非撞击式打印机包括喷墨打印机、激光打印机,由于这类打印机打印速度快、质量好、打印噪声低等优点,现已成为打印机市场的主流。3自动绘图机 绘图机是一种高速、高精度的图形输出装置,它可将 CAD/CAM系统已完成的结构设计图形绘制到图纸上,以便在生产中使用和交流。目前市场上所提供的绘图机通常有笔式绘图机、喷墨绘图机两大类。,3.3计算机绘图软件,计算机绘图软件的主要功能 1窗口定义与视区 2图形描述 3图形编辑与变换 4图形控制 5图形

9、文件处理 6交互处理功能,3.3.2 绘图软件的类型 根据图形软件的功能和使用情况,归纳起来,可分为基本绘图指令软件、图形支撑软件,专用图形软件三类。1基本绘图指令软件 这类软件常用汇编语言甚至用机器语言编写通常是一些最基本的绘图指令,如画点,线等,有些高级语言(如BASIC)就提供简单的基本绘图功能。基本绘图软件功能的强弱对绘图程序的编写有很大影响。一般来说,基本绘图指令软件提供的绘图能力距CAD/CAM系统的要求相差较大,必须在其基础上进一步做大量工作才能满足设计过程的绘图要求。,2图形支撑软件 这类软件可用汇编语言编写,也可用高级语言编写。除提供基本绘图指令外,还可对图形进行各种编辑、修

10、改、控制等,功能较强,适应范围广,不同领域都可使用。这类软件的工作方式有两种形式:一是提供子程序软件包的形式。用户使用时是在程序中通过调用功能子程序来实现绘图及其相关工作的。如早期使用较多的TEKTRONIX PLOT l0软件包就是FORTRAN语言绘图软件包。二是交互式绘图软件。用户可通过图形输入输出装置与计算机交流信息,采用人机对话方式绘制图形以及对图形进行任意操作,如变比例,旋转、平移、设置颜色等。微机上广为应用的AutoCAD软件就支持这种工作方式。,另外,交互式绘图软件通常也支持一到两种高级语言程序,可将绘图命令嵌入程序中,在程序执行过程中直接绘图,如前述AutoCAD可支持C语言

11、和AutoLISP表语言,I-DEAS软件可支持本系统提供的Ideal语言等,用户可根据实际需要或程序绘图或交互绘图。图形支撑软件通常由软件公司或研究单位研制成功、继而商品化投入销售。CADCAM系统常以这样一类现有的、较为完善的图形系统作为绘图的基础或支撑环境,而不再花费大量时间、精力去重复开发那些底层功能,把精力集中在有针对性的扩充功能,提高绘图效率的二次开发上。,3专用图形软件 专用图形软件指的是在某种基本绘图软件或支撑软件基础上进一步开发的,针对某种特定领域、特定专业或特定用途的图形软件。如标准机械零件图形软件、机械装配图绘制软件、服装设计软件,建筑图设计生成软件、电子线路板绘图软件等

12、这一类软件专业性强、效率高,多与用户直接见面,工作需求量大,但软件开发难度大,软件维护任务量。专用图形软件的优劣直接影响到设计过程和设计结果。,3.3.3 图形软件标准 1图形标准(1)GKS图形核心系统 图形核心系统是是一个为应用程序服务的基本图形系统。它提供了应用程序和一组图形输入、输出设备之间的功能性接口。该功能接口包括在各式各样的图形设备上为交互的或非交互的二维作图所需的全部基本功能,即:输出功能、输入功能、控制功能、变换功能、图段功能、元文件功能、询问功能和出错处理功能。这是一个二维图形软件标准。为了满足三维图形的需要,德国DIN与ISO合作制定了三维图形核心系统GKS-3D,作为G

13、KS的扩充。GKS-3D提供三维空间下的图形功能,它包括了GKS的重要概念和特点,在三维空间里对原GKS的功能进行精确定义。GKS-3D与GKS完全兼容。,(2)PHIGS程序员层次交互图形系统 程序员层次交互图形系统PHIGS是美国计算机图形技术委员会于1986年推出的,后被接受为国际标准。它是为应用程序员提供的控制图形设备的图形软件系统接口以及动态修改和绘制显示图形数据的手段。PHIGS的图形数据按照层次结构组织,使多层次的应用模型能方便地利用它进行描述。它是GKS的扩展,是为具有高度动态性、交互性三维图形的应用而设计的图形软件工具包。,2图形和图像编码(1)CGM计算机图形元文件编码 计

14、算机图形元文件CGM规定了存贮图形数据的格式,由一套与设备无关的用于定义图形的语法和词法元素组成,作为图形数据的中性格式,能适用于不同的图形系统和图形设备。(2)CGI计算机图形接口编码 计算机图形接口CGI描述了通用的抽象图形设备的软件接口,定义了一个虚拟的设备坐标空间、一组图形命令及其参数格式。CGI有两种字符编码与二进制编码,提供了300多个函数功能。采用CGI,无论是应用程序还是图形支撑软件均可实现在不同设备配置之间的可移植性。对于具体的图形设备,可配备各自的 CGI驱动程序来实现操作。,3数据交换标准(1)IGES初始图形交换规范 初始图形交换规范IGES建立了用于产品定义的数据表示

15、方法与通信信息结构,作用是在不同的CAD/CAM系统间交换产品定义数据。其原理是:通过前处理器把发送系统的内部产品定义文件翻译成符合IGES规范的“中性格式”文件,再通过后处理器将中性格式文件翻译成接受系统的内部文件。IGES定义了文件结构格式、格式语言以及几何、拓扑及非几何产品定义数据在这些格式中的表示方法,其表示方法是可扩展的,并且独立于几何造型方法。目前,绝大多数图形支撑软件都提供读、写IGES文件的接口,使不同软件系统之间交换图形成为现实。,(2)STEP产品模型数据交换标准 产品模型数据交换标准STEP(Standard for the Exchange of Product mod

16、el data)是由ISO制定并于1992年公布的国际标准。它是一套系列标准,其目标是在产品生存周期内为产品数据的表示与通信提供一种中性数字形式,这种数字形式完整地表达产品信息并独立于应用软件,也就是建立统一的产品模型数据描述。STEP标准能够解决生产过程中产品信息的共享,从根本上解决了CAD/CAM集成,CIMS信息集成的问题。,3.4 几何交切子程序设计,3.4.1 几何交切常用函数 几何交切函数常用的有40多个,列出四个供参考。(1)求两点的连线与x轴的夹角,如图3.1(a)所示。其所用函数 float appl(float x1,float y1,float x2,float y2)其

17、中,(x1,y1)为起点坐标;(x2,Y2)为终点坐标则直线与x轴的夹角 a=appl(float x1,float yl,float x2,float y2),(2)由劣弧段的起点,终点及有向半径,求劣弧段圆心坐标,如图4.1(b)所示。其所用函数 int pppr(float x1,float y1,float x2,float y2,float r,float*xc,float*yc)其中,(x1,y1)为劣弧的起点坐标;(x2,y2)为劣弧的终点坐标,r为劣弧的半径,(xc,yc)为劣弧的圆心。(3)求直线与圆的交点,如图3.1(c)所示。其所用函数 int plc(float a,f

18、loat b,float c,float xc,float yc,float r,float*x1,float*y1,float*x2,float*y2)其中,a,b,c为已知直线法线式方程系数,(xc,yc)为已知圆的圆心坐标,r为已知圆的方向半径;(xl,yl),(x2,y2)为两个交点p1,p2的坐标。,(4)求两个已知圆的外公切线或内公切线的切点,如图3.1(d)所示。其所用函数 int lcct(float xcl,float yc2,float r1,float xc2,float yc2,float r2,float*xtl,float*ytl,float*xt2,float*y

19、t2)其中,(xcl,ycl),r1,(xc2,yc2),r2为两圆的圆心坐标及方向半径,(xtl,ytl),(xt2,yt2)为两切点的坐标;切线走向符合皮带轮规则。,两圆相交函数的设计 1已知条件 已知两圆的圆心坐标及方向半径分别为(Xc1,Yc1)、R1和(Xc2,Yc2)、R2,相交情况如图 所示。,2算法 以圆C1进入圆C2时的交点定为P1(x1、y1),出圆2时的交点定为P2(x2,y2)。设计两圆相交子程序的关键是求两圆的交点坐标。设两圆心连线之距离,交点P1与两个圆心组成一个三角形,设为交点P1与圆C1圆心连线与两圆心连线的夹角。按余弦定理有:,当R10时,根式前取负号,反之取

20、正。设为两圆心连线与X轴的夹角,则:,在坐标系Xc1Y中,P1点和P2点的坐标分别为,在坐标系X0Y中,P1点和P2点的坐标为,解的情况:当d=R1+R2或d=R1-R2时,均有一解;当dR1+R2或dR1-R2时,均无解;当dR1+R2时,有两解。综上所述,两圆交点的求取,是采用坐标变换的几何解法,而且规定几何元素具有方向性,因而避免了代数运算的复杂性,使计算过程大为简化。,3求两圆相交交点坐标子函数 形参说明:xcl,ycl,r1:已知圆C1的圆心坐标及方向半径,xc2,yc2,r2:已知圆C1的圆心坐标及方向半径,*x1,*y1,*x2,*y2:所求两圆交点并以圆C1进入圆C2时的交点定

21、为P1,出圆C2时的交点为P2。int pcc(float xc1,float yc1,float r1,float xc2,float yc2,float r2,float*x1,float*y1,float,*x2,float*y2)float d,r11,r22,cb,sb,ca,sa,xx,yy;d=sqrt(xcl-xc2)*(xc1-xc2)+(ycl-yc2)*(ycl-yc2);rll=fabs(r1);r22=fabs(r2);,if(d(rll-1-r22)(dfabs(rll-r22)*xl=le4;*y1=le4;*x2=le4;*y2=le4;printf(“n No

22、 intersecting points”);return 1;elsecb=(r1*r1+d*d-r2*r2)/(2.0*d*r11);sb=-singn(sqrt(fabs(1.0-cb*cb),r1);ca=(xc2-xc1)/d;sa=(yc2-ycl)/d;xx=rll*cb;yy=rll*sb;*x1=xx*ca-yy*sa+xc1;*yl=xx*sa+yy*ca+ycl;*x2=xx*ca+yy*sa+xcl;*y2=xx*sa-yy*ca+ycl;,3.5 曲 线,工程上常用的曲线有两种类型:一类是规则曲线,另一类是自由曲线。3.5.1 规则曲线 常用的规则曲线有圆锥曲线、摆线

23、和渐开线等;这些曲线都可以用函数或参数方程来表示。有了这些函数方程,很容易地应用计算机来显示和画出它们。这里以渐开线为例说明了子程序的设计方法。要绘制渐开线,只需根据已知条件先确定数据元素,然后推导出数据关系,就可以进行程序设计了。,1渐开线的已知数据,如图3.3所示.(1)XO、YO基圆圆心坐标(2)R基圆半径(3)THETA绘制曲线的张角(4)N绘制曲线的分割数,2计算方法 渐开线上任一点的坐标(x,y)可以用基圆半径的旋转角t为参数的方程来表达,转角增量dt可由下式求得;dtTHETA/FLOAT(N),根据渐开线的性质:切线长基圆上所对的弧长,即:PC=R*t 动点P的坐标为 X=Xc

24、+PCsin(t)Y=Yc-PCcos(t)而 Xc=X0+Rcos(t)Yc=Y0+Rsin(t)所以,渐开线的参数方程为:X=X0+R(cos(t)+tsin(t))Y=Y0+R(sin(t)-tcos(t),3渐开线的子程序(1)不同位置起始点的处理 在绘制齿形曲线时,渐开线的起始点不一定在X轴上。此时,只要在子程序设计中增加一个形式参数起始角 BFE就可以了。(2)渐开线子程序取名为INVLUT(3)选定6个形式参数:X0、Y0、R、BFE、THETA、N(4)用C语言编写的程序#include“stdiO.h”main()double a,sin(),cos();float b,dt

25、,t,xc,yc,x,y,rad,pi;int x0,y0,r,bfe,efe,n,xc1,xcr,ycu,ycd;,int i,itx,ity,ix,iy,bx,by;gdinit(0,0);gdpen(0,0,0);charcan();printf(“inputx0,y0,r,bfe,efe,n n”);scanf(“d,d,d,d,d,dn”,&x0,&y0,&r,&bfe,&efe,&n);xclx0-r-30;xcrx0+r+30;ycuy0+r+30;cd y0-r-30;gdmove(xc1,y0);gddraw(xcr,y0,2);gdmove(x0,ycu);,gddraw(

26、x0,ycd,2);gdcirc(x0,y0,r);rad 0.0174532925;ity(int)yc;gdmove(x0,y0);gddraw(itx,ity,2);xxc+t rsin(a);yyc-t*r*cos(a);ix(int)x;iy=(int)y;gddraw(ix,iy,2);,bx=xc+r*cos(b);byyc+r*sin(b);gdmove(bx,by);for(i1,in;i+)tdt*i;ab+t;xx0+r*cos(a)+t*r*sin(a);yy0+r*sin(a)-t*r*cos(a);ixx;iyy;gddraw(ix,iy,0);gdchar(200

27、,360,3,0,“INTVOLUTE”);,自由曲线 所谓自由曲线通常是指不能用直线、圆弧和二次圆锥曲线描述、而只能用一定数量的离散点来描述的任意形状的曲线。在实际应用中往往是已知型值点列及其走向和连接条件,利用数学方法构造出能完全通过或者比较接近给定型值点的曲线(曲线拟合),再计算出拟合曲线上位于给定型值点之间的若干点(插值点),从而生成相应的参数曲线。3.5.2.1 曲线的参数表示 1曲线的数学表示形式 在数学上,曲线曲面常常采用显式、隐式和参数几种表示方式。,(1)显式表示 对于一条平面曲线,可显式地表示为:y=f(x)在这种显式方程表示中,不能表示封闭或多值曲线,如圆等。(2)隐式表

28、示 用隐式方程表示曲线的形式为:F(x,y,z)=0 这种隐式方程可表示多值曲线,如各种圆锥曲线(抛物线、椭圆、双曲线)等,且在曲面求交等计算中存在一些优势,但仍存在曲线与坐标轴选取相关,会出现斜率为无穷大、不便于计算和编程等问题。,(3)参数表示 所谓参数表示,就是将曲线上点的坐标表示为某些参数的函数。例如:三维曲线上点的坐标可表示为参数u的函数:x=x(u),y=y(u),z=z(u)(u0uu1)实际上,任意曲线均可影射为参数空间中的一个参数域,曲线上的每一点都与参数域内的某点保持一一对应的关系,即曲线上每一个点坐标(x,y,z)都可由一个参数u的函数来定义。相应地,任意曲面也总可影射为

29、由(u,v)参数定义的参数空间中的一个矩形区域,曲面上每一个点与参数矩形域上的某点保持着一一对应的关系,则整张曲面就可由二维参数u,v的某个参数表达式来表示。,设有一条空间曲线,上任取一点M0(X0,Y0,Z0),作为计算弧长的初始点。曲线上其它点M(x,y,z)到M0之间的弧长S是可以计算的(用弧长积分公式或累计弦长公式)。这样,曲线上每一点的位置与它的弧长之间有一一对应的关系。以曲线弧长作为曲线方程的参数,这样的方程称为曲线的自然参数方程,弧长则称为自然参数。这就是说,曲线上点的坐标(x,y,z)都是以弧长为参数的函数。曲线的参数方程 x=x(s),y=y(s),z=z(s)曲线的矢量方程

30、为 r=r(s)=x(s),y(s),z(s),设已知曲线的一般参数方程(或矢量方程)为r=r(u)=x(u),y(u),z(u)则r(u)=x(u),y(u),z(u)=弧长微分公式为(ds)2=(dx)2+(dy)2+(dz)2引入参数u,则上式可改写为(ds/dt)2=(dx/dt)2+(dy/dt)2+(dz/dt)2=r(u)2由于矢量的模一定为正或零,不会为负,所以ds/dt=r(u)0故知弧长s是u的单增函数,其反函数u(s)存在,且一一对应。将u(s)代人到曲线方程r=r(u)中去,得,r=r(u)=ru(s)=r(s),此式即是以弧长为参数的自然参数方程。,相比较显式和隐式等

31、非参数表示方法,参数表示具有更多的优越性:1)可方便地表示三维曲线,并有更多的自由度来控制曲线曲面的形状;如一条二维三次曲线的参数表示式为:y=ax3+bx2+cx+d,其中只有4个系数可以用来控制曲线的形状;而二维三次曲线的参数表示式为xau3+bu2+cu+d,yeu3+fu2+gu+h,其中有8个系数可用来控制曲线的形状。2)参数表示的曲线曲面与坐标系的选择无关。若要通过一系列的型值点拟合一条曲线,则曲线的形状取决于型值点列,而与这些点所在的坐标系无关。因此,在几何变换过程中,不必对曲线曲面上的每个点进行变换,可直接对曲线曲面参数方程实施变换,从而节省计算工作量。,3)在参数表达式中使用

32、切矢来代替非参数方程中的斜率,便于处理斜率无穷大的问题,因而不会由此造成计算的中断。任何形体在坐标系中都有可能在某一位置上出现垂直的切线,因而导致斜率无穷大,而在参数方程中,可用对参数求导如dy/dx=(dy/du)/(dx/du)来代替,即从而避免了dx为零的问题。4)参数表达式中一般都有明确的定义域,使其对应的几何量都是有界的。从而不必再进行边界的定义。5)易于用矢量和矩阵表示几何量,从而便于计算机的计算与编程。,2参数表示的过程 拟合:通过给定型值点来构造曲线。插值:求给定型值点之间在曲线上的点称为曲线的插值。逼近:求出在几何形状上与给定型值点列的连接线相近的曲线,称为曲线的逼近。这种曲

33、线不必通过型值点列。,3曲线段间连续性定义 在实际应用中,曲线常常以分段形式定义,或由多段曲线拼合而成。因而,在对曲线处理过程中必然涉及到各曲线段在连接点处的连续性问题。关于曲线段的连续性有两种判断标准,一种为参数连续,一种为几何连续。所谓参数连续是判断连接点处曲线方程对参数u的各阶导数的连续性,如果参数曲线在连接点处具有n阶连续导矢,则称曲线n阶参数连续,简记为 Cn。所谓几何连续是判断曲线在连接点处曲线方程对弧长参数的各阶导数的连续性,若曲线具有关于弧长参数的n阶连续导矢,则称曲线n阶几何连续,简记为Gn。,曲线的参数连续性与参数的选取及具体的参数化有关;而几何连续性不依赖于参数的选取,而

34、是反映出曲线的具体的几何特性。在曲线曲面造型中,一般只用到C0,Cl,C2和G0,G1,G2连续。当曲线具有C0连续时,表示曲线在连接点处位置矢量相同;Cl连续时,表示前后两个曲线段在连接点处切矢方向相同,大小相等;C2连续时,表示曲线在连接点的二阶导矢相同。从几何意义上讲,G0的含义同C0,G1表示曲线在连接点切矢方向相同,但大小可能不等,G2表示曲线在连接点处具有相同的曲率。,3.5.2.2 常用自由曲线 1三次参数样条曲线 某些零件,如机翼外形、内燃机进排气门的凸轮曲线等,对外形的光顺性要求较高,即曲线的导数要连续。如果要求曲线的一阶和二阶导数都是连续的,则可用三次样条曲线。所谓“样条”

35、是指一根柔软的金属或木质做成的弹性长条,利用它通过型值点画出光滑的曲线。设在平面上给定了n个型值点(xj,yj),j=l,2,3,n。用分段三次参数样条连接这n个点,这样就有n-1段三次曲线。由于整个样条曲线是由分段的三次曲线构成,因此,需先建立某一段三次曲线的方程。,如图所示,以参数t表示的单参数三次样条曲线的方程式为 P(t)Bl+B2t+B3t2+B4t3,式中,(t)=x(t),y(t)为样条曲线上任一点的位置向量,它有两个分量(空间一点则有三个分量),x(t)、y(t)可以看作位置向量的坐标值。参数t在两个端点tj和tj+1之间变化,为了简化计算,可以指定tj=0。,型值点的位置向量

36、Pj(t)、Pj+1(t)为已知,利用相邻两线段在型值点处曲率不变,即它的二阶导数P”(t)在节点两侧相等的条件,可求出P,由此可求出上述方程中的四个系数,得到此段三次曲线。利用前一段曲线的终点与后一段曲线的起点重合,并且在重合点处切向量相同的条件,则可构造一条由多段三次样条曲线拼接而成的复杂曲线。三次样条曲线可以保证曲线二阶连续,方法简单易行,但它有许多缺点:一是设计条件与曲线始末两点的切向量大小和方向有关,设计时不易控制;二是其图形不具有几何不变性。所谓几何不变性是指曲线的图形不随坐标选择而变化。对于同一组型值点,在不同的坐标系中,拟合的三次样条曲线不完全一样。,2圆弧样条曲线 圆弧样条就

37、是通过每个型值点作一段圆弧,并使过相邻两型值点的两段圆弧在这两个型值点连线的中垂线上相切的圆弧曲线。这种曲线,在总体上是一阶光顾的,分段都是等曲率的圆弧,其输出的信息(圆弧的参数)可直接用于编程,计算简单,拟合精度较高。此外,圆弧样条由于采用了局部坐标系,每段圆弧的圆心和半径是几何不变值,故它具有几何不变性,即它不随坐标系的选择而变化。设给定n+1个型值点P0(x0,y0),P1(xl,y1),Pn(xn,yn)。现假定过两相邻型值点Pj-1,Pj分别作两段圆弧切于Pj-1Pj的中垂线T上,两端点的弦切角为aj-1,j。利用一阶连续条件(即型值点两侧的圆弧段是同一个圆)及端点条件所形成的方程组

38、,可解出各型值点处的弦切角a,从而得到相邻两型值点之间的二段圆弧的切点T、圆心C的坐标和半径R。,3贝塞尔(Bezier)曲线 Bezier曲线是用一组多边折线(也称之为特征多边形)的各顶点惟一定义出来的。在多边形的各顶点中,只有第一点和最后一点在曲线上,其余的顶点则控制曲线的导数、阶次和形式。第一条和最后一条折线表示曲线在起、终点处的切线方向,曲线形状趋于折线集的形状,改变控制点与改变曲线形状有着形象生动的直接联系。由于Bezier曲线是用N根折线定义的n阶曲线,故n阶(亦称n次)曲线段的表达式为,Bezier曲线是关于t的一个n次多项式。其中Pi(i=0,1,n)为给定各顶点(n+1个)的

39、位置矢量,即曲线的特征多边形;Bi.n(t)称为Bernstein(伯恩斯坦)基函数,也是各顶点位置向量之间的调和函数,即 工程上应用较多的是三次Bezier曲线(n3),如图所示。,由四个顶点定义的三次Bezier曲线,Bezier曲线的性质如下。曲线过特征多边形的起、终点,即P(0)=P0,P(1)Pn。曲线与始边、终边相切,即P(0)n(P1-P0),P(1)=n(Pn-Pn-1)曲线在端点处的二阶导矢为P”(0)n(n-1)(P0-2Pl+P2)P”(1)n(n-1)(P0-2Pn-1+Pn-2)所以曲线在端点处的曲率与相邻的三个顶点位置有关。对称性。把特征多边形的顶点编号顺序完全颠倒

40、,由于基函数的对称性,曲线形状不变,只是改变了曲线的方向。,凸包性。曲线落在特征多边形构成的凸包中,并且具有几何不变性。通过调整特征多边形顶点的方法来控制曲线的形状。Bezier曲线具有许多优点,如直观、计算简单等,但它不是样条,特征多边形顶点的个数决定了曲线的次数,顶点愈多,曲线的次数越高,多边形对曲线的控制减弱。另外它是整体构造,每个基函数在整个曲线段范围内非零,故不便于修改,改变某一控制点对整个曲线都有影响。,4B样条曲线 设给定n+1个控制顶点的向量为Pi(i=1,n),把n次参数曲线段,称为B样条曲线段。与Bezier曲线类似,依次用线段连接Pi中相邻两个向量终点所得的折线多边形为B

41、样条曲线的特征多边形。Bi.n(t)称为B样条曲线的基函数,它随B样条曲线的次数不同而变化。当n=2时的B样条曲线称为二次B样条曲线。当nk时的B样条曲线称为k次B样条曲线。,不难证明,二次B样条曲线线段的两端点Q(0)、Q(1)是特征多边形两边的中点,如图(a)所示;曲线段两端点Q(0)、Q(1)的切向量就是特征多边形的两个边向量。如果继P0、P1、P2之后还有一些点P3、P4、,那么依次每取三点,就可画出一段二次B样条曲线段,总和起来就是二次B样条曲线,如图(b)所示。,与Bezier曲线相比较,B样条曲线有如下不同:Bezier曲线的阶次与控制顶点数有关,而B样条的基函数次数是与控制顶点

42、无关;Bezier曲线所用的基函数是多项式函数,B样条曲线的基函数是多项式样条;Bezier曲线缺乏局部控制能力,而B样条具有局部控制性质,更适合于几何设计。,5NURBS曲线 B样条方法不能精确描述二次曲线以及球面等曲面,而使用非均匀有理B样条(NURBS)则可以解决这一问题。NURBS技术得到了较快的发展和广泛的应用,其主要原因在于:对标准的解析曲线和自由曲线提供了统一的数学描述,便于工程数据库的管理和应用;保留了B样条曲线的节点插入、修改、分割和修改控制点等强有力的技术,而且还具有修改权因子来方便地修改曲线形状的能力;具有几何变换不变性;均匀B样条曲线、有理及非有理Bezier曲线等均为

43、NURBS曲线的一个子集。因此NURBS曲线具有更强的表达功能。,NURBS曲线的定义:给定n+1个控制点Pi及其权因子Wi(i=0,1,2,),则k阶(k-1)次NURBS曲线的表达式为,式中,Pi也称之为特征多边形顶点位置矢量;Ni,k(t)是k阶B样条基函数。如果基函数Ni,k(t)的节点是均匀的,则C(t)称为均匀有理B样条曲线(URB)。如果其节点是非均匀的,则C(t)称为非均匀有理B样条(NURBS)。尽管NURBS曲线具有几何描述的惟一性、几何不变性、易于定界、几何直观等优点,是目前工程中应用最广泛的一种自由曲线,但由于其表达式较前面几种方法更为复杂,而且当权因子为零和负值时容易

44、引起计算的不稳定,导致曲线发生畸变。,3.6 剖面线与填色,剖面线与填色处理的方法是相同的,如果显示剖面线的间距是一个光栅,绘图时剖面线 的间距与笔的粗度相等,这时就生成填色的效果;如果间距较大,而且剖面线的倾角为45度或135度,就产生机械图样中的剖面线。1建立剖面域内外边界线方程 在工程图中剖面域的边界大多数是由直线、圆及圆弧等几何元素所构成。其边界线方程为(1)直线:用两点式表示,(2)圆弧:用劣弧上两点及其有向半径表示。根据劣弧上两点及有向半径R,即可求出劣弧的圆心(Xc,Yc),所以圆的方程为(XXc)2+(YYc)2=R2 2求取剖面线的范围 剖面线用斜截式方程表示 Y=SKX+B

45、 其中SK为斜率,根据剖面线要求由设计者选定,B为截距,表示剖面线与y轴的截距。将边界点(包括圆及圆弧的切点)代入上式得到一组截距YCP(i),从中可找出一个最大截距(Ymax)和最小截距(Ymin),则这两个截距即为剖面线的范围。,在图(a)中,Ymax=YCP(2)、Ymin=YCP(6),在图(b)中:Ymax=YCP(2)、Ymin=YCP(7),剖面线L(i)的截距YCP(i)必须满足:Ymin YCP(i)Ymax。因此,只要找到剖面域中的Ymax和Ymin也就确定了剖面线组的起迄范围,然后根据剖面线间距即能算出总的剖面线根数。同时剖面线组的方程也已知。,3剖面线与边界交点的坐标计

46、算 剖面线与边界交点的坐标值可以通过下列联立方程解得。剖面线方程:Y(i)=SKX(i)+B(i)(i=0,1,2,n)直线段轮廓方程:(j=0,1,2,m)圆弧段轮廓方程;(XXc)2+(YYc)2=R2,4有效点的确定 剖面线段的起迄点是剖面线组与图形边界线的交点,如图3.10所示,交点一般分三种状态:(1)交点P在轮啷线的延长线上。如图中的P(1,1),P(2,3)等,称它们为无效点。,(2)交点P在轮廓线的端点上,如图中的P(3,1),P(1,3)等,剖面线通过端点,这样的交点我们称之为重交点。(3)交点户在轮廓线上,如图中的P(3,2),P(2,2)等,这些交点对画剖面线有用,故称之

47、为有效点。,从图形边界各端点(例如图中的1,2,3,4,5,6,等点)引线,且平行于剖面线,与y轴相交得截距YCP(1),YCP(2),YCP(j)(j为端点序号)。同时延长剖面线L(i)与y轴相交,得截距YCP(i)(如图3-9所示)。如果YCP(j)YCP(i)YCP(j+1)或YCP(j+1)YCP(i)YCP(j)其中j=1,2,3,n,;n为包括圆及圆弧的切点在内的端点总数 则剖面线L(i)与该轮廓线L(j)的交点P(i,j)一定是有效点。若剖面线L(i)的截距在 YCP(i)与YCP(j+1)的一侧,则交点P(i,j)一定是无效点。,5剖面线过图形端点时的特点及处理方法 图剖面线(

48、2),L(4),L(6)具有下列性质:(1)剖面线段(指剖面线中的一段)的起迄点都是该线与某轮廓线的交点;(2)每条剖面线与所有边界的交点的总数必定是偶数:(3)画剖面线的规则是抬落笔相间的。,当剖面线通过轮廓线端点时,就可能不满足以上三点,计算机就很难处理。这时可将剖面线间距增加或减少一个d值(如选取d=0.01),重新计算交点,这样,剖面线便偏离了图形的端点,削除了重交点,如图3.11的(a),(b)所示。,3.7 图形变换,慨述 图形几何变换是计算机图形学的核心基础,是CAD/CAM系统必不可少的重要内容,也是实现动态仿真、虚拟现实(VR)技术的基础。一般来说,图形从输入到输出贯穿着各种

49、几何变换。被描述的对象所处的环境和显示屏幕或图纸的环境是很不相同的,不仅位置不同,大多数情况下尺寸也很不相同,这就需要通过变换协调这两种环境之间的关系;三维图形要在二维环境中表示出来,必须通过投影变换,如果某些产品或零部件具有对称的外形,通常只需要定义它的部分外形,然后利用它的形状对称性,通过对称变换可以生成完整的几何形;一般装配图的生成,首先要将所有装配的零件图形变换到适当的位置以进行拼装:为了从不同方向去观察对象,要求能对对象作适当的几何变换,以达到目的。,图形几何变换(简称图形变换)是对一个二维或三维图形的表示和处理。无论何种图形,都是由图形的顶点坐标、顶点之间的拓扑关系以及组成图形的面

50、和线的表达模型所决定的,图形几何变换只改变图形的顶点坐标和面、线的表达模型的参数,不会改变他们的拓扑关系,而且面、线的表达模型参数也由相关的顶点坐标所确定的。因此,从原理上讲,图形变换就是将图形上点的坐标变换成新图形上对应点的坐标。根据几何线性变换的特性,变换前后图形的方程式阶次不变,即直线经变换后仍为直线,二次曲线经变换后仍为二次曲线,这样,对图形进行几何变换可以通过对定义图形的各点坐标进行相应变换来实现。即只要知道图形的各点坐标,就可以通过一系列的图形变换得到希望的结果。,为了便于图形的变换计算,引入齐次坐标的概念。齐次坐标就是用N+1维向量表示一个N维向量。对于一个N维空间位置矢量,在正

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号