目 录
第一章 绪 论 1
1.1 选题背景及意义 1
1.2 国内外研究现状 1
1.3 论文内容及结构安排 2
1.4 本章小结 3
第二章 矢量图形系统的分析与设计 4
2.1 开发思路 4
2.2 开发模式 4
2.3 功能分析 5
2.4 功能模块设计 6
2.5 本章小结 6
第三章 矢量图形系统的坐标转换 7
3.1 WINDOWS环境下的坐标系 7
3.1.1 设备坐标 7
3.1.2 逻辑坐标 7
3.2 设备坐标与逻辑坐标 8
3.2.1 设备坐标与逻辑坐标的关系 8
3.2.1 设备坐标及逻辑坐标的转换 8
3.3 窗口与视口 9
3.4 本章小结 9
第四章 实现矢量图形系统的文档和视图 10
4.1 矢量图形系统的图形元素类 10
4.1.1 图形元素基类 10
4.1.2 直线类 10
4.1.3 连续直线或封闭多边形类 10
4.1.4 圆类 10
4.1.5 圆弧类 11
4.1.6 标注文本类 11
4.1.7 图形参数类 11
4.2 矢量图形系统的文档 11
4.2.1 面向对象的文档管理机制 11
4.2.2 创建图形元素对象指针 11
4.2.3 矢量图形系统的文档 12
4.2.4 实现文档的管理功能 12
4.3 矢量图形系统的视图 13
4.3.1 建立坐标系 13
4.3.2 实现各类图形元素的绘制功能 14
4.3.3 实现视图的绘制 14
4.4 鼠标交互绘图 15
4.4.1 要解决的主要问题 15
4.4.2 交互绘制各类图形元素 15
4.5 本章小结 17
第五章 矢量图形系统的操作功能 18
5.1 图形操作菜单管理 18
5.1.1 增加菜单资源 18
5.1.2 添加消息处理函数 18
5.2 图形操作的具体实现 19
5.2.1 图形重画 19
5.2.2 图形放大和移动 20
5.2.3 重画上屏和重画首屏 22
5.2.4 显示全图 24
5.2.5 图形重画速度的提升 25
5.3 图形的点选与撤销 27
5.3.1 鼠标点选图形元素 27
5.3.2 各种图形元素的点选判断函数 28
5.3.3 实现点选图形元素功能 29
5.3.4 选中图形元素的特殊显示 31
5.3.5 撤销选中的图形元素 32
5.4 图形元素的删除 32
5.5 本章小结 35
第六章 总结与展望 36
6.1 总结 36
6.2 展望 36
参考文献 37
致 谢 38
摘 要
矢量图形系统作为GIS系统组成的一部分,随着GIS系统用户的不同,对于矢量图形系统的要求也不同,现有GIS矢量图形绘制系统功能全面,但是针对性差,所以有针对性的从底层自主开发符合自己需要的矢量图形系统是十分必要的。
论文利用面向对象的程序设计和C++类的组织方法,在VC6.0下实现了一个基本的矢量图形系统,能够实现鼠标绘制直线、圆、圆弧、圆形区域等功能。通过对矢量图形系统坐标系的建立及其与Windows坐标系之间的转换关系的探讨,实现了图形的无级缩放、漫游、全图显示等操作功能。通过对点选图形元素的原理的研究,实现了图形的选中、图形删除、放弃选中等功能。此外,就矢量图形的显示速度等问题进行了探讨,并提出了加快图形显示速度的基本方法:在显示一个图形元素前,对这个图形元素进行判断,判断这个图形元素是否在视图屏幕中,如果这个图形元素不在当前的视图屏幕中,就不用对这个图形元素进行绘制,以此节省绘制时间。
系统具有比较完善的图形绘制功能,可应用于城市信息管理系统中。
【关键词】矢量图形;鼠标绘图;无极缩放
Development and Implementation of Basic Vector
Graphics System Under VC
Abstract
Vector graphics system as a component part of the GIS system, GIS system users with different requirements for the vector graphics system is different, and the existing full-featured GIS graphics rendering system, but targeted poor, it targeted independent from the underlying development in line with their vector graphics system needs is essential.
By using object-oriented programming and C + + class method of organization, the organization implements a basic vector graphics system that enables the mouse to draw a straight line, circle, arc, circle and so on. Vector graphics system through the establishment of the coordinate system and its Windows coordinate system conversion relationship between study and realize the stepless zoom graphics, roaming, full map display and other operations functions. Click through on the principles of graphic elements to achieve the selected graphic, graphics, remove, abandon selected functions. In addition, vector graphics display speed of the other issues discussed,And proposed to accelerate the speed of the basic method of graphical display, which is a graphical element in the display before the judge on the graphic elements to determine whether the graphic elements in the view screen, if the graphic element is not the current view of the screen, they do not draw on the graphic elements in order to save rendering time.
System has a relatively complete graphics rendering capabilities, mainly used for urban information management system.
【Keywords】 vector graphic ; Mouse drawing;Promise Zoom
第一章 绪 论
1.1 选题背景及意义
一个基本的GIS系统包括管理空间坐标数据的矢量图形系统和管理属性信息的数据库管理系统,以及实现矢量图形系统与数据库管理系统双向连接的连接系统三个部分[1]。
矢量图形系统面向地理对象,是地理实体抽象和完整表达的主要方式,因而是GIS系统中重要的组成部分,也是开发一个GIS系统的重点所在[2]。
一些专业的商品化GIS软件都提供了比较完善的图形系统的功能,利用这些专业的工具软件进行开发,虽然开发难度不高,简单易学,但也普遍存在着一些弊端[3]:
⑴ 不易扩展。专业的GIS工具软件提供的接口复杂,难于修改,不能够很好的扩展;
⑵ 软硬件要求高。专业的GIS软件开发工具通常比较庞大,对系统软硬件的要求高;
⑶ 软件不易升级。利用GIS专业软件工具所进行的图形系统的开发,实质上只是在这些专业软件基础上做一些简单的应用开发,开发完成的产品同样需要这些专业软件工具的支撑,因此,软件的升级就要受到制约;
⑷ 代价高。商品化的GIS软件要面向最广的用户,所以软件和系统还是作为一个整体而存在,开发者必须要购买整个的GIS软件,代价较高,而且购买的平台中真正需要的功能可能只是很少的一部分,造成了软件资源的浪费。
此外,在实际的应用中,我们对系统的需求往往主要集中在某些特定功能上,如本论文结合信息平台的需求,所需要的功能主要是图形的绘制、显示、查询、缩放等。然而,商品化的GIS软件致力于提供解决方案,它提供了全面的GIS功能,因此,面向实际应用的针对性必然要差一些。
综合以上分析,对于有特定需求的用户来说,有针对性的从底层自主开发符合自己需要的矢量图形系统是十分必要的。
1.2 国内外研究现状
矢量图形系统作为GIS系统最重要的组成部分,应用领域也不断扩大,已进入了普通管理信息系统(MIS) [4],GIS矢量图形系统与普通管理信息系统相结合,克服了MIS系统的局限性,大大提高了系统的直观性和可操作性,同时提高了MIS系统所不能解决的如空间信息统计、属性信息计算等功能。
专业的GIS软件大都提供了较为完善的矢量图形的开发功能。借助这些专业的开发工具软件,出现了大量GIS系统的研究和开发成果。
文献
上一篇:
基于VC的图像边缘检测算法的研究与比较(2003doc)
下一篇:
采用VC的伺服电机控制毕业论文(2003doc)