计算机图形学算法可视化方法研究

2012-12-10 07:45卜华龙曹骞
巢湖学院学报 2012年6期
关键词:图形学可视化多媒体教学

卜华龙 曹骞

(巢湖学院计算机与信息工程学院,安徽 巢湖 238000)

1 引言

计算机图形学是一门用计算机生成、处理和显示图形的课程,该课程中包含了大量的计算机图形学相关算法、流程等较抽象的内容。我们在教学中发现,由于它们难于理解、枯燥、难学,很多学生被一些必须掌握的图形学算法所困扰,从而学习算法的积极性和主动性受到影响,增加了教学的难度。算法类课程教学的困难就是学生在学习时无法真实看到,必须通过想象以理解算法及其动态变化。通常教材及传统的教学方法由于受到篇幅的限制,常常只能给出一些主要流程、呈现一些关键图示,细节部分无法展开,这些都不利于学生学习和掌握算法。为了解决这一教学问题,人们开始研究与教学有关的可视化技术,将不直观的信息转换成直观的图形或图像信息显示在计算机屏幕上[1,2,3,4]。

然而多媒体教学并不等同于可视化。传统的多媒体技术如POWERPOINT由于软件本身功能的局限性,其图形化往往通过照片体现,由其制作的课件往往是课本上的文字、图像的简单罗列,无法完全体现出可视化教学的精髓,即多媒体教材只是黑板教学过程的重现[5,6]。

可视化技术于1986年提出,立刻引起了广泛的兴趣和重视,很多研究者开展了相关的研究工作[7-12],其中最典型的是 Brown等人开发的基于工作站的 Balsa可视化系统,这一系统已经应用于布朗大学教育计算实验室,成为计算机相关学科的常规教学手段之一[8]。随后Stasko研制出Tango的可视化系统,使算法可视化应用于课堂的教学演示[9]。教学内容的可视化是当今现代化教育的一个前沿热门课题[10-12]。结合可视化技术的多媒体教学,为传统教学注入了新的生机与活力,展现出强大的优势。

在国内由于各种客观条件的限制,这方面的研究刚刚开始。随着计算机相关技术的发展,可视化教学软件、教学模块、课件等研制已是大势所趋[1-6]。FLASH软件具有动态展示性和可视化性质,本文利用FLASH软件制作了常见计算机图形学算法的可视化模块,利用其动态展示算法详细执行过程,抛弃以往如POWERPOINT课件简单罗列文字和图片的制作方式,学生在学习时通过动画直接观察算法的执行过程以及深层结构,可以从具体的图形动画中理解算法,详细了解具体执行步骤和执行顺序。本文将算法可视化程序模块与传统的多媒体教学模块结合,提高了教学效率,更适合大专院校理科类教学的特点。

2 可视化内容与目标

目前我们完成了常见的抽象性较高的算法可视化模块,如直线、圆、椭圆等生成、复杂多边形生成,图形处理,光栅化及分形模拟等。目标是生成具有如下特点的可视化教学辅助软件:

2.1 界面设计简单、高效。以用户的操作便捷性为前提,用户不必过多考虑软件模块的使用方法问题。

2.2 提供可控性。便于用户控制软件执行流程,应该提供一些接口便于用户调用或者输入一些数据,且对结果也有相关的判断。

2.3 提供相应代码。通过提供算法伪代码,可以通过对比加深学生的理解深度,帮助学习记忆算法思路,而不只是单纯可视化算法执行过程。

3 可视化教学框架

我们构建如下图所示计算机图形学可视化框架,具体步骤如下:首先,采用FLASH这一可视化编程工具制作算法每步的关键帧,以实现算法执行过程分步可视化的目的,然后利用相关技术得到算法动画演示模块。其次,使用常用的多媒体教学软件 (如PowerPoint、Authorware等)串联已得的可视化算法模块。最后加强人机交互设计。最终形成具有可视化效果的教学软件。这一框架既提高了教学的可理解性,也保证了教学软件使用的便捷性。

图1 可视化教学框架模型

4 可视化教学实例

本文以四分之一圆弧生成法为例,算法原理是:利用其函数方程,圆的函数方程为:x2+y2=R2,我们以下列公式构造每个像素逼近点,从而构造圆弧。

为了直观体现上述算法的执行过程,我们通过FLASH软件制作其可视化模块,生成结果如图2所示。

在制作时,我们考虑了界面设计的便捷性,可视化模块一目了然,在教学时,不需要花时间摸索软件模块的执行方法。为了便于教学控制,我们提供了三个按钮,并且FLASH软件本身提供一些控制方法,在使用时只要在软件上单击右键就能看到。同时,为了让学生对照理解算法实现原理,我们也提供了关键的代码执行动态演示。

图2 圆弧生成法效果图

5 总结和展望

传统的教学工具如POWERPOINT等由于其软件特点,无法体现算法类课程(如计算机图形学)的动态性、抽象性特点。为了解决这一教学问题,人们开始研究、开发相关的可视化工具、软件。如前所述,可视化技术兼顾图形生成和图像理解功能,既可理解输入的图像数据,也可利用特征描述生成图形,且具有良好的人机交互功能。另外,计算机图形学就是一门利用描述数据产生图形的学科。因此,在计算机图形学课程教学中引入可视化技术,一方面能辅助学生理解课程中概念和算法,另一方面其本身也是生动地帮助学生理解计算机图形学用途的例子。

[1]唐棣,郭禾.计算机图形学算法可视化教学研究与实践[J].电化教育研究,2009,(1):33-37.

[2]阎双.计算机图形学算法可视化教学研究与实现[D].大连:辽宁师范大学,2007.

[3]张玉新,张月清,卜治国.《计算机图形学》算法可视化教学研究与实现[J].河北农业大学学报(农林教育版),2009,(02):44-46.

[4]邵晓艳,李向,王素立.计算机图形学可视化教学研究与实践[J].河南机电高等专科学校学报,2010,(05):63-67.

[5]张恩成.计算机多媒体教学实况评析[J].电化教育研究,1999,(5):52~55.

[6]谢维,沈大林.关于多媒体 CAI课件设计的分析与思考[J].教育科学研究,2002,(5):40~42.

[7]Gitta domik.Visualization Viewpoints:Do We NeedFormal Education inVisualization?[J].IEEE Computer Graphics and Applications.2000(July/August).

[8]Brain John Foley.Visualization Tools:Models,Representations and Knowledge Integration[D].Dissertation for Doctor Degree,University of California,Berkeley1999.

[9]J.T.Stasko.Tango.A framework and system for algorithm animation[J].IEEE Computer,1990,23(9):27~39.

[10]Tao Chen,Tarek Sobh,A Tool for Data Structure Visualization and User-Defined Algorithm Animation[C].31th ASEE/IEEE Frontiers in Education Conference,2001(TID).

[11]Hermann Hartel, Michael Ludke:3D Simulations of Interacting Particles[J].Computing in Science Engineering,2000(July/August)

[12]Byrne,M.D.,Catrambone,R.and Stasko,J.T.Do Algorithm Animations Aid Learning[T].Technical Report GIT-GVU-96-18,Georgia Tech Graphics,Visualization,andUsability Center,1996.

猜你喜欢
图形学可视化多媒体教学
基于CiteSpace的足三里穴研究可视化分析
思维可视化
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
突出实践需求的GIS专业《计算机图形学》课程优化改革
多媒体教学为高中语文课堂插翅添翼
小学数学多媒体教学的实践探索
PBL+CBL联合多媒体教学在血管外科见习中的应用
如何正确认识多媒体教学
第7届国际图象图形学学术会议