1、 第第1章章 CAD概论概论 1.1 CAD的内涵、功能和任务的内涵、功能和任务 1定义:定义:CAD是Computer Aided Design(计算机辅助设计)的简称。计算机辅助设计是将人和计算机的最佳特性结合起来,辅助进行产品的设计与分析的一种技术,是综合了计算机与工程设计方法的最新发展而形成的一门新兴学科。2CAD的功能:的功能:工程设计的过程包括设计需求分析、概念设计、设计建模、设计分析、设计评价和设计表示,CAD的功能就是在工程设计的过程中起相应的作用,如图1-1所示。图1-1 CAD系统的功能 3CAD技术的优越性:技术的优越性:(1)可以提高设计效率,缩短设计周期,减少设计费用
2、。(2)为产品最优设计提供了有效途径和可靠保证。(3)便于修改设计。(4)利于设计工作的规范化、系列化和标准化。(5)可为计算机辅助制造和检测(CAM,CAT)提供数据准备。(6)有利于设计人员创造性的充分发挥。4CAD的主要任务:的主要任务:(1)完成设计信息的计算机存贮和管理。(2)开发工程设计的应用程序。(3)建立一个专用图形系统或利用一个通用图形系统,完成产品造型和工程图绘制等任务。(4)将工程数据库、应用程序以及图形系统等部分有机地组成为一个完整的CAD系统,以适应反复建立模型、评价模型和修改模型这种设计过程的需要。1.2 CAD技术的发展技术的发展 1发展历程:发展历程:60年代是
3、CAD发展的起步时期。70年代,CAD技术进入广泛使用时期。80年代,CAD技术进入突飞猛进时期。90年代,CAD技术的发展更趋成熟。2发展趋势:发展趋势:(1)集成化。(2)智能化。(3)标准化。(4)网络化。1.3 CAD技术的应用技术的应用 一电子工业一电子工业 二机械工业二机械工业 CAD技术在机械工业中的主要应用有以下几个方面:(1)二维绘图。(2)图形及符号库。(3)参数化设计。(4)三维造型。(5)工程分析。(6)生成设计文档及报表。三建筑工业三建筑工业 第第2章章 计算机辅助设计系统计算机辅助设计系统 由一定的硬件和软件组成的供辅助设计使用的系统称为CAD系统。2.1 CAD系
4、统的硬件系统的硬件 CAD系统的硬件由主机和外围设备组成,如图2.1所示。图2.1 CAD系统硬件的组成 一主机一主机 中央处理器 控制器:解释指令并控制指令的执行顺序主机 运算器:执行算术运算和逻辑运算 内存贮器组成。二外存贮器 (1)磁带。(2)磁盘。(3)光盘。三输入设备三输入设备 输入设备是向计算机输入数据、信息的设备总称。(1)键盘 (2)鼠标器 (3)数字化仪 (4)扫描仪 (5)数码相机 扫描仪的工作原理如图2.3所示。图2.3 扫描仪工作原理图 CAD系统中常用的扫描仪,其输出的是矢量化的图形,即扫描仪扫描图纸时,得到一个光栅文件,接着进行矢量化处理,输出一种格式紧凑的二进制矢
5、量文件。对于不同的CAD 系统,还需对上述的二进制矢量文件进行格式转换,才能变成特定的CAD系统可接受的图形文件格式,如图2.4所示。图2.4 采用扫描仪的图形输入系统四输出设备四输出设备(1)打印机:撞击式打印机:24针点阵打印机 打印机 激光打印机 非撞击式打印机:喷墨打印机(2)绘图机:平板式绘图机 笔式绘图机 绘图机 滚筒式绘图机 喷墨绘图机 非笔式绘图机 激光绘图机 静电绘图机 五图形显示设备五图形显示设备 显示器件有阴极射线管(CRT)、液晶显示(LCD)、激光显示、等离子体显示等。当前最常用的是阴极射线管显示器和液晶显示器。显示器所显示的数字、字符和图像是由一个个象素组成的,象素
6、是显示屏上的最小信息,每个小点称作一个象素。组成显示网络的象素多少决定了图形的清晰程度,通常用分辨率表示,象素越多,分辨率越高。目前微机显示器的分辨率通常有中分辨率(600350,640480)和高分辨率(800600,1024768,12801024)两类。2.2 CAD 系统的软件系统的软件 系统软件 CAD系统的软件可分为三个层次 支撑软件 应用软件 一系统软件一系统软件 系统软件指操作系统和系统实用程序等,它用于计算机的管理、控制和维护。1操作系统。2编译系统。3系统实用程序。二支撑软件二支撑软件 1图形处理软件。负责CAD的绘图。2几何建模软件。Pro/E等 3数据库管理系统。如Fo
7、xBASE,FoxPRO,工程数据库等 计算方法库:如解线性方程组。优化方法软件:4工程分析及计算软件 有限元分析软件:如ADINA等 机构分析及机构综合的软件:系统动态分析软件。5文档制作软件。WPS,WORD2000等。三三 应用软件应用软件 应用软件是用户为解决各类实际问题,在系统软件的支持下而设计、开发的程序,或利用支撑软件进行二次开发形成的程序,应用软件的功能和质量直接影响CAD系统的功能和质量。2.3 CAD系统的型式系统的型式 一大(中)型机系统一大(中)型机系统 二工作站系统二工作站系统 三微机系统三微机系统 四网络型系统四网络型系统 第第3章章 工程数据的处理工程数据的处理
8、从总体上说,处理工程数据的方法有以下三种:1程序化处理:程序化处理:在编程时将数据以一定的形式直接放于程序中。特点:程序与数据结合在一起。缺点:数据无法共享,增大程序的长度。2文件化处理:文件化处理:将数据放于扩展名为.DAT的数据文件中,需要数据时,由程序来打开文件并读取数据。特点:数据与程序作了初步的分离,实现了有条件的数据共享。缺点:(1)文件只能表示事物而不能表示事物之间 的联系。(2)文件较长。(3)数据与应用程序之间仍有依赖关系。(4)安全性和保密性差。3数据库管理:数据库管理:将工程数据存放到数据库中,可以克服文件化处理的不足。特点:(1)数据共享。(2)数据集中。(3)数据结构
9、化,既表示了事物,又表示了事物之间的联系。(4)数据与应用程序无关。(5)安全性和保密性好。方式的选择原则是:有利于提高CAD作业的效率,降低开发的成本。3.1 数表的程序化处理数表的程序化处理 3.1.1 一维数表的处理一维数表的处理 定义:只由一个已知变量查取所需数据的表格,称为一维数表。例:表3-1为由小链轮齿数Z查取齿数系数K的一维数表,试对其进行程序化处理。表3-1 Z 9111315171921 K0.4460.5550.6670.7750.8931.001.12 Z23252729313335 K1.231.351.461.581.701.811.94用Turbo C语言编程如下
10、:main()int i,Z1,ip=20;int Z14=9,11,13,15,17,19,21,23,25,27,29,31,33,35;float 14=0.446,0.555,0.667,0.775,0.893,1.00,1.12,1.23,1.35,1.46,1.58,1.70,1.81,1.94;printf(“请输入链轮齿数Z1:”);scanf(“%d”,&Z1);for(i=0;i14;i+)if(Zi=Z1)ip=i;i=15;if(ip20)printf(“n当Z=%d时,K=%f”,zip,kip);else printf(“n输入错误!”);3.1.2 二维数表的处理
11、二维数表的处理 定义:需由二个已知条件才能确定一个未知数据的表格,称为二维数表。例:表3-2用于链轮设计中,由节距t和链轮齿数z查取链轮轴孔最大直经dkmax和齿侧凸缘最大直经dh,试对其进行程序化处理。表3-2节距t9.52512.7015.87519.0525.40齿数zdhdkdhdkdhdkdhdkdhdk1122113018372245276038132815382248305736775115352046285837704693611741245434684582531107419472963417951946212684215333714789591077214295235937
12、795199651198015910925654287571097313188175120取变量:齿数zZi i=1,2,3,8 节距t Ti i=1,2,3,10 dhDHi,j i=1,2,3,8 j=1,2,3,10 dkDKi,j i=1,2,3,8 j=1,2,3,10 节距t31.7538.1044.4550.863.50齿数zdhdkdhdkdhdkdhdkdhdk1176509160106711218015210313966411679135911551051931321511780140951641111871292351631713793165112193132220152
13、27519319158108189129221153253177316224211781222141482501752852003572542319913723816527819731822439827825219152263184307217335249438310用Turbo C语言编程如下:main()int i,j,Z1,ip=20,jp=20;float T1;int Z8=11,13,15,17,19,21,23,25;float T10=9.525,12.7,15.875,19.05,25.4,31.75,38.1,44.45,50.8,63.5;int DH810=22,30,
14、37,45,60,76,91,106,121,152,28,38,48,57,77,96,116,135,155,193,35,46,58,70,93,117,140,164,187,235,41,54,68,82,110,137,165,193,220,275,47,63,79,94,126,158,189,221,253,316,53,71,89,107,142,178,214,250,285,357,59,79,99,119,159,199,238,278,318,398,65,87,109,131,175,219,263,307,315,438,;int DK810=11,18,22,
15、27,38,50,60,71,80,103,15,22,30,36,51,64,79,91,105,132,20,28,37,46,61,80,95,111,129,163,24,34,45,53,74,93,112,132,152,193,29,41,51,62,84,108,129,153,177,224,33,47,59,72,95,122,148,175,200,254,37,51,65,80,109,137,165,196,224,278,42,57,73,88,120,152,184,217,249,310;printf(“请输入链轮齿数Z1:”);scanf(“%d”,&Z1);
16、for(i=0;i8;i+)if(Zi=Z1)ip=i;i=9;printf(“请输入节距T1:”);scanf(“%f”,&T1);for(j=0;j10;j+)if(Tj=T1)jp=j;j=11;if(ip20&jp20)printf(“n当z=%d,t=%f时,dh=%d,dkmax=%d”,Zip,Tjp),DHipjp,DHipjp);else printf(“n输入错误!”);3.2 数表的文件化处理数表的文件化处理 1 1用编辑软件产生顺序文件用编辑软件产生顺序文件 2 2用程序生成顺序文件用程序生成顺序文件 3 3文件的读取和检索文件的读取和检索 以表3-1由小链轮齿数Z查齿
17、数系数K的文件化处理为例:建立数据文件ZK.DAT如下:9 11 13 15 17 19 21 23 25 27 29 31 33 35 38 0.446 0.555 0.667 0.775 0.893 1.0 1.12 1.23 1.35 1.46 1.58 1.70 1.81 1.94 2.12 用Turbo C语言编程如下:main()int i,z1,z15,jp=20;float k15;FILE*fp;fp=fopen(“ZK.DAT”,“r”);for(i=0;i15;i+)fscanf(fp,“%d”,&zi);for(i=0;i15;i+)fscanf(fp,“%f”,&ki
18、);fclose(fp);printf(“请输入链轮齿数z1:”);scanf(“%d”,&z1);for(i=0;i15;i+)if(zi=z1)ip=i;i=16;if(ip20)printf(“n当z=%d时,k=%f”,zip,kip);else printf(“n输入错误!”);3.3 一维数表的插值处理一维数表的插值处理 由于一维数表只给出了结点X1,X2,Xn对应的函数值Y1,Y2,Yn,而对于非结点上的函数值,如对表3-1,欲取非结点Z1=18或Z1=24时的K值,则必须用插值法解决。1 1线性插值法:线性插值法:已知:两点(X1,Y1),(X2,Y2)求:位于X1,X2之间的
19、X坐标对应的Y 可用如下的线性插值公式:Y=Y1+(Y2-Y1)(X-X1)/(X2-X1)2 2拉格朗日二次插值(抛物线插值):拉格朗日二次插值(抛物线插值):已知:三点(X1,Y1),(X2,Y2),(X3,Y3)求:位于X1,X2之间或X2,X3之间的X坐标对应的Y可用如下的抛物线插值公式:Y=(X-X2)(X-X3)/(X1-X2)(X1-X3)*Y1+(X-X1)(X-X3)/(X2-X1)(X2-X3)*Y2+(X-X1)(X-X2)/(X3-X1)(X3-X2)*Y3 3.4 线图的处理线图的处理 线图的处理方法有两种,一种是将其转换成表格,对非表格节点采用插值法求得;另一种方法
20、是将其写成公式表示。3.4.1 3.4.1 线图的表格化处理线图的表格化处理 如果能把线图转换成表格,那么就可以使用数表的处理方法对其进行处理。现有图3.1所示线图,下面对其进行表格化处理:在图3.1所示线图上取n个节点(X1,Y1)(X2,Y2)(Xn,Yn),将其制成表格如表3-3所示。节点数取得越多,精度就越高。节点的选取原则是使各节点的函数值不致相差很大。图3.1 线图 X1 X2 X3 .Xn Y1 Y2 Y3 Yn 将线图表格化后,再参照数表处理方法,用程序化或将线图表格化后,再参照数表处理方法,用程序化或文件化处理方法进行处理。文件化处理方法进行处理。3.4.2 3.4.2 线图
21、的公式化处理线图的公式化处理 上述线图的表格化处理方法,不仅工作量较大,而且还需占用大量的存储空间。因此,理想的线图处理方法是对线图进行公式化处理。线图的公式化处理有两种方法。一种是找到线图原来的公式,另一种是用曲线拟合的方法求出描述线图的经验公式。曲线拟合的方法很多,常用的是最小二乘法。下面介绍曲线拟合的最小二乘法。表3-3 1 1最小二乘法拟合的基本原理最小二乘法拟合的基本原理 2 2最小二乘法的多项式拟合最小二乘法的多项式拟合 3.5 工程数据的数据库管理工程数据的数据库管理 3.5.1 3.5.1 数据库系统及管理数据库系统及管理 虽然数据库也是以文件方式存储数据,但它是数据的一种高级
22、组织形式。在应用程序和数据库之间,有一个新的数据管理软件DBMS(DataBase Management System),即数据库管理系统。数据库管理系统是一组专门处理、访问数据库的程序,它可完成数据库的定义、管理、建立、维护等操作,是用户与数据库之间的接口。每一种数据库管理系统都是基于某种数据模型的。数据模型是指数据库内部数据的组织方式,描述了数据之间的各种联系。现行数据库系统中,常用的数据模型有以下三种:1 1层次模型层次模型 2网状模型 3关系模型 关系模型把实体与实体间的联系归结为二维表的组织结构,每一张二维表称为一个关系,其中表中的每行为一个记录,每列为数据项(称为字段)。目前国内普
23、遍应用的FoxBASE,FoxPro都是关系数据库系统。3.5.2 FoxPro3.5.2 FoxPro关系型数据库系统关系型数据库系统 1 1FoxProFoxPro系统简介系统简介 (1)命令。在FoxPro语言中,对数据的操作都是由命令来完成的。命令相当于一般高级语言中的语句,但更精炼。FoxPro操作命令的一般形式为:命令动词FORWHILE (2)函数。在FoxPro中提供了大量的内部函数,每个函数都有函数名。FoxPro提供了七大类函数,包括字符处理函数、数值函数、逻辑函数、日期和时间函数、数据库操作函数、系统函数和其他函数。(3)文件。FoxPro有多种文件类型,以扩展名不同来区
24、分。(4)操作符。FoxPro提供了四种类型的运算,因而有四种操作符:算术操作符 关系操作符 逻辑操作符 字符串操作符 (5)数据库结构。对数据库中每个字段的定义建立了数据库文件的数据结构。字段定义由三项组成:字段名 字段类型 字段宽度 2 2FoxProFoxPro常用命令常用命令 FoxPro数据库系统提供了100多种操作命令,包括数据库文件的建立、编辑、使用、检索、统计、多重数据库操作、报表输出及其他辅助功能等。下面介绍一些FoxPro的常用命令。(1)CREATE命令 CREATE为建立数据库文件基本结构的命令,其一般格式为:CREATE 该命令将建立一个用户给定的数据库文件,默认扩展
25、名为.DBF。(2)APPEND命令 APPEND命令用于向数据库“追加”数据记录。(3)USE命令 USE命令用于打开数据库文件,其一般格式为:USE (4)LIST命令 LIST命令常被用来显示数据库文件中的所有记录或显示数据库文件的结构。(5)DISPLAY命令 DISPLAY命令与LIST命令的功能相似,但当没有指定范围时,DISPLAY命令只显示当前一条记录。(6)GOTO命令 GOTO命令是将记录指针直接定位到指定的记录上 (7)SKIP命令 SKIP命令的一般格式为:SKIP 该命令用于将记录指针从当前位置向前或向后移动,移动的记录数等于的值。(8)EDIT命令 EDIT命令用于
26、从当前记录开始顺序修改记录。(9)LOCATE命令 LOCATE命令用来在无索引的数据库文件中查找满足条件的记录,它的一般格式为:LOCATE FOR WHILE (10)SUM命令 SUM命令用来对有关数字型字段的表达式求和,它的一般格式为:SUM FOR WHILE 3 3FoxProFoxPro常用函数:常用函数:在FoxPro中提供了大量的内部函数,以满足用户进行数据库编程的需要。下面分类介绍FoxPro中的常用函数。(1)数学运算函数 *取绝对值函数ABS()*指数函数EXP()*取整函数INT()*自然对数函数LOG()*平方根函数SQRT()*最大值函数MAX()(2)字符函数
27、这里只介绍求子串函数SUBSTR(),调用该函数的一般格式为:SUBSTR(,)(3)转换函数 *小写转换大写函数UPPER()*大写转换小写函数LOWER()*数字型转换成字符型函数STR()*字符型转换成数字型函数VAL()(4)测试函数 *数据类型测试函数TYPE()*字符串长度测试函数LEN()*光标行坐标测试函数ROW()*光标列坐标测试函数COL()*文件结束测试函数EOF()4 4建立数据库和数据录入建立数据库和数据录入 数据库文件的建立包括两个步骤:首先是定义数据库结构,也就是要把数据库含有多少个字段,每个字段的特征(字段名、数据类型、字段宽度、小数点位数)告诉系统。其次是按照
28、定义好的数据库结构输入每条记录的数据内容。(1)定义数据库结构:可用定义数据库结构的命令CREATE或利用FoxPro菜单系统定义一个新的数据库。(2)数据的输入:FoxPro有多种数据输入方式,最常用的有以下三种:*立即方式输入数据 *扩充方式追加新记录 *使用BROWSE命令增加数据 5 5程序设计程序设计 FoxPro不仅提供了单命令的工作方式,还允许用户编写程序执行预定的操作,即可将FoxPro提供的命令、函数和程序控制语句组织成为有序的集合,并以文件的形式存放在磁盘上,这个有序的集合称之为FoxPro源程序,这个文件称之为源程序文件。在FoxPro中,源程序的扩展名为.PRG,程序文
29、件可用任何一种编辑软件建立和修改。程序设计功能为用户在FoxPro系统的基础上开发各自所需的数据库应用软件提供了保证。3.5.3 3.5.3 数表的数据库处理数表的数据库处理 我们可以用FoxPro数据库来处理表格数据。下面以表3-2二维数表为例来介绍数表的数据库处理方法:1建立数据库文件:确定数据结构:字段名 类型 宽度 小数 1 齿数Z N 2 0 2 节距T N 6 3 3 凸缘直径DH N 6 1 4 轴孔直径DK N 6 1建立TABP.DBF库文件,并输入记录的内容:记录号 齿数Z 节距T 凸缘直径DH 轴孔直径DK 1 11 9.525 22 11 2 13 9.525 28 1
30、5 3 15 9.525 35 20 .8 25 9.525 65 42 9 11 12.70 30 18 10 13 12.70 38 22 .80 25 63.50 438 310共有80个记录 2 2数据库检索:数据库检索:建立后缀为.PRG的数据库命令组文件进行数据库检索。现编写数据库程序(取名TABP.PRG)如下:SET HEADING OFF (不显示栏标题)SET SAFETY OFF (不显示提示信息来询问已存在的文 件是否重写)USE TABPCLEARSET TALK OFF (不显示命令的执行信息)SET DEVICE TO SCREEN(或 PRINT)STORE 1
31、 TO ZZ6,2 SAY 请输入齿数:GET ZZ PICT 99 READ STORE 1.0 TO TT8,2 SAY 请输入节距:GET TT PICT 99.999READDO WHILE.NOT.EOF()IF 齿数Z=ZZ.AND.节距T=TT CLEAR DISPLAY GOTO BOTTOM SKIP 1 ENDIF SKIPENDDOSET TALK ONRETURN程序文件建好后,可在FoxPro命令窗口使用DO命令执行如下:DO TABP 3.5.4 FoxPro 3.5.4 FoxPro与高级语言的接口与高级语言的接口 FoxPro与高级语言之间的数据通信是以文本文件
32、为媒介的,其过程如图3.10所示。图3.10 FoxPro与高级语言之间的数据通信 1 1FoxProFoxPro向高级语言传送数据向高级语言传送数据 FoxPro与高级语言交换数据可以通过系统数据格式文件(SDF)和通用格式文件实现。FoxPro建立文本文件(扩展名为.TXT)的命令为:COPY TO TYPE 该命令是由当前打开的数据库文件生成指定的文本格式文件,而生成文件的类型由指定。文件类型可以为:SDF系统数据格式文件,又称标准格式文件。DELIMITED通用格式文件,也称带定界符的格式文 件。2 2FoxProFoxPro接收由高级语言传递的文本文件的数据接收由高级语言传递的文本文
33、件的数据 如果高级语言按照系统数据格式文件和通用格式文件的格式生成文本文件,就可将数据追加到数据库文件中去。APPEND FROM TYPE命令是将已有的系统数据格式文件和通用格式文件追加到当前打开的数据库文件中,该命令的一般格式为:APPEND FROM TYPE 其中为文本格式文件名,为SDF或DELIMITED。3.5.5 3.5.5 工程数据库简介工程数据库简介 CAD是一个十分复杂的系统,具有十分复杂的数据类型和联系以及大量的工程数据。采用一般的事物管理数据库系统并不能完全满足CAD作业的需要,因而出现了工程数据库管理系统EDBMS(Engineering Data Base Man
34、agement System)。1 1工程设计中的数据工程设计中的数据 在事物型管理领域中,数据类型较单一,主要是文字型。而在工程领域中,数据种类多、结构复杂。工程设计中的数据类型主要有以下4种:(1)管理型数据。主要包括产品设计和制造中所用到的数据资料,如标准、规范、材料、产品目录等。(2)设计型数据。指在工程设计与制造中产生的数据,如设计的产品结构数据、中间变量以及各子系统间信息交流的数据等。(3)图形数据。包括各种工程图表、二维工程图形、三维几何造型等数据。(4)各种软件包。进行工程计算及图形处理的软件,如有限元分析、优化设计、强度校核、动力分析、三维图形显示等。2 2对工程数据库系统的
35、要求对工程数据库系统的要求 (1)支持复杂的数据类型,反映复杂的数据结构。(2)支持反复建立、评价、修改并完善模型的设计过程。(3)工程数据模型必须支持层次性的设计结构。(4)支持多用户的工作环境并保证在这种环境下各类数据语义的一致性。(5)具有良好的用户界面。第第4 4章章 图形坐标变换与裁剪图形坐标变换与裁剪 4.1 4.1 二维图形的坐标变换二维图形的坐标变换 在图形显示过程中,用户需对图形进行平移、放大、旋转等基本的几何变换操作。图形的平移、放大、旋转从数学上看都是几何性质的“变换”,故又称为图形的几何变换。1 1二维图形坐标变换的基本原理:二维图形坐标变换的基本原理:(1)平移变换:
36、一个点P(x,y)平移到P*(x*,y*),平移后产生的新坐标如下:x*=x+Dx y*=y+Dy (2)变比例变换:X*=SxX Y*=SyY (3)旋转变换:X*=Xcos-Ysin Y*=Xsin+Ycos 2 2坐标变换的矩阵表示形式:坐标变换的矩阵表示形式:一个点的坐标可以用矩阵形式x y 或 表示,坐标变换的矩阵表示形式为:X*Y*=X Y =aX+cY bX+dY 其中:T=为变换矩阵。yxdcbadcba 注意,不论变换矩阵中的元素a、b、c、d为何值时,都不能使图形产生平移变换,即用2行2列的变换矩阵不能实现图形的平移变换。这就需要使用图形的另一种表示方法齐次坐标。3 3齐次
37、坐标与齐次变换矩阵:齐次坐标与齐次变换矩阵:为了进行平移变换,要给二维点的位置矢量增加一个附加坐标,使之成为三维行向量x y l,即用点的齐次坐标表示,这样便可进行运算了。(1)齐次坐标:齐次坐标是将一个n维空间的点用n+1维坐标来表示。如在直角坐标系中,二维点x y的齐次坐标通常用三维坐标Hx Hy H表示,一个三维点x y z 的齐次坐标通常用四维坐标Hx Hy Hz H表示。在齐次坐标系中,最后一维坐标H称为比例因子。三维直角坐标与其齐次坐标的关系是:x=Hx/H y=Hy/H z=Hz/H 由于H的取值是任意的,所以任一点可用多组齐次坐标表示。在一般使用中,总是将H设为“1”,以保持两
38、种坐标的一致。(2)齐次变换矩阵:对于二维坐标系上的点,齐次坐标为Hx Hy H,而齐次坐标变换矩阵的形式是:T=snmqdcpba 4 4二维复合变换:二维复合变换:实际上,上述介绍的几种基本变换一般不单独出现,通常出现的都是复合变换。有的图形须经过多次基本变换才能完成,这种由两个以上基本变换构成的变换称为复合变换。设各次变换的变换矩阵分别为T1,T2,Tn,则复合变换矩阵是各次变换矩阵的乘积。例:当图形要对画面中的某一点(x0,y0)作放大时,可通过如下三种基本变换复合而成:(1)首先将坐标原点(0,0)平移至(x0,y0)(2)然后图形以(x0,y0)为中心作放大 (3)最后将坐标原点自
39、(x0,y0)的位置移回原处(0,0)则以点(x0,y0)为中心,放大系数分别为Sx、Sy的复合变换矩阵为:T=T1T2T3=同理,当图形绕坐标原点以外的任意点(x0,y0)作旋转时,也可以通过三种基本变换复合而成,即将旋转中心平移到坐标原点,其变换矩阵为T1;然后使图形绕坐标原点旋转角,变换矩阵为T2;最后将旋转中心平移回原来的位置,其变换矩阵为T3。则绕坐标原点以外的任意点旋转角的复合变换矩阵为:T=T1T2T3=1)cos1(sinsin)cos1(0cossin0sincos0000yxyx1)1()1(000000yxyxsysxss 4.2 4.2 三维图形的坐标变换三维图形的坐标
40、变换 三维图形的坐标变换是二维图形坐标变换的简单扩展。三维齐次坐标变换矩阵的形式是:T=4.2.1 4.2.1 三维基本变换三维基本变换 1比例变换:2反射(对称)变换:(1)对xoy平面的反射变换 (2)对xoz平面的反射变换 snmlrjihqfedpcba (3)对yoz平面的反射变换。齐次变换矩阵为:3 3平移变换:平移变换:4旋转变换:(1)绕X轴旋转角 (2)绕Y轴旋转角 (3)绕Z轴旋转角 4.2.2 4.2.2 三维基本变换矩阵的组合三维基本变换矩阵的组合 1绕通过坐标原点的任意轴的旋转变换矩阵 2绕通过任意点P(l,m,n),方向余弦分别为、的轴的旋转变换矩阵 4.3 4.3
41、 三维图形变换的应用三维图形变换的应用 4.3.1 4.3.1 正投影变换正投影变换 正投影变换可得到国家标准规定的六个基本视图主视图、俯视图、左视图、右视图、仰视图和后视图。1 1主视图变换矩阵主视图变换矩阵 主视图变换矩阵为:2 2俯视图变换矩阵俯视图变换矩阵 俯视图变换矩阵为:TH=3 3左视图变换矩阵左视图变换矩阵 左视图变换矩阵为:TW=100000001000001n100010000010001l 4.3.2 4.3.2 正轴测投影变换正轴测投影变换 正轴测投影图是工程上应用广泛的二维图形。其变换矩阵为:T正轴测=(4-1)在上述所示的正轴测投影变换矩阵中,只要给、不同的值,就可
42、得到不同的正轴测投影图。10000cos000sincos0sin0sinsin0cos 1 1正等轴测投影变换矩阵正等轴测投影变换矩阵 按国家标准规定,以=45、=35.2644代入式(4-1),即可得到正等轴测投影变换矩阵。2 2正二等轴测投影变换矩阵正二等轴测投影变换矩阵 按国家标准规定,以=20.7、=19.47代入式(4-1),即可得到正二等轴测投影变换矩阵。4.3.3 4.3.3 透视投影变换透视投影变换 透视图是采用中心投影法得到的图形,即通过投视中心(视点),将空间立体投射到二维平面(投影面)上所产生的图形。1 1透视变换矩阵透视变换矩阵 2 2一点透视变换一点透视变换 4.4
43、 4.4 开窗与裁剪开窗与裁剪 4.4.1 4.4.1 基本概念和术语基本概念和术语 1 1用户坐标系(世界坐标系)用户坐标系(世界坐标系)2 2屏幕坐标(设备坐标)屏幕坐标(设备坐标)3 3窗口窗口 4 4视区视区 5 5裁剪裁剪 4.4.2 4.4.2 窗口窗口视区变换视区变换 4.4.3 4.4.3 二维图形的裁剪二维图形的裁剪 1 1点的裁剪点的裁剪 在图形剪裁中,最基本的是点的裁剪。对于某一点P(x,y),只要满足 xmin xxmax ymin yymax 则该点一定落在边界所围成的矩形框内。2 2直线裁剪的直线裁剪的CohenCohenSutherlandSutherland算法
44、算法 延长窗口的边界,将屏幕分为九个小区域,中央小区域就是要裁剪的区域。每个小区域用一个四位二进制代码表示,其中各位数字的含义如下;小区域在裁剪区域之左,即xxmax,则c2=1,否则c2=0;小区域在裁剪区域之下,即yymax,则c4=1,否则c4=0;3 3直线的矢量裁剪方法直线的矢量裁剪方法 这种裁剪方法与上面所说的方法相类似,只是判别端点是否落在窗口框内所采用的过程不一样。在该算法中,同样用四条窗口边框直线把平面分割成九个区域,为了叙述算法过程方便起见,我们把这九个区域分别表上0、1、2、3、8号码。4 4多边形裁剪的多边形裁剪的SutherlandSutherlandHodgmanH
45、odgman算法算法 SutherlandHodgman算法是解决多边形裁剪的较好算法,其处理对象是多边形的顶点,依次用窗口的四条边框线对多边形进行裁剪,即先用一条边框线对整个多边形进行裁剪,得到一个或者若干个新的多边形,再用第二条边对这些新产生的多边形进行裁剪,如此进行下去,直到用四条边框线都裁剪完为止。第第5 5章章 工程图的绘制工程图的绘制 工程设计的结果一般都是以工程图的形式来表示,因此,可把工程图看作是工程的语言。绘制工程图是CAD的一个重要内容,本章将介绍使用AutoCAD 2002图形环境绘制工程图。5.1 AutoCAD20025.1 AutoCAD2002简介简介 5.1.1
46、 AutoCAD20025.1.1 AutoCAD2002的工作界面的工作界面 AutoCAD 2002的工作界面主要由标题栏、下拉菜单栏、工具栏、绘图窗口、命令行窗口、状态栏和滚动条等几部分组成。5.1.2 5.1.2 命令的输入命令的输入 AutoCAD要求用户输入命令来实现绘图操作,用户可以用下列任何一种方式输入命令:1 1从键盘输入从键盘输入 用户从键盘输入命令时,在命令行窗口中的提示符必须为“Command:”,此时用键盘输入命令名,接着按回车键或空格键,就完成了命令的输入。2 2从下拉菜单输入从下拉菜单输入 用户可从下拉菜单中所列的菜单选项中选择要输入的命令。3 3从工具栏按钮输入
47、从工具栏按钮输入 用户可从工具栏中单击一个图标按钮就可完成一个命令的输入 4 4从数字化仪菜单输入从数字化仪菜单输入 如果定义了数字化仪菜单,输入命令时,只需将数字化仪的触笔或者游标指在所需菜单选项上,然后按“拾取”按钮即可。5.1.3 5.1.3 新建、打开与保存图形文件新建、打开与保存图形文件 1 1新建图形文件新建图形文件 AutoCAD提供了New命令来新建图形文件。2 2打开已有图形文件打开已有图形文件 如果用户想对已有的图形文件进行继续画图或改动,可以用Open命令打开已有的图形文件。3 3保存图形文件保存图形文件 在AutoCAD 2002中,有两种保存图形的方式:一是给系统变量
48、SAVETIME赋值(单位为分钟)来设定自动存储时间,即每间隔设定的时间,系统就自动地保存一次图形文件,从而避免由于突然断电而丢失所做工作的情况;二是用户调用Save命令来存储图形。5.1.4 AutoCAD20025.1.4 AutoCAD2002绘图环境设置绘图环境设置 1 1设置绘图界限设置绘图界限 用户可使用Limits命令来重新设置绘图界限,以满足我们绘制图形的需要。2 2设置图形单位设置图形单位 AutoCAD提供了Units命令来设置图形单位。3 3设置绘图区背景颜色设置绘图区背景颜色 用户可设置自己喜欢的绘图区背景颜色。单击“Tools”下拉菜单下的“Options”选项,将打
49、开Options对话框;在对话框中再单击“Display(显示)”按钮,将出现配置背景颜色对话框。4 4设置捕捉模式设置捕捉模式 AutoCAD允许用户预先设置好几种捕捉模式,在绘图过程中,设置好的捕捉模式一直在起作用(除非用户改变设置),只要将光标定位在特征点附近,AutoCAD就会自动使用相应的捕捉模式,而不必用户再去选择。单击Tools下拉菜单中的Drafting Setting(草图设置)选项,可打开草图设置对话框,再单击草图设置对话框中的Object Snap(对象捕捉)按钮,就可弹出对象捕捉选项卡。对象捕捉选项卡中提供了十三种捕捉模式:*Endpoint:捕捉端点。*Midpoin
50、t:捕捉线段或弧线的中点。*Center:捕捉弧线或圆的圆心。*Node:捕捉节点。*Quadrant:捕捉最近的弧或圆的象限点。*Intersection:捕捉交点。*Extension:捕捉延伸位置。*Perpendicular:捕捉垂足。*Tangent:捕捉切点。*Nearest:捕捉最近点。*Apparent intersection:捕捉外观交点。*Parallel:捕捉平行位置。5 5设置正交模式设置正交模式 AutoCAD提供有正交模式,当正交功能打开时,用户可以方便地绘出与当前轴平行的直线,即绘出的直线相互垂直。用户可用Ortho命令来设置正交模式 5.1.5 5.1.5 图
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。