系统案例教学方法在计算机图形学课程中的应用
计算机图形学是近年来发展最快的计算机学科方向之一,是计算机应用专业的必修课程。但在实际的教学过程中,按照传统的教学方式,我们发现计算机图形学涉及到大量的数学知识,包括各种生成算法、处理技术和显示过程,涉及到数学模型和复杂的公式推导,在理解上要求具有比较强的空间想象力,学生理解上比较困难。本文结合二类本科院校培养具有一定创新能力的应用型人才的要求,根据十多年的教学实践,提出了图形系统案例教学方法,将计算机图形学知识和实现图形系统结合起来,从现有系统中找灵感,从计算机图形学课程中学理论,搭建自己的图形系统,使学生真正理解计算机图形学的本质,达到理论与实践双丰收,取得了比较明显的教学效果。 一、课程特点和教学模式 1.课程特点
(1) 计算机图形学不仅涉及到图形硬件、软件和大量的实现算法,而且与微电子学、信息科学、几何学、图论学等专业学科密切相关,并在发展中逐步与图像处理、模式识别、人工智能、计算机网络和计算机语音处理结合起来,要求授课教师具有比较全面的知识结构,讲解有所侧重,合理取舍。
(2) 计算机图形学需要用到大量的数学模型和算法。计算机图形学作为图形显示和处理的一门学科,具有很深的数学理论
基础和实用技术。计算机图形学的基础是数学,任何图形的显示都必须首先构造出数学模型,然后再通过算法程序实现图形的显示和处理。另一方面,为了在计算机上显示和处理复杂的图形,要求人们不断地学习和研究数学,构造精巧的数学模型和实现算法,这就是计算机图形学的实质。但对于初学者来说,应当讲授较少的数学知识,或者直接采用数学结论,而简略中间繁琐的数学推导过程。在讲课过程中,如果过分注重图形学所涉及到的理论知识、数学模型和构造算法,学生就会感到比较抽象和难懂。 (3) 计算机图形学是一门实践性很强的课程,不仅要求学习大量的理论知识,而且更多的是要求算法的实现,要求程序的编写和调式能力,因此需要更加重视实验环节。学习计算机图形学的目的在于构建图形系统,包括计算机图形硬件的搭建和图形软件的编写。计算机图形学是设计AutoCAD、Photoshop、CoreDraw等图形系统软件的理论基础。
学习计算机图形学,要与使用图形系统软件区分开来。计算机图形学是设计图形系统软件的基础,而学习现有的图形软件则是为了进行计算机平面设计、动画设计、影视制作、CAD等具体的应用领域。反过来,参考和学习这些现有的图形系统软件可以帮助理解计算机图形学的知识和方法。
根据用户和计算机图形系统的关系,可以把利用计算机图形学的用户分为三类:一是图形理论研究,二是系统设计程序员,三是图形系统的操作员。
计算机图形学的目标在于培养前两种人才,即图形理论研究与图形系统实现者,研究图形学新的理论和技术,编写各种专业图形处理软件,供产品设计人员使用。 2.系统案例教学模式
案例教学作为一种教学手段已经得到广大师生的认可。该教学法是在教师的精心策划和指导下,根据教学目的和教学内容的要求,运用典型案例,将学生引入到特定实践环节情境中,并以学生为中心对案例进行交互式讨论和探索的过程。案例教学具有下面四个共同的特点:一是真实性,案例必须是真实可靠的事件;二是典型性,必须是包括特殊情境和具有代表性的问题;三是浓缩性,必须多角度地呈现问题,提供足够的信息;四是启发性,必须是经过研究,能够引起讨论,提供分析和反思。 系统案例教学法是以设计实际的系统为目标,制定系统总体框架,结合理论教学,布置相关实验任务和实践环节,最后将各个独立的实验程序整合在一起,搭建起一个小型实用系统。系统案例教学法要求学习目标要明确,方案设计要合理,理论与实践要一致。针对计算机图形学课程,采用系统案例教学法还要注意以下事项:
(1) 以学生为中心,充分发挥学生能动性。由于所定目标软件系统功能复杂,而课堂教学时间有限,不可能面面俱到。因此,要充分调动学生学习兴趣,发挥主观能动性。学生是案例教学的主角,老师在讲授理论基础上,更重要的是启发和辅导。
(2) 系统案例教学法是一种模拟系统实践的教学过程。虽然类似的软件系统市面上已经有很多,但我们的目的是学生模仿实现,所用到的理论知识在课堂上同步学习,加强学生对理论课程学习兴趣,并结合学生自己的理解和体会,亲自动手实现自己的系统。
(3) 系统案例教学又是一种动态的、开放的教学方式。课堂上讲授的系统理论相同,但系统实现的方法可以不同,在系统实现的过程中锻炼学生运用各种理论知识、综合分析和解决实际问题的能力。
(4) 系统案例教学注重的是系统实现的过程,要的是结果,但这样的要求也反过来促进学生对理论知识的学习,同时也锻炼了学生实际动手能力。
二、系统案例教学方案实施
计算机图形学课程内容包括了图形学的基本概念、图形系统和图形标准、基本图形生成技术、图形几何变换、曲线和曲面、真实图形和计算机动画等,这些内容是设计一个图形系统必备的理论体系。为了实现系统案例教学,实施方案如下: 第一步:明确目标、搭建平台。计算机图形学第一章概述部分主要讲解课程目标和目的、国内外的发展状况和应用领域,加深学生对课程的认识。图形系统和图形标准则是实现图形系统所用到的硬件设备和软件系统,以及图形系统的国际标准。这两部分为学生明确学习目标、搭建系统平台奠定了基础。为了编写图
形系统,在第三部分讲解了Visual C++图形程序设计,主要介绍Visual C++集成编成环境的使用、图形设备接口、图形程序设计方法、鼠标编程以及菜单设计等基础,目的是通过对Visual C++的学习,掌握Visual C++图形程序设计的方法,为计算机图形学原理部分的算法实现提供程序工具和方法。
第二步:系统设计、分步实施。按照课程体系和实际图形系统的要求,我们精心设计10个实验项目,覆盖了计算机图形学大部分的知识点,包括:
(1) Visual C++图形程序设计。主要学习Visual C++图形程序设计的方法,掌握Visual C++集成编成环境的使用、图形设备接口和常用图形程序设计、鼠标编程、橡皮筋交互技术、画刷与画笔以及菜单设计等,使学生能够熟练掌握Visual C++图形程序设计。
(2) 直线的生成。理解直线生成算法思想,写出实现程序;添加鼠标功能,实现交互式画直线程序;将10个像素作为步距单位,编出Bresenham算法的示例。 (3) 圆与椭圆的生成。编写中点画圆法的扫描转换程序,考虑原点在(x0,y0)处程序的改动;添加鼠标程序,实现交互式画圆;编写中点画椭圆法的扫描转换程序;添加鼠标程序,实现交互式画椭圆;
(4) 区域填充算法。多边形有序边表算法程序设计;边填充算法和边标志填充算法;简单的种子填充算法和扫描线填充算