何辰+孙垂莲
摘要:《计算机图形学》是数字媒体技术专业的一门理论基础课。为了有效提高《计算机图形学》的教学质量,本文在分析《计算机图形学》的学科特点和当前教学现状的基础上,从教学内容、教学方法、实践教学、考核方式等方面进行探讨,提出了一些新的教学思路和方法。教学实践表明,本文提出的方法对提高学生兴趣和改善教学质量有明显的促进作用。
关键词:《计算机图形学》;教学方法;教学实践
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2017)30-0191-03
一、引言
《计算机图形学》是数字媒体技术专业的一门理论基础课,主要研究如何利用计算机来表示、生成、处理和显示图形的原理、方法和技术。目前,大多数高校计算机以及数字媒体等相关专业都会开设《计算机图形学》课程。由于图形学技术在计算机游戏、数字娱乐、平面设计、网页设计等行业中的广泛应用,学生在选择这门课程时都抱有很大的兴趣和期待。然而,《计算机图形学》要求学生具有较好的数学基础和较强的编程能力,所以随着课程的深入,学生普遍感到学习比较吃力,达不到应有的教学效果。
本文在分析《计算机图形学》的学科特点以及当前教学中存在问题的基础上,从合理选择教学内容、灵活运用多种教学方法和手段、注重实践教学、重视过程考核等方面对《计算机图形学》的教学思路进行了一些探讨。
二、学科分析及教学现状
1.《计算机图形学》的学科特点。《计算机图形学》是建立在图论、现代数学和计算机科学基础上的一门新兴学科,该学科涵盖了计算机科学、数学、物理学等其他学科的相关知识,学科交叉繁杂,研究内容非常广泛,如图形硬件、图形软件标准、图形交互技术、基本图形生成算法、建模、渲染、计算機动画等。总体来说,《计算机图形学》是一门以应用为背景,以数学为基础,以算法为核心的强理论,重实践的课程。同时,该课程又以C语言、数据结构等为先导课程,因此,要将这样一门课的内容较好的传授给数字媒体专业的学生,不是一件容易的事情,需要积极探讨新的教学思路和教学方法。
2.教学中存在的主要问题。《计算机图形学》内容丰富,理论性和实践性都比较强,造成该课程讲授起来比较枯燥;同时,由于数字媒体专业的学生数学基础和编程基础都不是太好,学生普遍感到对于图形学的内容难以接受,学习的积极性和主动性都受到了影响,学习效果较差。在教学实践中,笔者发现目前的图形学教学普遍存在以下问题。
(1)理论性强,难度大,导致学生兴趣减弱。《计算机图形学》主要研究如何在二维的屏幕上显示三维的图形,其中涉及到三维形状的建模,渲染以及动画等。图形渲染流水线的背后,要求学生具有较强的数学功底,特别是向量和矩阵的一些基础知识,要熟练掌握。学生要能用向量的思想去解决图形学中的一些基本问题。对于数学基础较弱的数字媒体专业的学生,这种要求往往令他们产生畏惧心理,极大的影响了他们的学习兴趣和信心。
(2)教学内容多,知识点分散。《计算机图形学》学科交叉繁杂,内容丰富,不仅涉及图形硬件、软件和大量的实际算法,而且还与微电子学、计算几何、图论学等专业学科密切相关,并在发展过程中逐步与数字图像处理、数字几何处理、模式识别、人工智能、虚拟现实等相结合,这就要求授课教师要具有比较全面的知识结构,对于内容的讲解有所侧重,合理取舍,透彻了解各学科之间的关系。目前国内大部分图形学教材都是从底层的图形硬件设备开始讲起,然后是基本图形元素的生成算法,最后逐步过渡到光照模型和纹理映射等高层的真实感图形渲染方法,这容易导致学生只掌握了分散的知识点,很难将各个知识点串连起来。另外,现在的图形学教材一般都只局限于经典的图形学算法原理,而对于学科前沿的研究动态少有涉及,这样不利于开阔学生的视野,激发他们自主学习的兴趣和意识。
(3)实验课时少,学生缺乏实践训练。《计算机图形学》是一门实践性很强的学科,要求学生具有较强的编程能力和动手操作能力。上机实践是锻炼学生编程能力的主要手段,也是学好这门课的必要手段。没有实验课的训练,学生很难真正理解图形学中的算法原理。但是,由于总课时的压缩,实验课时很少,仅提供6次实验机会,而且实验基本上都是验证性试验,学生很难在实验中获得将来工作时需要掌握的编程知识,另外大部分学生本身的编程能力不强,上机兴趣也不高,最终导致学生无法获得充足的实践锻炼机会。
(4)考核形式单一,无法调动学生的学习主动性。目前《计算机图形学》的考核形式主要还是通过卷面笔试的形式来进行。卷面笔试考核通常考察的是学生对知识点的记忆和理解能力,适用于基础课教学,强调的是“记”和“背”。但是对于以实践和应用为主的专业课程而言,它强调的是“做”和“用”,因此,要求学生死记硬背相关理论和算法,无疑是一种资源浪费,学生不能学以致用就等于白学。这种考核方法也无法调动学生平时的学习积极性,他们大都寄希望于最后几周的突击复习,考试完之后很快就忘记了,达不到课程教学的培养目标。
三、教学思路探讨
1.结合应用上好第一节课。第一节课非常重要,因为上好第一节课就能够激发学生的学习兴趣,让学生能够自愿、自主的学习。在《计算机图形学》的第一节课上,教师应该系统的给学生介绍图形学的应用以及研究前沿,并让学生了解图形学内容的整体框架。
根据笔者的经验,刚开始接触图形学时,很多学生都不知道学了这门课程可以做什么。因此,教师可以结合应用,给学生介绍一下图形学有哪些应用领域。比如,数字媒体专业的学生一般都会学习三维建模软件(3ds Max、Maya等),在这些软件中,点几下鼠标,就可以画出直线、曲线等,教师可以告诉学生,在画直线和曲线的过程中,软件是在底层运行的,其实就是图形学里面的一些基本图形生成算法。学生了解了这门课的用处,才能真正的用心去学。
第一节课,还要让学生对图形学内容有一个整体的认知和把握,这样有利于学生整体知识结构的建立。同样的,还可以结合三维应用软件3ds Max来做讲解,这个软件所实现的主要功能,也正是图形学要研究的主要内容,即建模、渲染和动画。当然,图形学教学中主要涉及的是一些基本的内容,比如基本图形元素生成算法、三维渲染流水线等,学生了解了图形学的整体知识结构,以后再学习一些分散的知识点时,才不至于迷失了方向。
2.合理选择教学内容。《计算机图形学》内容丰富,发展迅速,新的应用领域也在不断拓展。为了在有限的学时内,使学生既掌握了基础知识,又能够了解图形学的研究进展,教学工作者要合理选择教学内容,使学生专注于必要知识的学习,从而提高教学效率,保证教学质量。
考虑到学生的知识接受程度,我们选择了以下教学内容:基本图形元素生成算法、图形变换、图形裁剪、可见面检测、真实感绘制、曲线曲面。其中基本图形元素包括直线、圆、椭圆、填充区域以及字符等基本图形。中间四部分内容其实是三维图形渲染流水线的主要内容,这也是图形学教学的一个重要目标,即让学生知道三维的图形是如何显示在二维屏幕上的。曲线曲面部分我们以曲线为主,重点讲解Bezier曲线的生成算法,曲面部分则只作简要介绍。对于图形学的研究进展,我们在课程内容结束后,以学术讲座的形式安排一次课进行介绍,当然也会在适当的课程内容中穿插介绍一些研究热点,比如真实感图形显示,虚拟现实等,这样既可以拓宽学生的视野,又可以增加课堂的趣味性。
3.灵活运用各种教学方法。成功的教学,要求教师不仅要熟练掌握教学内容,更要灵活运用各种教学方法,引导学生由苦学变乐学,由学会变会学。教学模式要以能力培养为目标,由灌输型向引导型和讨论型转变。
(1)启发式教学:培养学生的思维能力比知识本身更重要,采用启发式教学方法讲解图形学中的算法可以很好的锻炼学生的思维能力。教师要把讲授的重点放在算法的提出、发展和完善的过程上,而不是单纯的简单描述。比如在讲直线生成算法时,可以先问学生,为什么要有直线生成算法?这是因为数学上的直线是连续的,而显示器上却只是一些离散的像素点,直线生成算法就是要在给定直线的起点和终点之后,找出最接近这条直线的一组像素点来近似表示这条直线。给学生一定的思考时间,并鼓励学生一起去发现,去探索,这样,枯燥的算法讲解就变成了一个启发式的研究过程,这种方法可以有效的锻炼学生的思维能力,提高他们发现问题和解决问题的能力。
(2)可视化演示教学:图形学中的很多算法理论性较强,数学模型也比较抽象,要清晰介绍其基本思想和原理,可以使用一些可视化的方法进行直观的演示,这样能够加深学生对于算法的理解,并激发他们自己去实现这些算法的欲望。
(3)对分模式教学:对分课堂是张学新教授提出的一种新的课堂教学模式。其核心理念是分配一半时间给教师讲授,另一半时间给学生讨论,并留给学生内化吸收的过程。笔者在图形学课程中尝试过几次当堂对分,取得了不错的效果,有效提高了学生的学习自主性和积极性。
4.注重实践环节。实践教学是理论教学的深化和补充,是学好图形学的重要保证,也是培养学生动手能力的主要手段。因此,教学过程中要加强实践教学,将理论教学和实践教学密切结合起来,这样才能有效提高学生的编程能力和动手操作能力。
根据教学大纲要求和学生的实际情况,我们的实践环节除了课程实验,还有两个小的课程项目。课程实验使用OpenGL图形库来完成,当然有些实验会对学生做一些限制,比如在实现画线算法时,要求学生只能使用GL_POINTS模式。由于图形学的课程实验都已经是比较成熟的内容,在此主要介绍一下两个小的课程项目,这两个项目一个在期中提交,另一个在期末时提交。第一个项目是在学完基本图形元素生成算法之后,让学生实现一个简单的交互绘图系统,绘制直线、圆、椭圆等基本图形元素,还可以选择线型和线宽,用户交互使用橡皮筋技术来实现。第二个项目要求学生用OpenGL实现一个简单场景的漫游系统,在一个平面上放置几个简单的物体,比如球体、圆柱、圆锥等,构成一个简单的场景。要求物体要有光照效果,另外要实现漫游功能,即通过键盘或者鼠标的控制,可以從任意角度观察这个场景。对于这两个项目,学生可以根据自身情况选择独立完成或者小组合作完成,每组不超过3人。实践表明,通过这两个课程项目的锻炼,不但培养了学生的创新意识和动手能力,而且还培养了他们的团队合作精神。
5.重视过程考核。重视教学的过程考核是保证教学质量的重要手段,把过程考核纳入到最终的期末成绩评定中可以更好的调动学生平时学习的积极性。在我们的考核方法中,学生平时的出勤情况占10%,两个课程项目各占20%,期末成绩占50%。对于两个课程项目,我们会组织学生在班上进行演示并讲解,演示时各组间可以讨论交流,教师则根据学生的实现情况进行打分,并对学生不足的地方进行指导,这样做不仅活跃了课堂气氛,提高了学习兴趣,还有效提高了学生平时学习的积极性和主动性。
四、结语
《计算机图形学》是一门快速发展的交叉学科。通过该课程的学习,学生不仅要掌握图形学的基础理论,还要具备一定的图形编程能力。本文针对图形学的学科特点以及教学中存在的一些问题,从教学内容、教学方法、教学实践、教学考核等方面提出了一些新的教学思路。在以后的工作中,教学工作者不仅要积极探讨更有效的教学方法和教学手段,更要积极投入到图形学相关的研究工作中,紧跟研究前沿,更好的培养学生的思维能力,激发学生的学习主动性和积极性。
参考文献:
[1]孙家广.计算机图形学[M].第3版.北京:清华大学出版社,2006.
[2]姚莉.计算机图形学教学改革与实践[J].实验科学与技术,2010,8(2):102-106.
[3]王艳春,张金政,李绍静.计算机图形学课程教学思考[J].计算机教育,2011,(14):63-66.
[4]杭后俊.计算机专业计算机图形学教学实践探讨[J].计算机教育,2012,(17):76-79.
[5]张学新.对分课堂:大学课堂教学改革的新探索[J].复旦教育论坛,2014,(5):5-10.