当前位置: 首页  教学研究  研究成果
研究成果

 

“计算机图形学”课程教学研究 

 目录  

 


一、计算机图形学简介        

二、教学中存在的问题

三、计算机图形学教学改革方案        

(一)合理进行课程定位    

(二)系统化理论知识        

(三)完善教师的知识结构        

(四)改革课堂教学环节    

(五)拓展课外学习活动    

(六)培养实践应用能力    

(七)丰富考核方式    

四、总结     

 


一、计算机图形学简介

近来,随着数字技术的发展,计算机图形学作为一种图形设计的方法和工具,得到了普遍的重视,它是近五十年来发展迅速、应用广泛的新学科,已经成为计算机科学领域最活跃的领域之一。计算机图形学建立在图学理论、现代数学和计算机科学的基础上,是用计算机研究图形的表示、生成、处理和显示的一门学科,且随着学科发展,新的应用领域会不断得到拓展,这使得计算机图形学这门课程学科内容丰富、理论性强、算法众多、实践性强。

计算机图形学的核心技术是如何建立所处理对象的数学模型并生成该对象的图形, 主要研究内容有:人机交互与用户接口技术、图形生成技术、图形变换技术、几何造型技术、动画技术。可以看到,这门课的实践性很强,要求学生具有较强的动手操作能力和编程能力。因此在教学上,只有增强理论与实践的互动性,才能避免学生出现实践动手能力薄弱的现象。由此看出,如果在计算机图形学中采用传统的在课堂上讲授理论,课后让学生去做实验的教学方式,难以达到预期教学效果,因而针对教学中存在的问题探讨新的教学思路和方法。

 回目录

二、教学中存在的问题

在计算机图形学的传统教学方法中,一般会在课堂上会讲解图形的各种生成算法、处理技术以及显示过程,这会涉及到大量公式推导,还要求学生有较强的空间想象能力。通过教学观察发现,学生学习困难,兴趣不高,教学效果不够理想。经分析总结,本课程的教学问题主要体现在以下几个方面:

第一,对理论基础的要求高。计算机图形学的部分算法以数学为依托,非常抽象。在一般教学过程中侧重于推导算法原理,强调数学基础。但是多数学生数学功底薄弱,易在学习过程中出现畏难情绪。同时,这门课程的支持性预备课程在低年级已完成教学,学生到学习本课程时,容易遗忘先行知识。而在计算机图形学课堂上,又不可能花太多时间复习先行知识,从而给部分学生造成学习障碍。

第二,知识点多而且分散。本课程涉及到的方法和原理众多,教学内容易面面俱到,导致学生只掌握分散的知识点,难以形成完整的知识骨架,容易失去学习的目标,进而影响学习热情。同时,教学内容局限于经典的算法原理,对学科前沿动态的内容涉及较少,不利于开阔学生的视野,激发自主学习意识和兴趣。

第三,实验课教学滞后。计算机图形学实践性很强,上机实验是培养动手能力的重要手段。但是,由于总课时限制,能分配给实验的课时较少,原本重要的实践活动变成了搭配。另外,一般上机实习平台采用的Turbo C目前已不作为主要的开发工具,致使学生在实验中获的编程习惯和将来的就业环境存在差距,由此导致上机兴趣不高。

第四,学生积极性不高。计算机图形学一般都开设在大三上学期,此时大部分学生把精力都分配在考研和考公务员等方面,因此,大多数学生学习积极性不高。

通过与学生交流,发现他们对这门课程缺乏足够的认识,不了解计算机图形学在计算机科学这个大领域中所处的位置,不知道如何使用在课堂上学习的各种算法。通过分析上述问题,我们认为其重要原因是理论教学与实践脱节。为了改变这种状况,提高教学效果,我们要系统性的改进本课程的教学方法。回目录  

三、计算机图形学教学改革方案

针对一般教学中出现的问题和不足,在总结国内外多所学校本课程教学经验的基础上,我们推出了计算机图形学的教学改革方案,具体认识和做法如下。

(一)合理进行课程定位

课程有效教学一个重要条件是具有明确的课程定位。为更好地完成计算机图形学课程的教学任务,提高教学质量,必须合理为本课程定位。计算机图形学既具有较强的理论性又具有较强的实践性。该课程的基础是基本概念和基本原理,学生要理解它们如何模拟现实中的对象,但同时要掌握经典算法的原理及其实现。为此,可以通过专题讲座介绍高级应用,如曲面设计、计算机动画等。另外,还应介绍最新的研究进展,以使学生对学科前沿有概念性和直观性理解,从而为他们顺利地进入该领域从事研发打下基础。

(二)系统化理论知识

“计算机图形学”涉及的理论知识以算法原理为主,需要详细解读。因为算法原理之间相互联系,互为支撑,所以算法讲解应由简入繁,由易到难,搭建出合理的算法架构。系统化理论知识就是指整个课程要构建出系统化的图形算法原理的知识架构,对算法原理的教学要由浅入深、循序渐进。

(三)完善教师的知识结构

教师在课程教学中起着重要作用。学生获取知识的主要渠道是教材和教师的讲解。教材由不同的教师来编写,教材的内容也需要教师来解读。读写两方面的主体都是教师,这对教师的知识结构、能力水平提出了很高的要求。为了活跃课堂氛围,还要求教师在备课中涉及不同学科,旁征博引。所以,教师应丰富自己的知识,比如查阅相关的资料,了解该学科发展动态,在讲授中有意识的介绍这些新内容,同时还要尽可能使课程讲解深入浅出,方便学生理解复杂的算法。

(四)改革课堂教学环节

1、做好课前回顾活动

从本课程的开设时间和学生的阶段性特点来看,要求全部学生进行课后复习、课前预习的可行性不强。为了成功唤起学生对先行知识的记忆,加强知识的连贯性,教师应该在课前拿出较短时间对以前所学的先行知识进行简单回顾,然后再过渡到新的教学内容,帮助学生渐进性的接受新内容。

2、综合使用多种教学方法

1)启发式教学

平铺直叙、满堂灌的教学方法易让学生感到枯燥,进而影响学习积极性和主动性。在讲授算法时,可尝试采用启发式的教学方法,通过“提出问题→学生解答问题→分析问题→解决问题→评估解决方法的优缺点”的思路,引导学生进行思考,层层深入、逐步展开,调动学生的积极性。比如在讲解绘制直线段时,可首先让学生自己设计一个算法,此时几乎全部的学生都会给出直线段生成的普通算法,即:根据直线方程,通过设置x取值范围,求出屏幕的一系列点。然后教师可以提问学生,从算法效率角度审视普通算法存在哪些问题,然后引导学生思考,最后引入直线段的绘制算法。所以,启发式教学法可以给学生营造主动思维和积极思维的空间,引导学生一步一步进入算法设计中,从而有效提高教学质量。

2)金字塔式教学法

通过教学观察发现,接近一半学生希望教师在课堂上少讲,但要讲得细致深入,而另外的学生则喜欢教师多讲,但针对每一个知识点不必讲得太细。针对这样的情况就可以考虑采用以下教学方法——详细讲解基础算法、以专题讲座形式介绍高级应用的“金字塔式”教学方法,即先对基本算法作详细介绍,然后采用专题讲座的形式介绍高级应用内容(如自由曲线曲面设计、三维实体造型等)。这样就可以保证对基础理论部分的讲解有“点”的深度,对高级应用部分的讲解有“面”的广度,点面结合,由此达到在有限的学时内开阔学生视野、提高学习兴趣的目的。

3)发现式教学法

要培养学生解决问题的能力,最重要的是培养学生的思维能力,教师应将对这一能力的培养贯穿在授课之中。在计算机图形学这门课程的教学中,可以采用发现式教学方法,即将讲授重点放在对知识发现、发展、完善的过程上,而不是放在讲述最终结论上。让学生既要了解算法的最终结果,也要了解算法的提出背景和过程。把课堂教学变成一个学生研究问题的过程,教师和学生一起去发现和探索。探索发现式教学法的实践模式为:“设疑——探索——讨论——总结——实践”。该方法要求教师能够浓缩和重组教学内容,吃透教材、“反刍”教学内容,概括方法,将知识阐述的顺序改造成学生对知识的探索顺序。

4)任务驱动教学法

任务驱动教学法是属于建构主义学习理论的一种教学方法。构建主义认为学习是个人对知识的构造过程而不是单纯接受的过程。学生的学习是在他已有的知识基础上构建新的知识,重新调整对已有概念的认识。任务驱动教学法要求在教学过程中,给定学生一个典型的任务,让学生凭借已有知识,在问题驱动下,主动的发现问题、分析问题、解决问题,完成“子任务”,最终完成给定任务。在完成任务的过程中,学生始终处于主体地位,教师的主要任务是创设学习场景、设计学习任务、提供学习资源、组织学习活动以及指导学习方法。

这里以“直线的生成算法”为例说明课程设计思路。首先,教师提出课程的主要任务:在屏幕上画出一条直线段。学生回顾直线段在计算机内的表示方法和光栅显示系统的显示原理,分析出主要任务就是任务1:找出最佳逼近直线的像素。然后,从最简单的方法入手,由直线方程y = kx + b,联系任务1,同时可让学生回忆学过的数值微分方程,这样引出直线DDA 算法,通过总结算法优点和缺点发现问题。基于问题,在分析直线图形特点的基础上,可推知任务1 其实可以转化为任务2: Y 方向取右上点还是右点? 这样引出直线Bresenham算法,讲解算法的具体实现,总结算法的优点和缺点。最后,教师提问有没有更快、更好的算法,然后介绍双倍、双步和对称等快速算法。再进一步提出任务3: 画直线应考虑其他哪些问题。最后布置一些难度大于课堂任务的课后作业。

3、有效使用多媒体辅助教学

采用多媒体辅助讲授图形学课程的部分内容是一种很好的教学方式。本课程涉及到大量算法,它们是图形学的基础。正确理解和掌握它们是学习本课程的最基本要求。但是在教材上一般只有对算法的文字描述或伪码程序,抽象,且不直观,容易造成学习难点。如果利用VC 编程的可视化优势,可以设计和开发算法的可视化教学系统实现典型算法,如Bresenham 算法、Bezier 曲线等。这个多媒体教学系统可以将算法的执行过程以动态形式演示出来,让学生直观的“看到”算法的执行过程或者结构,可以在生动具体的图形动画中理解算法。这样充分发挥图形图示、动画演示的作用,可以大大提高学生的学习兴趣,并且能增强原理、算法的理解性。

在具体应用时,也应根据讲授内容的特点,在使用多媒体授课的同时,适当配合板书。因为图形学课程中涉及到大量的数学推导过程,比如图形的几何变换,配合应用板书教学效果会更好。

4、教学过程实例化

“教学过程实例化”是指打破“重算法,轻实例”的课堂教学模式,运用算法的实例演示、算法对比等,让学生直观的感受到算法设计出“所见即所得”的优秀案例。这种教学方法要求,首先在学习某一种算法前,教师先选取与现实生活相关的、直观的、难易适中的实际问题,让学生思考怎样利用已有的知识解决问题;然后再运用要学习的经典算法解决同一个问题,通过比较分析,使学生理解所学算法的优势。其次,还要对所用算法的核心代码做重点剖析。课程中的主要算法都配有实现了的程序,因时间所限,教师不必详细讲解,只需对算法的核心代码重点剖析,让学生领会算法的精髓。以此使学生获得“所见即所得”的程序效果图,加深学习印象,达到教与学相互促进。

(五)拓展课外学习活动

现代教学理念倡导激发学生自主学习。随着网络技术的发展,学生可以便捷的在互联网上获取共享资源,因此,教师可以为学生提供一些相关的自主学习参考文献,以及可供深入学习的课题以及学习网站等,指导学生利用网络资源获取所需的知识,如有关图形学的发展现状与趋势等了解性知识,其特点是更新速度快、信息量大,对于这一部分内容可以让学生去网上查找资料,补充课堂教学内容。另外,为满足师生之间经常交流,要搭建一个交流平台、形成信息反馈机制,这样教师就能及时了解学生在学习过程中遇见的重点、难点,然后有针对性地进行指导和讲解。

(六)培养实践应用能力

为提高学生的综合应用能力,教师可沿着以下“验证性应用——设计性应用——创造性应用”三个层次来组织实践性教学,随着知识难度系数逐级递增,循序渐进提高学生的实践应用技能。

第一层次:验证性应用。学生完成课堂学习后,通过上机实验实现教师在课堂上所演示的算法原理,验证所学的理论知识,进一步加深认识。

第二层次:设计性应用。在设计性应用层次,主要训练学生选择正确的算法来解决实际问题。此时,教师选取一些特定的应用性案例,指导学生来选取正确算法。与此同时,为了培养学生良好的工作方法,对每一个应用案例,教师除了要给出实际要求外,还应按照软件工程的方法明确开发步骤,应从需求分析入手,在指定算法原理的基础上,详细设计问题求解,最后还要进行编码及调试。结束后,教师对学生的完成情况给予肯定和评价,对不足之处和共性问题加以点评和讲解,加深学生的理解,以促进知识的正迁移。

第三层次:创造性应用。在创造性应用层次,一般通过课程设计或大型作业的形式来训练,旨在培养学生的综合运用能力和开拓创新能力。这里要给学生提供充分的学习空间和自主性,让他们主动实践和亲身体验。教师从学生学习的实际情况出发,挑选一些难度不等的,与实际应用密切结合的综合应用实例供学生自由选择。对每一个实例教师只需给出实验要求,学生依照实验要求自行设计算法。首先从需求分析入手,然后构造算法、编程和上机调试,最终提交完整的大型作业。以此深化学生对算法原理的理解,提高对知识理论的运用能力,提高他们的程序设计与调试水平,养成严谨、科学的态度。

(七)丰富考核方式

考核是整个课程学习中的一个重要环节。为了全面有效地评估学生的真实学习状况,就要改变以往的考核方式,应构建全程性、综合性的新考试模式,使传统考核方式与过程性考核、实践性考核以及能力考核相结合。首先应注重过程性考核,坚持过程性考核与结业考核相结合。教师应及时跟踪学生在学习过程中的表现情况,主要包括上课发言、作业情况、实习情况等。学生最后的总成绩由三部分构成: 作业及平时表现占10%,实习成绩占30%,结业考核占60%。对于平时表现突出的学生要加分。其次,要注重实践考核,坚持理论与实践考核相结合。鼓励学生的创新思维和创新能力,对于动手能力强,解决实际问题能力强的学生要加分。最后,要注重能力考核,坚持能力与知识考核相结合。考试内容应兼顾客观性与主观性,突出对综合性和应用性的要求,考试导向应有利于考察学生的理解能力、综合分析能力和应用能力。回目录

四、总结

通过实施以上教学改革方案,发现学生不但能够深入理解课堂上所讲授的算法,还积极查阅其他来源的相关算法,有的同学甚至可以改进优化某些算法。教师通过和学生们的讨论,也达到了“教学相长”的效果。在实验课上学生们通过所学的理论知识和开发手段,陆续完成了各种算法的实现。新教学方法的实施,提高了本课程的教学效果,有力促进了本课程的教学目标的实现。改革后的教学取得了较为满意的教学效果。

最后,计算机图形学是一门发展迅速的前沿性学科,课程涉及到的内容在不断更新换代,所以今后对于计算机图形学的教学,我们还需要在实践中持续不断地进行探索和改进。回目录