基于B/S模式的《计算机图像学》教学演示系统开发
2017-12-27周雅翠吉林建筑大学电气与计算机学院
周雅翠 吉林建筑大学电气与计算机学院
基于B/S模式的《计算机图像学》教学演示系统开发
周雅翠 吉林建筑大学电气与计算机学院
计算机图形学是一门专业基础课,对于普通本科学生的理解和掌握有一定难度,特别是在学时有限,学生基础薄弱的条件下,对于图形生成和处理算法是成为计算机图形学的教学难点,为此开发计算机图形学的可视化教学平台,是解决目前计算机图形学教学中的难题的最佳途径。本系统采用B/S模式,具有演示图形学算法的同时,还可查看对应的算法代码的特点,让学生更加生动形象地理解算法,提高教了学质量。
计算机图形学 算法可视化 教学演示 基本图形元素
计算机图形学是利用计算机研究图形的表示、生成、处理、显示的学科。目前,国内大多数高等院校的相关专业都开设了计算机图形学这门课程,在计算机图形学这门课程中本科生必须掌握的内容有直线的扫描转化,圆弧的扫描转化,多边形的扫面转化和区域填充,区域剪裁,反走样等。在教学过程当中,图形生成和处理算法是计算机图形学的基础,算法的理解和掌握是该课程的教学难点,构建计算机图形学可视化教学平台,是目前教学的迫切需求。本文针对《计算机图形学》教学演示系统进行设计与开发,力争实现算法演示与解读代码同步,让学生更好地理解抽象算法,提高教学质量。
1 计算机图形学及B/S模式简介
在计算机图形学中,图形一般由点、线、面、体等几何元素以及灰度色彩、线型、线宽等非几何属性组成。计算机图形学包含着极其广泛的内容,如图形硬件、实体造型,图形交互技术、以及计算机可视化、自然景物仿真、计算机动画、虚拟现实等。
B/S模式(Browser/Server,浏览器/服务器模式),是起源于WEB之后的一种网络结构模式,浏览器是客户端最主要的应用软件,用户通过浏览器访问互联网。B/S模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。B/S模式主要是利用了不断成熟的浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript...)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本。客户机上只要安装一个浏览器(Browser),服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server同数据库进行数据交互。
2 《计算机图形学》教学演示系统设计
鉴于培养方案的调整,导致教学理论学时缩减。本系统不仅能够动态演示图形元素的生成,也可同步查看的算法代码。系统有两个运行窗口,一个是演示图形内容,另外一个窗口是浏览对应生成图形的主要核心代码。所有演示内容都必须具有点击清屏功能,图形演示窗口内的图形才会清空,这样有利于图形的相互比较,尤其适用于同一种图形的不同生成算法。
一般计算机图形学算法主要教学内容主要包括:(1)二维图形生成—DDA算法、Bresenham直线、中点画圆、Bresenham画圆、中点画椭圆;(2)二维填充算法—X扫描线填充算法、种子填充算法;(3)图形变换(二维和三维)—平移变换、缩放变换、旋转变换、对称变换、错切变换、复合变换;(4)二维裁剪算法—点裁剪、Cohen-Sutherland直线裁剪、Sutherland-Hodgeman多边形裁剪;(5)曲线曲面构造—Bezier曲线、B样条曲线、B样条曲面等;(6)分形艺术—二叉树生成、Koch雪花生成、SP三角形、分形树、分形图像等算法。
DDA算法和Bresenham算法是计算机图形学中绘制直线的两种常用算法。
计算机图形学教学演示系统主要分为两部分,分别是只需要两个控制点和部分需要多个控制点。对于多边形填充需要判断构成的多边形是否合法,如果不合法则不能显示。
3 基于多线程的《计算机图形学》教学演示系统开发与实现
3.1 计算机图形学算法实现
本系统采用面向对象思想,结合图形生成任务和界面响应任务相互独立的策略,利用VC++的MFC类框架开发。由于学生具有VC++的程序设计基础,因此,降低了上机的难度。
系统主要有五大模块:基本概念模块、基本图形元素生成与实现模块、提高部分模块、计算机动画技术与软件能模块、练习模块。本节就五大模块的功能进行详细的分析与解说。
3.2 系统实现结果
本论文研究的《计算机图形学》教学演示系统可对计算机图形学中的算法进行演示。通过设计和开发《计算机图形学》教学演示系统,生成图形元素,并能跟踪生成过程,生动形象。
4 结束语
计算机图形学成功的应用到社会发展的各行各业,《计算机图形学》课程是一门对理论和实践要求都很高的课程《,计算机图形学》教学演示系统不仅可以夯实学生的基础理论知识,还可以培养学生解决实际问题的能力。开发的基于B/S模式的《计算机图形学》教学演示系统,具有演示图形生成,同时查看相应的算法的功能,并提供较全面的、便利的算法可视化学习和实验方法,能有效地帮助学生理解图形学中较为抽象、复杂的算法,达到提高课程教学质量的目的。
[1]李洪江,桂子娟.计算机图形学在电力系统中的应用[J].科技风,31111,11:68-69
[2]孔令德,计算机图形学基础教程(Visual C++版)[M].清华大学出版社,2008年4月
周雅翠,1962—,女,吉林省长春市人,本科,副教授,研究方向:计算机应用技术,计算机公共课教法研究。