计算机图形学课程算法演示系统
摘 要
本文以教师的课程演示系统为例,对教师的课程演示系统进行设计与改进,旨在通过我们设计出的演示系统能增加教师、学生和书本之间的交互性。文中首先对一些课程的演示系统的现状及其重要性进行了分析,提出实现教与学之间交互性的必要性与可行性。特别针对计算机图形学的课程演示系统进行设计,分析书本中的难点与重点的算法,设计出一个功能强大,交互性强,简单实用的教学软件系统。最后,文章对系统的设计实现过程进行了阐述。计算机图形学课程算法演示系统是结合计算机图形学这门课程的算法,经过实际的需求分析,采用功能强大的Visual C++ 6.0作为开发工具,运行于Windows98、ME Windows 2000 sp3、Windows XP等环境而开发出来的一款单机版的软件。在设计的过程中着重于系统的交互性、系统演示的准确性、各个模块间的兼容性和互补性。
关键词:计算机图形学;交互性;算法演示;Visual C++;面向对象
computer graphic course algorithm demo system
Abstract
Taking the teaching-course demo system as an example, this paper aims to design a new course demo system to achieve a betterment of interactivity among the teacher、teaching material and the student.
This paper firstly analyses the actualities and importance of some main course demo system, then brings forward the necessity and feasibility of teach-learn interactivity. Based on the computer graphic course demo system in particular, the author analyses its algorithm’s difficulties and the emphases and designs a functional good-interactivity and easy-going teaching software system. This paper finally expatiates the process of the design and implement of this system.
Keywords: computer graphic; interactivity; algorithm demo; Visual C++
目 录
1 绪论 1
1.1 计算机图形学的发展历史 1
1.2 计算机图形学的应用 1
1.2.1 信息显示 2
1.2.2 设计 2
1.2.3 模拟 2
1.2.4 用户界面 3
1.3 关于我国计算机图形学的研究 3
2 Visual C++ 简介 4
2.1 概述 4
2.2 理解VC工程 4
2.3 MFC编程特点 5
2.4 使用 Wizard 6
2.5 windows图形技术 6
3 需求分析 7
3.1 功能需求 7
3.1.1目标 7
3.1.2 方案: 8
3.2 环境需求 8
3.3 可行性分析 8
4 概要设计 9
4.1 总体概要设计 9
4.2 类的关联概要设计 10
5 详细设计 11
5.1 画线算法模块设计 11
5.1.1 数值微分(DDA)法 11
5.1.2 中点画线法 14
5.1.3 Bresenham算法 17
5.2 填充算法模块设计 20
5.2.1 扫描线算法 20
5.2.2区域填充算法 25
5.3 裁剪算法模块设计 26
5.3.1直线段裁剪 26
5.3.2多边形裁剪 33
5 总结 37
谢辞 38
参考文献 39
附录一:外文翻译---原文部分 40
附录二:外文翻译---译文部分 49
1 绪论
1.1 计算机图形学的发展历史
随着计算机绘图软硬件技术的不断发展,人们对有关理论和算法的深入研究,逐渐形成了一门新兴的科学——计算机图形学(CG:ComputerGraphics)。计算机图形学是近四十年来迅速发展起来的具有广泛应用前景的一门新兴科学,是科学技术领域中取得的重要成就之一。计算机出现后,为了在绘图仪和阴极射线管上输出图形,计算机图形学也随之产生了。它是随着计算机及其外围设备等技术的发展而不断完善的。
1950年,第一台图形显示器作为美国麻省理工学院(MIT)旋风I号(Whirlwind I)计算机的附件诞生了。该显示器用一个类似于示波器的阴极射线管(CRT)来显示一些简单的图形。