论硕士研究生的“计算机图形学”教学思路和课件设计

2009-09-06 06:26杨若瑜
计算机教育 2009年22期

杨若瑜

摘要:笔者在多年的教学实践中,总结出强调经典理论的实用价值和最新动态、设立中心线索并注意内容的取舍和侧重、结合OpenGL编程实例完成对内容关联度的密切提示等教学思路,借此达到激发学生兴趣并提高教学过程系统性的目的,能够有效地提高教学质量。本文重点介绍了笔者的教学思路以及与之配合的课件设计和使用等。

关键词:计算机图形学;硕士教学;课件设计

中图分类号:G642 文献标识码:B

1引言

“计算机图形学”(以下简称“图形学”)是本校计算机专业的硕士选修课程,同时也常常被地理信息、地球科学等其他专业的学生选修。课程内容涉及图形显示处理流程、图形硬件设备、图形系统、二(三)维图形的生成和处理算法、裁剪、几何变换、交互技术、三维消隐等。

笔者在多年的教学准备和实践过程中,归纳出该课程的特点如下:(1)课程内容偏重于理论,部分算法较抽象且不易理解;(2)课程内容涉及面广;(3)较多算法或理论是几十年来固定不变的经典;(4)这些理论的作用隐藏于日常的计算机使用中,虽然无处不在,但体现为用户透明的状态。正因为以上几点,学生十分容易表现出畏难和轻视的情绪。因此,如何激发学生的学习兴趣并加强教学过程的系统性是关键问题之所在。

总体上,笔者主要通过强调经典理论的实用价值和最新动态、设立中心线索、在内容广度上适当取舍、在内容深度上侧重不同、以及对前后内容关联性的密切提示,使得学生在学习该课程的过程中,在心里自然、逐步地构建出一棵茂盛的“大树”——从“树干”(了解图形学的核心意义)开始,逐渐的长出“枝杈”和“树叶”(图形学的各项理论和相关算法等)。学生在课程结束之后,既可以围绕一片“树叶”娓娓道来,也可以对某个分支产生浓厚兴趣并进行深入的研究甚至在那里获得“果实”的回报。

2总体教学思路

2.1明确定位

笔者对本课程的定位如下:

(1) 打开窗口:95%以上的同学原来对图形学这一学科一无所知,当他们知道图形学和他们每天使用的计算机系统原来是如此密切相关的时候,兴趣就会油然而生。

(2) 介绍经典:图形学中多为经典理论和算法。但经典不是过时,而且如果有兴趣研究,还可能将其超越。

(3) 系统了解:看似分散的理论其实相互联系不可分割。掌握各方面知识并深入理解其关系将受益良多。

(4) 局部深入:几乎每个知识点都可以独立成为一个研究体系,但教学中只能选取部分重点进行深入讲解。

在每年新生的第一节课上,通过以上说明,学生可以对整体教学思路有一个快速准确的把握,方便了选修者的取舍,留住了真正有兴趣的学习者,也为后期的“教学相长”打下了基础。

2.2激发学习兴趣的主要手段

笔者通过多种手段提高学生的学习兴趣和信心。

(1) 强调经典理论的实用价值:与理论算法相对应的举例都和日常的计算机使用、编程直接相关,更易于理解理论知识,又能够体会到图形学在实际应用中的作用。

(2) 关注分支的最新发展动态:以某一经典理论为核心,往往可以辐射延伸到一系列研究方向上,适当介绍相应的一些最新研究成果,更能够引发好奇心和求知欲。

(3) 用OpenGL实例贯穿全程:OpenGL提供的函数中有着经典算法的实现例证、清晰地体现了图形学理论的应用。而通过OpenGL编程教学和实验,能够获得有利于就业或深造的实践经验,更能够加深对理论知识的理解。

(4) 自由话题讨论:在学期的后半段,让学生各自选择一个感兴趣的图形学有关研究内容并进行简单的资料准备,然后提交全班汇报并讨论。

2.3增强授课内容系统性的方法

图形学课程的理论知识具有极强的连贯性和交叉相关的特点。因此我们提出了以下方法来提高授课的系统性:

(1) 设立一条中心线索:从建模到观察再到设备显示的处理过程。这一过程体现了计算机图形学的全部意义。

(2) 内容广度上适当取舍:以基本图元、几何变换为基础知识,围绕中心线索介绍曲线曲面和实体造型、观察流水线、可见性判别、光照和面绘制、以及用户接口等。

(3) 在内容深度上侧重不同:选择关键知识点做较全面和深入的讲解。选择的依据有两点,一是直接有助于对其它相关知识点的理解,二是实用价值体现得较为明显。

(4) 对前后内容关联性的提示:将隐藏在章节之间的逻辑关系用语言显式的表达出来且需适当重复。前后的OpenGL实例尽量保持高度一致——也就是设置一个完整的程序而在不同的章节中取用其不同的段落作为例证。

3课件设计思想

在上述教学思路的形成和不断修正的过程中,笔者也同步更新着相应的教学课件设计思想。归纳如下:

课件应能够生动地演示图形理论或算法、直观的显示算法的实际应用效果等。例如自制流程动画、从最新动画影片或流行软硬件信息等中获取静态或动态图例等。

课件(PPT文件)本身就是图形学的一个应用实例,因此应在页面制作时就充分考虑其与图形学有关知识(用户界面,图表等)的联系并在课堂讲解中提示学生了解;

课件在整体安排上应从画面提示、实例演示和语言讲解等角度入手,并将它们配合起来,让学生不断体会到前后内容之间的连贯性和相互联系,这样既有助于知识的更新和复习,还能够促进对图形学学科的全面理解和记忆。例如,应精心设置每讲(节)开始处的前言页面、章节之间的承上启下页面、每讲末的OpenGL编程实例页面等。

课件需适时的更新以体现学科发展动态;课件中应经常使用启发式问题以留给学生思考的时间和空间等等。

4课件设计成果展示

按照上述课件设计思想,最终的课件共分为11讲、11个PPT文件,共约760页,其中含约400多幅静态图例、200多个动态演示图例(文本段落的分步显式不包含在此列)、20多个OpenGL程序实例(包含笔者自行完成的完整代码和运行效果变化的截图显示等)。通过和学生的交流,普遍反映课堂学习效果良好且表示该课件还十分便于课外的独立预习和复习。现举例展示如下。

(1) 在每一讲的开始,都会出现如图1所示的页面。该页面依据我们设置的中心线索、按顺序用文字显示出全部课程内容模块,且用绿色框表示已经讲解过的内容,红色框表示目前正要开始讲解的内容,其他为尚未涉及的内容。这样的反复提示,使得学生易于回忆起旧的知识点,并不断强化了对知识点之间的联系的认识。

(2) 在很多重要知识点的开始处设置条理清晰、从易到难的“分支线索提示”。例如图2中,将二维/三维观察处理方法直观的表示为流程图形式并保持一致性,明确坐标变换的意义、重点讲解的内容及其所处地位等。

(3) 通过显式的页面文字完成承上启下——明确知识点之间的逻辑关系,并促使回忆过往内容。如图3所示。

(4) 某些复杂理论知识用简化后精炼的图形来表示更易于解释和理解。如图4中,用一个最简单的方形和圆形就可以说明坐标变换的全过程(左),而透视观察过程中错切变换的涵义则可以从流程图中一目了然(右)。

(5) 在用OpenGL编程进行实例讲解的时候,应该和前面的理论知识相吻合,更利于理解。如图5给出了双三次Bezier曲面的基本构造原理(左)和OpenGL实现的一个相同外形的Bezier曲面绘制方法(右)。

(6) 提供OpenGL程序实例时,除了保持不同讲内容直接的一致性和衔接之外,同一个例子内部还会通过代码的细微调整来获得不同的运行结果。通过PPT页面上对代码和截图的动态对应显示,既易于了解OpenGL有关编程

知识,也有效的深化了对图形学理论知识的掌握。图5中右图给出了相同控制点但不同循环控制参数对曲面绘制出的显示效果的影响。图6所示实例则说明了OpenGL有关的各种观察函数的使用。

(7) 为了进一步提示内容的前后关联性、提高学生对内容的熟记度,课件页面上还考虑了相似内容安排的一致性、同一内容为不同章节所服务时具有细微差别但可重复出现,等等。如图7和图8所示。

5结束语

笔者从事了多年“计算机图形学”课程的硕士生教学工作,积累丰富经验的同时,对教学方法和课件设计进行了不断地改进、创新,通过设立一条贯穿始终的中心线索、结合OpenGL的编程方法教学和实例围绕该线索展开全面且有层次的内容讲解、强调经典理论的实用价值和最新动态、完成对前后内容关联性的深度提示等,有效地提高了教学过程的系统性、易于激发学习兴趣和信心、提高学生的动手和思考能力,从而获得良好的教学效果。

参考文献:

[1] 黄晓萍,肖虓,李迅.“计算机图形学”网络课件的设计制作与体会软件设计与研究[J]. 中国电化教育,2003(12):64-66.

[2] 伍军云,徐少平,占传杰. 基于OpenGL的计算机图形学辅助教学课件[J]. 计算机与现代化,2007(9):114-116.

[3] 张文辉,周娅. 计算机图形学系列课程建设构想[J]. 计算机科学,2003(6):104-106.