“计算机图形学”课程教学探讨

时间:2022-09-06 10:47:03

“计算机图形学”课程教学探讨

摘要:本文以计算机图形学教学实践为基础,结合图形学自身特点,讨论如何在课程教学中采用合适的教学方式安排教学内容,做到理论与实验并重,激发学生学习兴趣,使学生易于理解和掌握。

关键词:计算机图形学;实验;教学研讨

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

计算机图形学是一门理论与实验并重的学科。从理论方面看,该学科主要涉及与图形相关的概念和算法,和数

学、物理等相关学科的关系紧密,学起来有一定的难度。而实验是理论教学的深化与补充,是抽象转化为具体的方式,是晦涩难懂的公式变为活生生画面的过程。通过实验,不仅可以培养学生综合运用所学知识解决实际问题的能力,而且对于建立学生自信心、培养学生兴趣也起至关重要的作用。学生对该课程是既喜欢又担心学起来难度太大,如何上好第一次课,改变学生的态度,如何安排教学内容和实验环节,使学生既易于接受又能反映计算机图形学的基础知识和最新知识。本文针对这些问题,结合教学中的实际情况浅谈一下自己的看法和体会。

1课程内容介绍

在多数人的印象中,计算机图形学和其它专业课相比较,数学公式太多,难以学习和理解。但是由于它的诸多应用非常具有吸引力,尤其它是大家所感兴趣的游戏和动画的基础,很多学生又想接触它。如何加强学生的这个念

头,第一次课非常关键,它在很大程度上决定了学生是否选学这门课。图形学的理论虽然抽象,但是所表示的内容却形象,可以以此作为突破口。我们知道被称为“图形学之父”的Sutherland博士论文答辩时,将所研究的内容制作一部电影,边放映边讲解,大获成功。所以我觉得可以从一个动画短片或游戏片段出发,将所涉及的图形学知识融会贯通起来。因为在没学习图形学之前,学生很难建立图形学知识和游戏动画之间的联系。他们只知道图形学理论很抽象,游戏动画很容易吸引学生眼球,而且也知道它们之间的关系很紧密,但具体有什么联系却不是很清楚。我们可以从此出发,引出图形学的相关知识,让学生在不知不觉中了解图形学,接受图形学。这样轻松建立了相关知识点与实际应用的联系,也解答了学生学有何用的疑问。

现以动画短片《棋逢敌手》(Geri's Game)为例来说明如何引出图形学内容。该短片讲述的是Geri老头在公园跟自己下棋的事,故事情节生动,动画效果惟妙惟肖,很具吸引力。学生非常感兴趣,这是怎么做的,采用什么技术,Geri老头是怎么得到的等等一系列问题。我们便可以问题为导向一一解释给学生。Geri老头采用的是一种称为Catmull-Clark的细分曲面造型技术,在造型之前需要准备数据,所谓巧妇难为无米之炊,一般这样的数据是先建立一个实物的模型,然后通过三维激光扫描仪获取的。三维扫描仪扫描实物的表面数据,其数据量大,而且带有噪音,所以需要做去噪,简化等处理。简化后得到Geri老头的表面骨架,然后再采用细分曲面造型技术获取光滑逼真的模型。细分造型是一种逐层加细技术,如图1所示,图1(a)-(c)是不同层次的效果。从中可以看出图(c)图形的光滑效果最好,而图(a)最差。但是图(c)的数据量最大,这就需要根据不同情况选择不同的图形,如图2所示,当图形距离我们较远时可以选择精度不高的(a)图形,而较近时选择(c)图形。在游戏动画方面,对速度要求高,而对图形逼真性的要求相对低,这时可以选择数据量小的图形。这样通过图形展示给学生以感性的认识,一方面易于接受,易于理解,另一方面也能增加学习的兴趣。另外,形象逼真的图形采用真实感绘制技术,场景远近变化利用了图形变换的知识等等。一个短篇,基本上把图形学的相关内容都包括了,我们还可以再结合其它一些具体生动的图形动画介绍给学生。实际上,在图形学授课的各个环节,为了调节枯燥的数学公式,都可以演示一些相关内容的图形,也所谓的多媒体教学,在这方面,图形学应该更有优势。

2理论与实践并重

对计算机图形学这样的专业课而言,理论的学习离不开实践,实验是非常重要的一个环节。抽象的理论,乏味的数学公式,如果不和实验结合,学生是体会不到学习乐趣的。通过实验,所学的知识得以巩固,枯燥的算法与生动的图形之间建立联系。学生的兴趣也是通过实验建立起来的。每次实验报告,我都会要求学生写下心得体会,从报告可以看出,多数学生能够在实验中找到快乐,能够通过实验建立自信心,成就感。他们说做实验很受锻炼,知识掌握的也更牢固。当然有的学生也提到,做实验是一件非常辛苦的事情,特别是没有思路或者找不到错误时,真的很痛苦。但是成功后的满足,特别是做出来的那一瞬间,那种心境别人无法体会。

由于计算机图形学是专业限选课,学时不多。我们一般安排32个上课学时和16个实验学时。为了增加学生的知识面,我们的实验是在Sun工作站Solaris操作系统下采用gcc编译器进行,编程时调用OpenGL库中的图形函数。通常安排4个学时熟悉这些内容。这样根据剩余学时安排五个小实验:直线生成、裁剪、几何变换、曲线生成以及真实感图形绘制,还有一个综合性实验:做一个简单的图形系统。题目的要求随着难易程度变化。直线生成算法比较简单,学生编写的程序应具有通用性,适用于任何直线。裁剪算法是为了确定显示区域内的图形,实验一般要求实现线段裁剪算法,算法易于实现,考虑到易操作性,采用交互式的画线方式,即以鼠标点击绘图区的位置确定线段的起点和终点,其中涉及消息映射和屏幕坐标到世界坐标转化等相关知识。几何变换几乎在每个图形系统或图形应用软件都有使用,其主要包括旋转、平移、缩放以及复合变换等内容。学生对三维图形更感兴趣,尤其是较复杂的图形。在做该实验时,通常先介绍一些三维图形的相关知识,包括几何图形表示、存储形式以及读文件操作等,一般以简单的OBJ数据文件为例。然后让学生实现三维图形的几何变换。另外,考虑到该实验包括几个操作,增加了菜单选择功能。曲线曲面也是图形学的核心内容,生成方法有两种:一种是逐层递推的方法,另一种是根据参数曲线定义。学生根据自己的理解选择不同的方法实现。在曲线生成的基础上,增加鼠标拖动控制点改变曲线曲面形状的功能。真实感实验是为了增加学生学习的兴趣,通过调用OpenGL的库函数做出一些漂亮的效果,让学生感觉到图形学功能很强大,一些看似复杂的效果实现起来也简单,只需调用OpenGL中现成的库函数。综合性实验报告我也鼓励学生做一些自己感兴趣的东西,比如有的学生对游戏很感兴趣,基础也较好,想做一个小游戏,我是完全许可的。应该来说,安排的实验任务重,覆盖内容多,在有限学时内完成这些实验是不可能的,需要学生在课外做许多准备工作。而且,有些知识点较难,学生难以消化。针对这种情况,实验部分也分了解和掌握两种情况,这样做的一个目的就是想增加学生的知识面。

3教学内容安排

计算机图形学知识更新快,内容深而广,如何在有限的学时内安排教学内容,使讲解的知识难度适中,既兼顾基础知识又可以反映计算机图形学的最新成果和技术,同时,既兼顾理论又兼顾实验。另外,在学生可以接受的情况下尽可能介绍三维知识。

我们的教学内容主要分这几部分内容:光栅图形学,图形变换,几何造型,真实感图形绘制。而且,各部分内容贯穿OpenGL的相关知识。前两部分比较基础,内容相对简单,课时尽可能安排紧凑,理论讲的相对深入。但是对于几何造型,尤其是曲线曲面造型部分,内容的深浅需要根据学生情况来把握。曲面难度较大,一般只介绍大致的思路及做一些演示。对于曲线,如果讲得比较深入,对于基础不好的学生来说也难以接受。我曾尝试采用分段多项式的形式推导B样条基函数,不少同学听得很费力,甚至影响后面知识的学习。现在讲这部分内容时,我只是介绍基函数的由来,告诉学生基函数是根据曲线的性质和定义推导出来的,不是随随便便指定的,这样学生比较容易接受。实际上,无论Bezier曲线或B样条曲线,都是曲线造型技术中的经典算法,但也存在缺点。目前比较流行的曲线造型技术是细分算法,它有很多很好的性质,如多分辨率,应用简单等。由于其比较新,很多教科书中尚未介绍。一般我从应用层的角度将三次B样条细分和四点插值细分等典型算法介绍给学生,介绍他们的特点以及实现技术。真实感图形绘制部分,涉及数学、物理、心理学等方面的知识,理论较深,不太适合本科生学习。但由于其做出来的图形太漂亮,很具吸引力。而且,用OpenGL的库函数实现并不难,所以这部分内容我一般是介绍一些基本概念,然后做一些程序演示。一方面增加学习的兴趣,另一方面让他们意识到,有些知识尽管理论比较深,但由于有现成的类似OpenGL库函数这样的技术支撑,也容易实现。很多东西并不是想象的那么神秘,那么可怕。

4结语

计算机图形学是一门理论内容深,应用范围广的课程。本文就如何组织教学内容谈了自己的见解和体会,目的在于提高学生学习兴趣,让学生在易于接受的情况下学到更多有用的知识。实践表明方法具有一定的可行性,普遍学生反映,通过课程的学习体会到了图形学的博大精深,增加了图形学的学习兴趣。但也有部分同学感觉有些内容讲解不够深入,难以理解。所以,如何在有限的学时内更好地组织教学,还有待进一步探讨。相信通过学习、思考和实践可以做得更好。

参考文献:

[1] 唐荣锡,汪嘉业,彭群生. 计算机图形学教程(修订版)[M]. 北京:科学出版社,2000.

[2] 周开进,王志刚. 计算机学科与数学的强相关性及其对专业教育的影响[J]. 中山大学学报论丛,2002,(6).

[3] 罗笑南,王若梅. 计算机图形学(第三版)[M]. 广州:中山大学出版社,2004.

[4] 孙家广,胡事民. 计算机图形学基础教程[M]. 北京:清华大学出版社,2005.

上一篇:五笔字型输入法教学实践 下一篇:操作系统课程教学与学生能力培养