- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
贵州大学计算机图形学实验报告
学院:计算机科学与信息学院 专业:软件工程 班级:
姓名 学号 实验组 实验时间 指导教师 成绩 实验项目名称 实验三 多边形的扫描转换算法、区域填充算法 实验目的 通过本实验,了解并掌握在光栅显示系统中多边形的扫描转换和区域填充算法。
实验要求 用光栅扫描算法画出不自交的图形:
用光栅扫描算法画出自交图形:
用区域填充法画出图形: 实验原理 光栅扫描算法:
扫描线算法是扫描转换多边形的常用算法,它充分利用了相邻像素之间的连贯性,避免了逐点判断和反复求交计算,达到了减少计算量和提高算法效率的目的。
处理对象:非自交多边形 (边与边之间除了顶点外无其它交点)。开发和利用相邻象素之间的连贯性是光栅图形学算法的重要技巧。
扫描线算法综合利用了区域的连贯性、扫描线的连贯性和边的连贯性等三种形式的连贯性。
区域的连贯性:相邻两条扫描线构成一个水平长方形区域,并被多边形的边分割为若干梯形(一类位于多边形的内部;另一类在多边形的外部,且间隔排列)。只需知道该区域内任一梯形中一点关于多边形的内外关系,即可确定区域内所有梯形关于多边形的内外关系。
扫描线的连贯性:区域的连贯性在一条扫描线上的反映;
边的连贯性:某条边与当前扫描线相交,也可能与下一条扫描线相交。可通过与当前扫描线的交点计算与下一扫描线的交点(利用斜率)。(区域的连贯性在相邻两扫描线上的反映)
根据扫描线的连贯性可知:一条扫描线与多边形的交点中,入点和出点之间所有点都是多边形的内部点。
所以,对所有的扫描线填充入点到出点之间的点就可填充多边形。
如何具体实现(如何找到入点、出点)?
根据区域的连贯性,分为3个步骤:
(1)求出扫描线与多边形所有边的交点;
(2)把这些交点按x坐标值以升序排列;
(3)对排序后的交点进行奇偶配对,对每一对交点间的区域进行填充。
步骤(3)如上图:对y=8的扫描线,对交点序列按x坐标升序排序得到的交点序列是(2,4,9,13),然后对交点2与4之间、9与13之间的所有象素点进行填充。
求交点、排序、配对、填色
利用链表:与当前扫描线相交的边称为活性边(Active Edge),把它们按与扫描线交点x坐标递增的顺序存入一个链表中,称为活性边表AEL (AEL, Active Edge List)。它记录了多边形边沿扫描线的交点序列。
AEL中每个对象需要存放的信息:
ymax:边所交的最高扫描线;
x:当前扫描线与边的交点;
Δx:从当前扫描线到下一条扫描线之间的x增量
next:指向下一对象的指针。
伪码:
建立ET,置y为ET中非空桶的最小序号;
置AEL表为空,且把y桶中ET表的边加入AEL表中;
while AEL表中非空 do?????begin
对AEL表中的x、 Δx按升序排列;
???? 按照AEL表中交点前后次序,在每对奇偶交点间的x段予 以填充;
? 计算下一条扫描线:y=y+1;
if 扫描线 y=ymax??then 从AEL表中删除这些边;
???? 对在AEL表中的其他边,计算与下一条扫描线的交点: x=x +Δx
?????按照扫描线y值把ET表中相应桶中的边加入AEL表中;end
end of algorithm
区域填充算法:
区域可采用两种表示形式:
内点表示
枚举区域内部的所有像素;
内部的所有像素着同一个颜色;
边界像素着不同的颜色。
边界表示:
枚举出边界上所有的像素;
边界上的所有像素着同一颜色;
内部像素着不同的颜色。
区域填充
先将区域内的一点赋予指定的颜色,然后将该颜色扩展到整个区域的过程。
简单种子算法
扫描线种子算法
要求区域是“连通”的。
测试对象为象素段 ,对区域内的每一象素段,只保留其最右边(或左边)的象素作为种子象素.
区域填充(扫描线算法):
–目标:减少递归层次
–适用于内点表示的4连通区域
基本过程:
当给定种子点时,首先填充种子点所在的扫描线上的位于给定区域的一个区段,然后确定与这一区段相通的上下两条扫描线上位于给定区域内的区段,并依次保存下来。反复这个过程,直到填充结束。
算法步骤:
1、填充并确定种子区段;
2、初始化:将种子区段压入堆栈;
3、出栈:如果堆栈为空,则算法结束;否则取栈顶元素y,xLeft,xRight),以纵坐标为y的扫描线为当前扫描线,[xLeft, xRight]为有哪些信誉好的足球投注网站区间;
4、填充并确定新的区段 。
实验环境 Win7系统,eclipse,jdk 实验步骤 根据上面算法的原理,在实验环境中进行算法的实现; 实验内容 扫描线算法核心代码:
private void ScanLine(Graphics2D g2) {
您可能关注的文档
- 3_2递归与非递归.ppt
- 3_2接线方式同期回路的设计及应用.pdf
- 3-1群同态及同构.ppt
- 对抽象艺术认识误区.doc
- 对公账户销户现场检查方法与技巧.doc
- 对金属活动性探究 浙教版.ppt
- 对模糊聚类分析法的改进和其在SRM中的应用_黄闽英.pdf
- 3-5 平面立体-平面切割体三视图.ppt
- 3-6 函数图形描绘.ppt
- 对齐与分布与顺序排列.ppt
- 五位一体教案教学教案设计.docx
- 思修与法基-教学教案分享.pptx
- 大学军事之《中国国防》题库分享.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.pdf
- 思修与法基 教学全案分享.docx
- 大学军事之《军事思想》题库分享.docx
- 《经济思想史》全套课件-国家级精品课程教案课件讲义分享.pdf
- 厦门大学国际金融全套资料(国家级精品课程)--全套课件.pdf
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章中国特色社会主义理论体系的形成发展分享.pdf
最近下载
- Unit 2 Healthy Lifestyle 一轮大单元语境下的教材模块整合单元语篇复习课件-2025届高三英语人教版(2019)选择性必修第三册.pptx VIP
- 2025年河南省养老院市场运营趋势分析及投资潜力研究报告.docx
- 灭火战术及灭火组织指挥.ppt VIP
- 《药品追溯系统》课件.ppt VIP
- T-CAGHP 031—2018 地质灾害危险性评估及咨询评估预算标准(试行).docx
- 统编版高一语文必修上册文言文知识点总结(通假字、词类活用、特殊句式、一词多义、古今异义).pdf VIP
- 安全管理--PPT课件--房屋市政工程生产安全重大事故隐患判定标准(2024版)解析.pptx
- 公司战略与风险管理 第3版 吕文栋 教学大纲+教案1--3.doc
- 监理大纲(完整版).docx VIP
- 江西省赣州市赣州中学2024-2025学年高一下学期开学检测数学试题(含答案).pdf VIP
文档评论(0)