- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形学实验报告实验三
贵州大学实验报告
学院:计算机科学与信息学院 专业:计科 班级:计科101
姓名 徐艳 学号 1008060042 实验序号 实验三 实验时间 2013-4-22 指导教师 吴云 成绩 实验项目名称 多边形扫描转换 实验目的 掌握光栅显示系统中多边形的扫描转换和区域填充算法。掌握4连通与8连通区域的扩展性。
实验要求 实现多边形的扫描转换算法和区域填充算法。(任选两个算法并实现) 实验原理 扫描线算法:
算法原理:
非自交多边形(边与边之间除了顶点外无其它交点)
判断扫描线上的点是否在多边形之内,根据多边形区域连续性,分为3个步骤:
(1)求出扫描线与多边形所有边的交点;
(2)把这些交点的x坐标值以升序排列;
(3)对每一对交点间的区域进行填充。
第三个步骤是从奇数个交点出发到偶数个交点。如上图,对y=8的扫描线排序x坐标得到的表是(2,4,9,13),然后对交点2与4之间、9与13之间的所有象素点进行填充。
几点规则:
边界上的象素:
“左闭右开”,“下闭上开”(将左边界和下边界的点算为内部,而将右边界和上边界算为外部)
顶点:“上开下闭”。
区域填充算法:
算法原理:
区域填充–对区域重新着色的过程。
(1)将指定的颜色从种子点扩展到整个区域的过程
(2)区域填充算法要求区域是连通的
? 连通性: 4连通、8连通
算法实现简单描述:
堆栈结构实现种子算法,四向算法:
1、种子象素压入堆栈
2、若堆栈非空,即有区域中象素在堆栈中,做如下循环:
A.栈顶象素出栈;
B.将出栈象素置为多边形颜色;
C.按左、上、右、下四个方向左右顺序检查与出栈象素相邻的四个象素,若其中某象素不在边界置为多边形颜色,则将该象素推入堆栈。
边填充算法-正负相消法
算法原理:
对每一条扫描线和每条多边形边的交点,都将扫描线上右边的所有象素求余。(偶数次取余,结果不变,)
设A为一正整数,正整数M的余定义为A-M,记为 风。当计算机中用n位表示M时,可取A为n位能表示的最大整数,即A=2n-1。可知
即对M作偶数次取余,结果仍为M。
求余可用异或显示模式实现。
以扫描线为中心的边缘填充法:
设是当前扫描线与多边形的交点的x坐标数列,填充该扫描线上位于多边形内的区段由下列步骤完成:
算法1(以扫描线为中心的边缘填充算法)
1、将当前扫描线上的所有象素着上颜色;
2、求余:
for(i = 0;i = m; i++)
在当前扫描线上,从横坐标为Xi的交点向右求余;
算法2(以边为中心的边缘填充算法)
1、将绘图窗口的背景色置为;
2、对多边形的每一条非水平边做:该边上的每个象素开始向右求余;
边缘填充算法与扫描线法的比较:
适合用于具有帧缓存的图形系统。处理后,按扫描线顺序读出帧缓存的内容,送入显示设备。
?优点:边缘填表充法的数据结构和程序结构都比扫描线法简单
?缺点:对于复杂图形,每一象素可能被访问多次,输入/输出的量比扫描线算法大得多。要对帧缓存的大量象素反复赋值,速度较慢,并难于用图元填充。
边标志算法(轮廓填充算法)
改进的边填充法:
优点:对每个象素只访问一次。不必建立、维护边表及对边表进行排序,适于硬件实现。
步骤:
1、对多边形的每条边进行直线扫描变换,即将多边形经过的象素打上边标志;
2、填充,即对每条多边形相交的扫描线依次从左到右逐个访问该扫描线上的象素;
使用一个布尔变量inside 来指示当前点的状态(inside的初始值为False) ,若当前象素在多边形内部,则inside为真,反之为假。
若当前象素为打上边标志的点,就将inside取反(为 True),对未打标志的象素,inside不变仍为False。
对inside为True 的象素进行填充。
种子填充算法
种子填充算法首先假定区域由封闭轮廓线围成,且轮廓线内某点是已知的,然后开始搜索与种子点相邻且位于轮廓线内的点。如果这相邻 点不在轮廓线内,则已达到轮廓线的边界;如果相邻点在轮廓线之内,则这相邻点成为新的种子点,继续搜索下去。只适用于光栅扫描设备。
区域分类(区域采用边界定义,即区域边界上与边界外的象素取相同值,区域内部的点取不同值)
四向连通区域:各象素在水平垂直四个方向是边通的。即从区域内任一点出发,可水平/垂直移动到达区域内任一点。
八向连通区域:各象素在水平、垂直、及四个对角线方向都是是边通的。即从区域内任一点出发,可水平、垂直、及四个对角线方向移动到达区域内任一点。
区域填充(种子填充法)
区域填充–对区域重新着色的过程。
–将指定的颜色从种子点扩展到整个区域的过程
–区域填充算法要求区域是连通的
? 连通性: 4连通、8连通
堆栈结构实现种子算法,四向算法:
1、种子象素压入堆栈
2、若堆栈非空,即有区域中象素在堆栈中,
您可能关注的文档
- 血虚病人日常安排的十种补血食物.pptx
- 行业低谷 粤系家具企业如何转型?.pptx
- 行政11简报汇报.pptx
- 行业研究报告:电子信息产业——含笔记本电脑和手机产业.doc
- 血液一般检查-syp.ppt
- 行测——选词填空400题.docx
- 表面现象12-2.ppt
- 被忽略掉的.ppt
- 补充_导线测量.ppt
- 装饰标准工艺.doc
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
最近下载
- 【课件】《危险化学品重大危险源监督管理暂行规定》解读.pptx VIP
- 桩基及围护技术标含施工方案.pdf VIP
- 小学写人记事类作文方法讲解(课件PPT;42页).pptx VIP
- 学校食堂餐饮服务投标方案(技术方案).doc
- 英剧剧本唐顿庄园台词本中英文对照精排版第一季第一集.pdf VIP
- [中级注册安全工程师考试密押资料]安全生产事故案例分析模拟281.docx VIP
- [中级注册安全工程师考试密押资料]安全生产技术模拟39.docx VIP
- [中级注册安全工程师考试密押资料]安全生产事故案例分析模拟42.docx VIP
- [中级注册安全工程师考试密押资料]安全生产事故案例分析模拟301.docx VIP
- [中级注册安全工程师考试密押资料]安全生产事故案例分析模拟73.docx VIP
文档评论(0)