计算机辅助设计与制造第3章计算机图形学基础.ppt
《计算机辅助设计与制造第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(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机辅助设计 制造 计算机 图形学 基础
链接地址:https://www.31ppt.com/p-6343025.html