计算机图形学实验课程改革探讨
2015-03-23李红林
李红林
摘 要:计算机图形学是计算机科学的一个重要分支,已成为信息技术领域不可缺少的重要内容和发展基础,同时计算机图形学技术也深入到人们生活的各个领域。虽然该课程原理强、算法抽象、实践性强,但是很多高校越来越重视该门课程,并把其列在教学计划中。该文通过分析计算机图形学教学中存在的问题,并结合多年的教学经验,提出了图形学实验教学改革的思路及教学内容,并对各实验项目分别展开说明。实践证明,改革后的教学效果较好。
关键词:计算机图形学 实验 教学改革 VC
中图分类号:G420 文献标识码:A 文章编号:1672-3791(2014)10(c)-0155-02
计算机图形学是研究通过计算机将数据转换为图形,并在专门的显示设备上显示的原理、方法和技术学科[1]。目前,计算机图形学技术已经深入到人们生活的各个领域,例如:飞机、汽车外形设计、电影、电视广告、游戏制作、天气预报、医药医疗以及地质勘探等。因此,很多高校都越来越重视该门课,并把其列在教学计划中。但是该门课程原理深、算法抽象、实践性强。大部分学生在课程开始时抱着极大的兴趣学习,但随着算法的深入,虽然上课能听懂算法,但是课后实现算法却很困难,这样一来,理论与实践不能很好结合,而使学生觉得枯燥单调,学习的积极性与主动性逐渐下降,教学效果不理想。
1 教学中存在的问题
图形学教学中会存在如下问题:一是实验教材选择不恰当;二是很多高校图形学实验都是基于Turbo C环境下的编程,因编程界面不够友好,使用不方便,多数学生对它不感兴趣。三是过分注重理论教学,实践教学的时间远比理论教学时间少;四是过分强调图形学的数学基础;五是实践课程设置合理,但是实验内容有的过于简单,而有的又太难。以上五方面都会导致学生学习兴趣不浓或厌学。针对此,对实验课程进行改革是非常必要的。
2 图形学教学改革措施
如何针对本校学生实际制定适合其学习的实验方案尤其重要。通过笔者多年的教学实践,我们可以通过计算机图形学实验的演示、验证和开发,来巩固学生对计算机图形学所学知识的理解,同时加强学生的动手操作能力。可以从以下几方面进行改革。
2.1 教材选取
目前,图形学教材非常的多,大部分的经典教材中讲解的知识较多、难度较大,学生学习较吃力。如何选用教材,使学生学到更多知识很重要。在教学的过程中,针对地方高校的特点,学生的基础较差。笔者在教学中,把教学重点定位为二维知识的掌握;三维知识只作简单的了解和介绍,以此来降低学生学习难度,提高学习兴趣,为以后的三维知识的学习打好基础。因此,在选择教材时,尽量考虑偏重二维知识的、包括程序代码的,利于学生上机实验的教材。
2.2 编程环境选择
针对Turbo C编程环境存在的问题,我们在实验过程中可以基于Visual C++的MFC编程。因为VC开发环境是可视化的,编写的程序执行结果明显,学生有成就感,对完成实验更有自信[2-3]。通过实验,学生不但可以学习实用的编程语言,而且也促进其对新知识的学习。
2.3 实验教学改革
目前,课程开展了九个实验,实验内容如表1所示,其中实验类型有验证性、设计性和综合性三种。验证性实验是让学生对理论课程学习的图形学基本算法进行编程验证;设计性实验是一种探索性的实验,不但要求学生综合多种知识来设计实验方案,而且要求学生能充分运用已学到的知识,去发现问题、解决问题,实验中,学生自己选题、自己设计,在教师的指导下进行,以最大限度发挥学生学习的主动性;综合性实验是通过学生一段时间的学习,具有一定的图形学综合知识和技能,且实验内容涉及到这些知识和技能的实验[4]。
2.4 实验项目说明
实验1中,关键是熟悉VC的MFC编程环境,了解如何创建工程及添加消息以及 MFC绘图函数的使用。
实验2中将验证直线生成算法。通过理论分析直接直线生成算法、DDA算法、Bresenham算法、中点画线算法等,找到各算法的优缺点,对比各种算法运行的速度;然后通过上机实现上述算法,并比较各算法在生成同一直线时的效率。
实验3中对比中点画圆算法与Bresenham画圆算法的实现机制及运行效率。
实验4中主要是验证课本中内点表示、边界表示的4连通或8连通种子填充算法填充规则图形(矩形、圆等)及不规则图形(任意形状各异的图形)。实验中,对于基础好的同学,还可试着采用扫描线多边形填充算法(选做)来填充一个简单的图形内部。
实验5中主要是运用已学过的各种图形学的知识来填充圆的内部。A.点到圆心的距离小于等于半径;B.种子填充法;C.Bresenham画圆法;D.用改进的Bresenham画圆算法;E.中点画圆算法;F.改进的中点画圆算法等。并对比各种算法在填充圆的内部时的差异。(见表2)
实验6主要是验证Cohen-Sutherland直线裁剪算法。实验主要是基于矩形窗口的直线裁剪,对于三类型直线裁剪的正确性进行验证:一是直线完全在矩形窗口内;二是直线完全在矩形窗口外;三是直线与矩形窗口有交。其他直线裁剪算法的验证可选做。
实验7中,可针对生成的一个简单图形实现其二维变换。例如三角形的比例、平移、旋转变换等。
实验8中,主要是实现课本中的Bezier曲线生成算法。若能正确生成Bezier曲线,可以结合图形变换知识和平面曲线知识实现的正叶线、正叶线蝴蝶结等图形的生成。
实验9中,可以结合本学期的学习情况,利用所学的图形学知识,发挥想象力,设计一个图形学作品。例如:雪人,火车等。
3 结语
从文中的实验教材、实验教学环境以及实验教学内容的选取以及多年的教学经验,可以看出在计算机图形学实验课程教学中,首先要加强理论与实践相结合,要进行培养方案修改,加大实验课的比例;其次要针对学生的特点,找到适合当前学生学习的方法和实验内容进行教学。经过改革后,教学效果较好。
参考文献
[1] 伏玉琛,周洞汝.计算机图形学——原理、方法与应用[M].武汉:华中科技大学出版社,2003.
[2] 廖方茵,丁凰.计算机图形学实验教学的改进[J].北京电力高等专科学校学报,2009(5):2-3.
[3] 陈莉.谈计算机图形学的教学与实验[J].计算机教育,2014(10):51-54.
[4] 袁国武,徐丹,赵杨.“计算机图形学”实验课程改革经验与探索[J].计算机教育,2009(15):29-32.endprint