计算机图形学课程教学思考
计算机图形学是伴随着计算机及其他外围设备的发展而产生的,是一门研究怎样利用计算机表示、生成、处理和显示图形的原理、算法、方法和技术的学科[1-2]。目前,计算机图形学已经成为计算机学科中发展最活跃、应用最广泛的分支之一,成为许多计算机从业人员的必备素质之一,也是计算机及相关专业本科生的一门专业选修课。该课程在我校已经开设了多年,其教学任务是本着理论与实践相结合的原则,以基本概念、算法原理和实践技术为主线,使学生掌握计算机图形生成与处理技术的基础知识、基本原理和方法,培养学生的实际动手能力。然而,历年的教学工作中发现,由于该课程学科内容丰富、理论难度大、实践性强,且作为专业限选课学时又有限,导致了学生对所学内容不易掌握,疲于应付,甚至产生学生厌学、教学低效等现象。 因此,如何提高学生的学习兴趣,增加课堂信息量,解决课时少与内容多的矛盾、理论与实践的矛盾,是计算机图形学教学工作中一个非常值得思考的问题。本文面向计算机科学与技术专业,在分析计算机图形学教学中存在问题的基础上,针对该课程的学科特点和学生的特点,根据笔者近年来在教学实践中的亲身体会,探讨一种新的教学思路和方法。 1计算机图形学的学科特点
计算机图形学是一门理论和实践兼顾、综合性很强的交叉学
科,涉及内容和应用领域都很广泛。它涵盖了计算机科学、数学、物理学等其他相关学科的知识,学科交叉繁杂,且整个学科的发展日新月异。同时,该课程对高等数学、线性代数等基础数学有较高的要求,以数据结构、计算机高级语言、图形基本原理等为先导课程。因此,要将这样一门课的内容保质保量地传授给学生,不是一件容易的事,需要积极探讨新的教学方法和教学思路。 2教学中存在的问题
在教学实践中,笔者发现该课程的教学问题主要体现在以下几个方面:
1) 理论基础要求高,教学效果差。计算机图形学理论性强,部分算法抽象且以数学为依托,教学过程中过分强调课程的数学基础,侧重于算法原理的推导,而多数学生数学功底薄弱,故在学习过程中表现出畏难情绪;同时,其先修课程都是在低年级开设的,容易遗忘,而在计算机图形学的课堂上又不可能花太多的时间进行先修课程的复习,从而使其成为部分学生难以逾越的障碍。
2) 教学内容多,知识点分散。计算机图形学涉及的方法原理很多,教学内容易面面俱到,导致学生只掌握了分散的知识点,没有形成一条完整的知识链,学生对所学知识无所适从,失去学习的目标,极大影响了学生的学习热情;同时,教学内容只局限于经典的算法原理,面向学科前沿动态的内容涉及较少,不利于开阔学生视野,激发他们自主学习的意识和兴趣。
3) 实验课比例较小且实践环节滞后。计算机图形学也是一门实践性很强的学科[3-4],上机实践是培养学生动手能力的主要手段,也是学好这门课的必要手段。但是,由于总课时的压缩,实验课时很少,仅提供8学时,使原本很重要的实践活动变成了搭配;上机实习平台采用的是目前已不作为主要开发工具的Turbo C,致使学生不能在实验中获得将来就业环境下需要掌握的编程知识,上机兴趣不高,同时大部分学生本身的编程能力也不强,最终导致学生丧失编程的兴趣和能力。
4) 学生积极性不高。计算机图形学开设在大三上学期,大部分同学把精力用在考研和考公务员等方面,而这门课不是考研的必考课,学分也不高,因此,大多数同学认为图形学不重要,学习的积极性不高,整个学习过程都很被动。 3教学思路探讨
计算机图形学的教学目标之一,就是通过本课程的学习,使学生对计算机图形学有一个全面、感性的认识,理解并掌握部分经典算法,了解当前的研究热点。根据这一实际要求,提出了计算机图形学课程的总体教学思路。在教学中,以基本理论和算法原理为主线,以Turbo C、OpenGL等软件为载体,对图形学内容进行整体优化,加以创新处理,采用多种教学方式,加强理论与实践的结合,通过正确引导,激发学生的兴趣,挖掘学生的潜能,最终培养学生的逻辑思维能力和实际动手能力。以下笔者将根据自身的教学实践来阐述该课程教学过程中的认识和做法。
3.1上好绪论课,激发学生的学习兴趣
教学过程中调查发现,大多数学生对计算机图形学采取的是一种敬而远之的态度。首先,他们通过计算机图形学在娱乐、广告等领域的广泛应用充分感受到该课程的生动有趣及实用性,对该课程饱含热情;而与此同时,在他们的印象中,计算机图形学涉及学科很多,尤其数学公式很多,很多内容难以理解和掌握,故他们又对学好这门课充满怀疑。也正是这种期望与现实的失衡成为打击学生学习热情的“元凶”。因此,我们应该重视绪论课,并以此作为突破口,通过查阅大量资料,结合目前图形学的发展动向,根据所讲授内容,充分利用多种教学手段,将图形学知识融汇贯通起来,让学生在不知不觉中了解并接受计算机图形学,解除他们的疑惑,鼓舞他们的热情。如在介绍图形学在虚拟现实的应用时,可以插入一段视频,模拟人在虚拟场景中漫步,不但可以讲明具体应用,而且学生易于接受,印象深刻。 3.2教学内容
计算机图形学内容深而广,知识更新快,教学工作者需要在有限的学时内,即兼顾基础知识又能反映计算机图形学的研究进展,因此,教学过程中,在教学内容上要注意以下几点: 1) 根据学生的接受程度,精选核心内容,压缩或屏蔽部分知识,使学生专注于必要知识的学习,从而提高教学效率和教学质量。我们的教学内容主要包括:图形变换、光栅图形学、几何造型、图形裁剪及真实感图形绘制。其中,前两部分相比较而言,
是基础,内容较简单,讲解要深入一些,保证该部分理论具有“点”的深度,如几何变换,包括;平移、旋转、缩放等变换,以及几何变换的矩阵表示形式和复合变换的多矩阵组合形式,此外还要说明齐次坐标引入的必要性;几何造型中,尤其是曲线曲面造型部分,要根据学生的实际情况来决定内容的深浅。对于曲面,难度较大,理解起来比较困难,不适合本科生的学习,故其生成算法完全被屏蔽;而曲线的生成算法虽较曲面易理解,但也不能过于深入,这里只重点介绍B样条曲线和贝塞尔曲线的生成技术和特点,并且讲解过程中,结合现实生活的例子,引入具体应用,如在汽车、飞机外形设计中的应用;裁减计算,也是计算机图形学的核心,这里重点讲解直线段的裁剪算法和多边形裁剪算法;对于真实感图形绘制部分,由于涉及的知识面广,理论深,同样不适合本科生的学习,故这一部分内容只介绍一些基本概念。总之,上述的内容涉及许多概念和算法,要求学生把重点放在基本概念和算法的思想上,不强调学生去掌握和实现算法的具体细节,但要求掌握几个经典的算法。
2) 注重基础,强调基本原理和基本概念的理解,同时还要突出重点、重视应用。对一些要求学生掌握的经典算法,如Bresenhan算法,扫描线填充算法等,要重点讲授,仔细分析,强调其基本原理和基本思想,并在学生理解掌握的基础上,结合具体实例的剖析,告诉学生理论和实际应用的切入点,给予学生理论结合实际的基点,激发学生兴趣,逐步培养他们的科研能力。