计算机图形学的应用实例(计算机图形作业).pdfVIP

计算机图形学的应用实例(计算机图形作业).pdf

  1. 1、本文档共44页,可阅读全部内容。
  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文档。上传文档
查看更多

计算机图形学大作业

计算机图形学的应用实例

班级:

学号:

姓名:

2012-03-12

计算机图形学的应用实例

一.计算机图像学简介

计算机图形学是计算机专业本科生必修的专业基础课。本课程介绍图形显示

及图形表示的方法和原理。通过本课程的学习,使学生了解计算机在图形应用方

面的基础原理,了解图形应用中的特殊性处理方法,进而学习和掌握计算机在图

形领域应用中分析、建模、程序设计等方面知识,为问题的解决提供适宜的模型

和办法。

简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示

图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。

图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几

何属性组成。其主要的目的是要利用计算机产生令人赏心悦目的真实感图

形。为此,必须建立图形所描述的场景的几何表示,再用某种光照模型,

计算在假想的光源、纹理、材质属性下的光照明效果。事实上,图形学也

把可以表示几何场景的曲线曲面造型技术和实体造型技术作为其主要的研

究内容。计算机图形学的研究内容非常广泛,如图形硬件、图形标准、图

形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形

计算与显示算法、非真实感绘制,以及科学计算可视化、计算机动画、自

然景物仿真、虚拟现实等。整个课程以C语言为例,通过介绍30多个算法

和程序设计的例子,阐述计算机图形学的原理、方法和程序设计知识。下

面我们将实例分析计算机图形学中出现的一系列的理论在实际图形中的应

用。

二.多边形的扫面转换与区域填充

1.种子填充算法

这里讨论的区域指已经表示成点阵形式的填充图形,它是象素的集合。区域

可采用内点表示和边界表示两种表示形式。在内点表示中,区域内的所有象素着

同一颜色。在边界表示中,区域的边界点着同一颜色。区域填充指先将区域的一

点赋予指定的颜色,然后将该颜色扩展到整个区域的过程。

区域填充算法要求区域是连通的,因为只有在连通区域中,才可能将种子点的颜

色扩展到区域内的其它点。区域可分为4向连通区域和8向连通区域。4向连通

区域指的是从区域上一点出发,可通过四个方向,即上、下、左、右移动的组合,

在不越出区域的前提下,到达区域内的任意象素;8向连通区域指的是从区域内

每一象素出发,可通过八个方向,即上、下、左、右、左上、右上、左下、右下

这八个方向的移动的组合来到达。

2.区域填充的扫描线算法

区域填充的递归算法原理和程序都很简单,但由于多次递归,费时、费内存,

效率不高。为了减少递归次数,提高效率可以采用扫描线算法。算法的基本过程

xy

如下:当给定种子点(,)时,首先填充种子点所在扫描线上的位于给定区域的

一个区段,然后确定与这一区段相连通的上、下两条扫描线上位于给定区域内的

区段,并依次保存下来。反复这个过程,直到填充结束。

区域填充的扫描线算法可由下列四个步骤实现:

xy

(1)初始化:堆栈置空。将种子点(,)入栈。

xy

(2)出栈:若栈空则结束。否则取栈顶元素(,),以y作为当前扫描线。

xy

(3)填充并确定种子点所在区段:从种子点(,)出发,沿当前扫描线向左、右两

个方向填充,直到边界。分别标记区段的左、右端点坐标为xl和xr。

xlxry

(4)并确定新的种子点:在区间[,]中检查与当前扫描线上、下相邻的两

条扫描线上的象素。若存在非边界、未填充的象素,则把每一区间的最右象素作

为种子点压入堆栈,返回第(2)步。

实例:如下,在windows系统中所自带的画图工具中所含有的功能。

我们需要在下图中填充颜色,对此,我们后台的运行中就运用了我们计算机图形

学中的相关方法,种子填充算法或扫描线算法等。下图为为填充原图:

我们设定现在用的是种子填充法,我们选定图片填充工具,

文档评论(0)

185****2440 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档