APP下载

“计算机图形学”教学方法探讨

2009-05-22薛春艳

计算机教育 2009年6期
关键词:教学方法

薛春艳

文章编号:1672-5913(2009)06-0046-03

摘要:“计算机图形学”是计算机专业的一门非常重要的基础课程,但在教学中存在很多问题,本文总结了两种结合方式的教学方法,分析和探讨了其在教学中的应用。

关键词:计算机图形学;教学方法;教学与实验

中图分类号:G642

文献标识码:A

1引言

“计算机图形学”在计算机科学与技术专业的一门基础课,其课程涉及图形硬件设备、图形系统、交互技术、基本图形生成算法、几何变换、真实感图形生成等内容。在笔者的教学实践当中发现教学过程中普遍存在以下两个问题。

1.1理论知识掌握方面

由于“计算机图形学”具有较强理论性,部分算法比较抽象不易理解。所以学生在学习的时候很难将抽象算法与具体的三维图像结合起来,经常表现出畏难情绪。

1.2实践能力培养方面

由于“计算机图形学”课程的教学主要精力放在了图形的基本概念和算法原理的讲解上,上机实践环节滞后;另外,现在大部分的教材中仍然是以Turbo C作为上机实习的平台,但是由于Turbo C再实际应用中早已不作为开发工具使用,学生并不能够在实验中获得未来就业环境下真是需要掌握的编程知识,需要二次学习才能适应社会的需求。

针对以上问题,给出以下解决方案。

2理论讲解与具体开发工具的使用相结合

图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成。如何在计算机中表示图形以及利用计算机进行图形的计算、处理和显示的相关原理与算法,构成了计算机图形学的主要研究内容。目前,大部分《计算机图形学》教材都是以计算机图形学的基本概念、基本理论、基本原理及经典算法作为主要内容,以丰富学生的基础知识,培养学生的独立研究能力。然而,在微型计算机日益普及的今天,随着计算机科学及技术的发展,出现了很多功能完善的图形软件标准和图形软件,如何利用他们培养学生的学习兴趣,提高实际应用的能力,则是当今教学的重点。

为了能够更加广泛地接触和学习图形软件,笔者在以Turbo C语言作为开发工具来介绍基本图元的经典画法的同时,将OpenGL引入到计算机图形学的学习中。

OpenGL是近10年来发展起来的一个性能卓越的、通用共享的三维图形标准,已得到广泛应用。OpenGL提供十分清晰明了的图形函数,所以图形绘制可以通过它的各种函数来实现。OpenGL具有标准型、稳定性、可扩展性、可缩放性、易用性、可靠性和可移植性等特点。与其他图形程序包相比,OpenGL应用程序代码行数少,又封装了有关基本硬件的信息,因此在很多领域都得到广泛的应用。

在教学过程中,为了让学生对“计算机图形学”中所讲解的知识能够更好的理解和掌握,可以从三个步骤来进行讲解:

2.1理论讲解——基本概念、原理及算法

理论讲解过程中,我们可以把OpenGL与之结合起来。例如:我们在讲解直线的扫描算法时,首先介绍经典的中点绘制直线算法和Bressman算法,通过这两个算法的原理的介绍可以使学生了解到在计算机中怎样以像素作为处理单位来实现直线的绘制。然后,我们可以介绍一下OpenGL中对直线进行绘制的方法,从而体会两种开发工具的相同和不同之处:

(1) Turbo C:Bressman算法实现直线的绘制

voidBresenham_Line (int x1, int y1, int x2, int y2,int color)

{

intx, y, dx, dy, dk, i;

dx = x2 – x1;dy = y2–y1;dk = dy – dx;

x = x1;y = y1;

for (i = 0; i<=dx; i++)

{ putpixel (x, y, color);

x=x + 1;

if(dk<0)

dk=dk+2*dy;

else

{y = y + 1; dk = dk +2*dy– 2 * dx; }

}

}

(2)OpenGL实现

glBegin ( GL_LINES );

glColor3f(1.0,1.0,0.0);

glVertex2f(-11.0,8.0);

glVertex2f(-7.0,7.0);

glEnd();

在Turbo C中需要具体的算法和参数实现对像素逐个处理从而形成一条直线;在OpenGL中我们只需要给出直线的坐标、属性的数据就可以得到一条直线了。这样学生就可以了解到直线的绘制原理,以及在实际开发中具体实现发法,有效地把理论知识与实际应用结合起来,达到了较好的教学效果。

2.2多媒体演示——各种图元、概念、算法的实现和变化过程

由于“计算机图形学”这门课程中的很多理论知识比较抽象不容易理解,特别是需要学生具有较好的三维空间的立体感,才能更好的理解所学的知识,例如对坐标变换、投影变换等部分的概念的理解,对很多学生来讲都很难理解,为了达到更好的教学效果,可以将OpenGL引入到课程学习中,通过OpenGL的对应函数的多媒体演示,帮助学生更好地掌握这部分知识。在介绍了基本的变换中的平移变换、缩放变换和旋转变换的概念时,在计算机图形学中我们一般是通过二维的图形来帮助学生理解,如图1~3。

OpenGL多媒体演示见图4。

在OpenGL中分别使用glTranslatef()来表示平移变换,三个参数分别表示在三个坐标平移的距离;glRotatef()用来表示旋转变换,一个参数表示旋转地角度,另外一个参数表示旋转轴的坐标;glScalef()表示缩放变换,三个参数表示在三个坐标轴方向的缩放比例。这里,通过多媒体可是课件,通过鼠标来控制参数的值,根据参数值的变化,显示效果也会随之变化。通过这种三维的动态多媒体课件的演示,可以使学生更好的理解三种变换,同时对OpenGL中对应的函数及其参数的具体含义有了更好的掌握。

2.3具体应用——原理算法的具体应用

在完成前两个步骤的基础上,可以通过一些小的应用程序或游戏程序的演示,将其中对应的图形绘制方法的应用提炼分析出来,这样可以使学生对所学知识的具体应用有较直观的认识,为其将来的进一步学习和实践打下基础。

3教学与实验相结合

“计算机图形学”是一门实践性很强的课程,但在目前,普遍存在的现象是“计算机图形学”课程的理论教学内容存在着一定孤立性,与上机实践联系并不紧密;因此,有必要加强学生动手能力的培养。为了确保计算机图形学课程的教学质量,应该选用目前市场上比较流行的图形开发环境作为学生的实践环境,同时也要注重课堂知识的消化,因此理论知识的对应实验也不能轻视。笔者认为应将两者有效地结合起来才能达到更好的效果。

为了能够帮助学生更好地理解理论知识,更好地提高动手能力,实验部分可以分三部分进行:

(1) 基础实验:主要完成各种理论讲解过程中学习的代码实现,编程环境为Turbo C。

(2) 提高实验:以Visual C++ 和OpenGL作为开发环境,进行实践动手能力的培养和训练。

(3) 体验实验:以3D Max作为开发环境,进行图形图像软件开发的体验实验。

基础实验可以帮助学生更好地理解基本的理论和各种基本图元的经典算法。

提高实验可以提高学生理论联系实际的能力,能够使学生更多地接触实际开发中所使用的工具和开发环境,为将来的工作打好基础。

体验实验中的3DMax是图形开发的具体产品,通过对其的使用和接触,可以让学生感知到计算机图形学的应用情况。

通过基础实验、提高实验和体验实验的结合练习,不但可以提高学生的编程能力,而且加深了学生对所学知识的了解和认识,使学生对“计算机图形学”的实际应用有了感性的认识。

4结语

“计算机图形学”是计算机学科的主要基础课程之一,但由于各种原因,学生学起来有一定的难度,这给授课的教师带来相当大的挑战。“计算机图形学”的教学是一个复杂的系统工程,它会涉及到诸多方面的问题,以上所述仅仅是笔者授课过程中得粗略总结,有不妥或不足之处,敬请大家批评指正。

参考文献:

[1] 张曦煌,杜俊俐. 计算机图形学[M]. 北京邮电大学出版社,2006,8.

[2] OpenGL体系结构审核委员会等. OpenGL编程指南(第4版)[M]. 人民邮电出版社,2005,4.

[3] 陈元琰, 张睿哲, 吴东. 计算机图形学实用技术(第2版)[M]. 清华大学出版社,2007,3.

Teaching method discussion of Computer Graphics

XUE Chun-yan

( XiamenUniversity Tan Kah Kee college)

Abstract:Computer Graphics is a very importment course of computer speciality , here are a lot of problems in teaching, this text has summarize two kinds of teaching methods and has analyzed and probed into its application in teaching.

Key words: Computer Graphics; teaching method

猜你喜欢

教学方法
融入数学语言的“土木工程材料”课程教学方法探讨
基于gitee的皮肤科教学方法研究
高职院校音乐选修课信息化教学方法与实践探索
以问题为基础的教学方法在冠心病见习教学中应用研究
《计算方法》关于插值法的教学方法研讨
《计算方法》关于插值法的教学方法研讨
探索立体几何的教学方法
探索立体几何的教学方法
小学语文字理教学方法探析
应用数学模型发展生物科学思维的教学方法——以Excel在高中生物学实验教学中应用为例