小型绘图系统文档
- 格式:doc
- 大小:36.50 KB
- 文档页数:7
131vc小型绘图系统样本(样本只提供该系统的基本情况介绍,若需要完整的设计和论文,建议您购买本系统,凡是购买本站系统的,本站均根据您的要求,把系统上的开发信息,题目等修改成符合您的要求)本系统开发工具:VC本设计包含内容:源代码+毕业论文+开题报告+答辩稿论文大概:摘要本文较深入的研究了WINDOWS下绘图,算法,图形的保存方法,DXF文件的转换。
利用visualc++6.0开发工具实现了绘制直线,圆弧,圆,矩形,图形的自定义文件格式保存,DXF 格式的保存,AutoCAD 图形保存DXF文件格式的在小型图形系统中的显示。
关键词: 小型绘图系统;绘图;算法,保存;转换;vc++Abstract前言“图”是物体透射光或反射光的分布,“形”是人的视觉系统对图的接收在大脑中形成的印象或认识。
图形是两者的结合。
人类获取外界信息是靠听觉、视觉、触觉、嗅觉、味觉等,但绝大部分(约200%左右)来自视觉所接收的图形信息。
众所周知,计算机已成为快速、经济的生成图片的强大工具。
实际上已经没有哪个领域不能从使用图形显示中获益,因此也就不会奇怪为什么计算机图形学的应用是那么的广泛,同时计算机绘图技术发展越来越快,应用范围越来越广,计算机图形学在艺术领域中的应用成效也越来越显著,除了广泛用于艺术品的制作,还成功的用来制作广告、动画片,甚至电视电影。
VC++代表了基于Windows的C++语言产品,它完美地集成了传统的编程工具,如编译器、编辑器、调试器和原代码剖析器。
同时,它也集成了Windows中特殊的工具箱,如MFC(Micr osoft Foundation Classes)和Windows资源编辑器(App Studio)。
另外还加入了几种新工具,如轮廓应用程序生成器(App Wizard)、C++类管理器(Class Wizard)和类浏览器(C lass Browser),以及各种各样为开发Microsoft Windows下的C/C++程序而设计的工具。
这些工具给我们的编程带来了极大的方便。
MFC类库为我们提供了丰富的类资源,特别是MF C类库中提供的绘图类中提供了几乎所有的绘图函数,功能非常全,为我们进行图形设计提供了丰富的资源,用VC++语言进行绘图程序设计具有明显的优越性,一般图形都有层次结构,任何复杂的图形均可用简单图素描述。
而VC++语言具有指针、结构等丰富的数据类型,同时它的面向对象程序设计方法使图素模块(或绘图模块)之间的关系更加清晰,便于对图形进行修改、删除、插入等操作。
图映射到正方体、杯、瓶等器皿的表面,形成美丽奥妙的图案。
随着CAD与CAM技术的不断发展,DXF文件作为一种通用格式在CAD与CAM之间传递应用,但由于不同软件之间的结构或处理方式的差异,使得DXF文件在读取中经常会出现一些不方便之处。
小型图形系统的目的是为了能够让DXF文件和自定义文件之间相互转换,以方便用户使用不同的软件打开DXF文件,同时也可以将自定义的文件类型转换为DXF类型,用CAD打开,方便使用。
第一章计算机图形学的发展计算机图形学是随着计算机及其外围设备而产生和发展起来的。
它是近代计算机科学与雷达、电视及图形处理技术的发展汇合而产生的硕果。
在造船、航空航天、汽车、电子、机械、土建工程、地理信息、轻纺化工等领域中的广泛应用,推动了这门学科的不断发展,而不断解决应用中提出的各类新课题,又进一步充实和丰富了这门学科的内容。
计算机出现不久,为了在绘图仪和阴极射线管(CRT)屏幕上输出图形,计算机图形学随之诞生了。
现在它已发展成对物体的模型和图形进行生成、存取和管理的新学科。
一计算机图形学软件的发展随着计算机系统、图形学硬件、图形输入输出设备的发展,计算机图形软件及其生成、控制图形的算法也有了很大的发展。
概括起来有以下三种:(一)用现有的某种计算机语言写成的子程序包。
用户使用时按照相应的计算机语言的规定调用所需要的子程序生成各种图形。
如GKS,PHIGS, GL等,这种类型的图形软件基本上是一些计算机语言写成的子程序集。
在这类程序包的基础上开发的图形程序有便于移植和推广的优点,但执行速度相对较慢,效率低。
(二)扩充某一种计算机语言,使其具有图形生成的处理功能。
目前具有图形生成和处理的计算机语言很多,如: AutoLisp,Turbo C等,对解释型语言,这类功能的扩充还方便些。
对编译型的语言,扩充图形功能的工作量较大,且不具备可移植性,这类语言写的图形软件比较简练、紧凑、执行速度也较快。
(三)专用的图形系统。
对与某一种类型的设备,可以配置专用的图形生成语言。
如果要求简单,可以采用在多功能子程序包的基础上加上命令语言的方式。
如果需要配置一个具有综合功能的较为复杂的图形生成语言,又要求有较快的执行速度,则应开发或配置一个完整的编译系统。
比起简单的命令语言,它具有更强的功能;比起子程序包,它的执行速度更快、效率更高。
但系统开发工作量大,且移植性较差。
二计算机图形学算法的发展计算机图形学所涉及的算法是非常丰富复杂的,围绕着生成、表示物体的图形的准确性、真实性和实时性,其算法大致可以分为以下几类:(一)基于图形设备的基本图形元素的生成算法,如用光栅图形显示器生成直线、圆弧、二次曲线、封闭边界内的填色,填图案、反走样等。
(二)基本图形元素的几何变换、投影变换、窗口剪裁等。
(三)图形元素(点、线、环、面、体)的求交与分类以及集合运算。
(四)自由曲线和曲面的插值、拟合、拼接、分解、过渡、整体与局部修改等。
(五)隐藏线、面消除以及具有光照颜色效果的真实图形显示。
(六)不同的字体的点阵表示,矢量中、西文字符的生成及变换。
(七)山、水、花草、烟云等模糊景物的生成。
(八)三维或高维数据场的可视化,实时显示和图形的并行处理。
(九)虚拟现实环境的生成及其控制算法等。
多年来,这些算法得到了很大的讨论和探索,其中某些算法已日益趋于完善和成熟。
但很多算法还没有得到真正解决。
本系统主要是演示上述提到的一些算法。
三计算机图形学的应用由于计算机图形设备的不断更新和图形软件功能的不断扩充,也由于计算机硬件功能的不断增强和系统软件的不断完善,计算机图形学在近20年内得到了广泛应用。
目前,主要的应用领域有:(一)图形用户界面。
图形用户界面是人们使用计算机的第一观感。
如今在用户接口中广泛使用了图形和图标,大大提高了用户的直观性和友好性,也提高了相应软件的执行速度。
(二)计算机辅助设计与制造( CAD/CAM )。
这是一个最广泛、最活跃的应用领域。
计算机图形学主要用于设计过程,尤其在工程和建筑系统,现在几乎所有的产品都是计算机设计的。
简称 CAD 的计算机辅助设计方法现在也广泛的应用于建筑、汽车、飞机、轮船、宇宙飞船、计算机、纺织品和许许多多其他产品的设计中。
(三)图示图形学。
这是计算机图形学的另一个应用领域。
用来生成报告插图,或是用于投影设备的 35mm幻灯片和透明胶片。
图示图形常用于研究报告、管理报告、消费信息公报和其他类型的报告总结,财政、统计、数学和经济据。
典型的图示图形有条形图、折线图、曲面图、饼图以及其他给出多个参数之间的显示图。
(四)计算机艺术。
计算机图形学在艺术领域中的应用成效越来越显著,除了广泛用于艺术品的制作,还成功的用来制作广告、动画片,甚至电视电影,有的电影还获得奥斯卡奖。
(五)教学与培训。
计算机图形学生成的物理模型、财政模型和经济模型常用作教学的辅助工具。
物理系统的模型、哲学系统、人口趋势模型等可以帮助学员理解系统操作。
它可以使教学过程形象、直观、生动,极大地提高了学生的学习兴趣和教学效果。
如今,计算机辅助教学已深入到家庭和幼儿教育。
(六)可视化。
为科学计算、工程和医药的数据集或过程生成图形表示通常称为科学计算可视化( Scientific Visualization ),传统的科学计算的结果是数据流,这种数据流不容易理解也不易于检查其中的对错。
科学计算的可视化通过对空间数据场构造中间几何图素或用体绘制技术在屏幕上产生二维图象。
(七)图象处理。
尽管计算机图形学和图象处理中所使用的技术有所重叠,但两者有不同的应用。
在图形学中使用计算机来生成图形。
另一方面,图象处理则修改或解释现有图片。
图象处理的两个应用是:改善图片质量、对视觉信息的机器感觉,如应用于机器人。
第三章 DXF文件格式DXF实现了各种绘图软件之间转换。
(一).DXF文件结构DXF文件有两种格式:ASC码文本格式和二进制格式。
前者可以用记事本打开,简单易读,后者存储效率高。
DXF文件最小组成单位是组(GROUP),一个DXF文件由多个组组成。
每个组在DXF文件中占两行。
第一行是组码(GROUP CODE),它是一个整数;第二行是组值(GROU P VALUE),它的数据类型取决于组码的数值。
例如X坐标的组码为10,Y坐标的组码为20,Z 坐标的组码为30。
一个DXF文件分为多个节(SECTION),每个节均由多个组(GROUP)组成。
每个节均由一个组值为字符串“SECTION”的0组开始,后跟组值为表示段名的字符串的2组,其后为组成该节的各个组,最后以组值为字符串“ENDSEC”的0组表示该节结束。
所有节都结束后,在DXF文件的最后是组值为字符串EOF(END OF FILE)的0组作为文件的结束标志。
一个完整的DXF文件由标题段、表段、块段、实体段和文件结束段5部分组成,其内容如下。
☆标题段(HEADER)标题段记录AutoCAD系统的所有标题变量的当前值或当前状态。
标题变量记录了AutoCAD系统的当前工作环境,如SNAP捕捉当前状态、栅格间距式样、当前图层层名及线型、颜色等。
☆表段(TABLES)表段共包含4个表,每个表又包含可变数目的表项。
这些表在文件中出现的顺序是线型表(LTYPE)、图层表(LAYER)、字样表(STYLE)、视图表(VIEW)。
☆块段(BLOCK)块段记录了所用块的块名,当前图层层名、块的种类、块的插入基点及组成该块的所有成员。
块的种类分为图形块、带有属性的块和无名块三种。
无名块包括用HATCH 命令生成的剖面线和用DIM命令所完成的尺寸标准。
☆实体段(ENTITIES)实体段记录了每个实体的名称、所在图层及其名字、线型、颜色等。
☆文件结束段(EOF OF FILE)DXF文件的结束标志。
一个DXF文件由若干个组构成,每个组占两行,第一行为组的代码,第二行为组值。
组代码相当于数据类型的代码,它由CAD图形系统所规定,而组值为具体的数值,二者结合起来表示一个数据的含义和值。
例如,代码10代表一个点的X坐标,占一行,而其第二行4.5425则是点X坐标的具体数值,二者结合表示一点,其X坐标值为4.5425。