第三章总体设计
交互式CAD系统要涉及到大量的数据处理,如何描述、输入、管理、编辑
和输出它们,在开发以前需要进行详细的规划。
3.1总体规划
1.数据的组织和描述
(1)数据结构
(2)数学模型
2.数据的输入
实现鼠标交互式输入数据
3.数据的管理
1.0..0.0type结构
2.0..0.0VB类
4.数据编辑
0)图元的拾取和选择
0)图元的几何变化-平移和旋转。
5.数据的输出
(1)文本输出
(2)以DXF格式输出
6.UML类图
7.界面交互
3.2开发环境和工具
windows平台
Visualbasic6.0
3.3软件介绍
Visualbasic6.0为开发工具。
VB6.0是微软公司推出的可视化编程工具MSDN之一,Visualbasic6.0是一门功能强大的计算机语言,为用户提供了一系列的属性、方法和控件。采用了面向对象的编程技术进行编程。
3.4系统实现和设计主要分以下几个步骤
1.在windows平台下安装Visualbasic6.0软件。
2.创建主窗体和显示控制窗体。
3.用Visualbasic6.0语言来编写程序。
二.图元的变换
1.直线段的几何变换
(1)直线段的平移变换
直线段的平移变换实际上是对直线段的起点和终点作平移变换,然后将变换后的起点和终点用直线段相连接。在cline类模块中添加CGElement_Move过程,定义直线段的平移变换。该函数有两个参数,即basepos和despos,分别定义平〖本文来自:毕业设计论文网www.paper51.com〗移前后的相对位置。平移前直线段上任一点到basepos点的距离和方向与平移后直线段上对应点到despos点的距离和方向是相同的。两个点横坐标之间和纵坐标之间的差异分别表示横向和纵向移动的距离和方向。
'
(2)直线段的旋转变换
通过旋转直线段的起点和终点,可以实现直线段的旋转。在cline类模块中添加CGElement_Rotate过程,该过程的两个参数basepos和angle分别定义旋转的基点和角度。
2.多义线的几何变换
(1)多义线的平移变换
多义线的平移变换可通过平移多义线的顶点来实现。在cpolyline类模块中添加CGElement_Move过程,以描述多义线的平移变换。
(2)多义线的旋转变换
在cpolyline类模块中添加CGElement_Rotate过程,通过对多义线的顶点进行旋转变换来实现多义线的旋转变换。
3.圆的几何变换
(1)圆的平移变换
圆的平移动变换通过对圆的圆心和圆上一点进行平移变换类实现。在ccircle类模块中添加CGElement_Move函数,描述圆的平移变换。
(2)圆的旋转变换
在ccircle类模块中添加CGElement_Rotate过程,通过对圆心和圆上一点进行旋转变换来实现圆的旋转变换。
4.圆弧的几何变换
1.圆弧的平移变换
在carc类模块中添加CGElement_Move过程,实现圆弧的平移变换。
(2)圆弧的旋转变换
在carc类模块中添加CGElement_Rotate过程,对圆弧的圆心、起点和终点进行旋转变换。
2.3图形变换交互功能的实现
2.3.1平移变换—CMOVE类
平移变换的交互过程通过CMOVE类来实现。该类利用鼠标单击和移动事件代码来描述各种图元进行平移变换时的交互过程。该类实现了Ccommand接口。
2.3.2旋转变换
通过创建CRotate类来进行描述。通过响应鼠标单击和移动事件来用图形显示图元旋转的基点和角度。
2.4删除图元
包括内存删除和屏幕删除两部分。
参考文献
1.《计算机图形学》魏海涛编著.电子工业出版社
2.《计算几何—算法分析与设计》周培德著清华大学出版社
3.《计算机辅助设计与绘图》李学志编著清华大学出版社
4.《计算机图形学》吴良芝编著北京大学出版社
5.《vb6.0入门与技巧》土林森编著清华大学出版社
6.《线性代数》叶家琛等著同济大学出版社