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

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“计算机图形学”教学方法探讨   文章编号: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 ?C x1;dy = y2?Cy1;dk = dy ?C dx;    x = x1;y = y1;    for (i = 0; i=dx; i++)    { putpixel (x, y, color);   x=x + 1;   if(dk0)    dk=dk+2*dy;   else    {y = y + 1; dk = dk +2*dy?C 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中我们只需要给出直线的坐标、属性的数据就可以得到一条直线了。这样学生就可以了解到直线的绘制原理,以及在实际开发中具体实现发法,有效地把理论知识与实际应用结合起

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档