《多边形填充算法实验报告(共7页).doc》由会员分享,可在线阅读,更多相关《多边形填充算法实验报告(共7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上学生实验报告实验课名称:计算机图形学实验项目名称:多边形填充算法专业名称:计算机科学与技术班级: 学号:学生姓名: 教师姓名: 2016年 4月 30 日实验日期: 2016年 4月30日 实验室名称: 计算中心机房 一实验名称:多边形填充算法二实验目的与要求:学习多边形填充的基于扫描线的区域填充算法、种子填充算法、扫描线种子填充算法、边填充算法及栅栏填充与非零环绕等填充算法。理解多边形填充的概念和意义,掌握基本的多边形填充算法,编写相应的演示代码。三实验内容:实现多边形的填充a) 在MFC框架中通过菜单与对话框实现多边形顶点参量的输入,选择各种填充算法中的两种进行展
2、示,其中栅栏填充和边填充算法不能同时选择,多边形的表示根据所选择的算法,以内点表示或边界表示均可;b) 编写实现演示过程的基本代码;c) 多边形自由给定,顶点数不少于五个;d) 思考填充过程,观察填充结果,理解填充算法。四实验设备与软件环境:五实验原理: 1. 扫描线算法:适合对矢量图形进行区域填充,只需要直到多边形区域的几何位置,不需要指定种子点,适合计算机自动进行图形处理的场合使用,比如电脑游戏和三维CAD软件的渲染等等。扫描线填充算法的基本思想是:用水平扫描线从上到下(或从下到上)扫描由多条首尾相连的线段构成的多边形,每根扫描线与多边形的某些边产生一系列交点。将这些交点按照x坐标排序,将
3、排序后的点两两成对,作为线段的两个端点,以所填的颜色画水平直线。多边形被扫描完毕后,颜色填充也就完成了。 2. 种子填充算法:所有种子填充算法的核心其实就是一个递归算法,都是从指定的种子点开始,向各个方向上搜索,逐个像素进行处理,直到遇到边界,各种种子填充算法只是在处理颜色和边界的方式上有所不同。在开始介绍种子填充算法之前,首先也介绍两个概念,就是“4-联通算法”和“8-联通算法”。既然是搜索就涉及到搜索的方向问题,从区域内任意一点出发,如果只是通过上、下、左、右四个方向搜索到达区域内的任意像素,则用这种方法填充的区域就称为四连通域,这种填充方法就称为“4-联通算法”。如果从区域内任意一点出发,通过上、下、左、右、左上、左下、右上和右下全部八个方向到达区域内的任意像素,则这种方法填充的区域就称为八连通域,这种填充方法就称为“8-联通算法”。 六运行结果与分析:图1:扫描线种子填充算法图2:种子填充算法七实验中遇到的问题、解决方法及体会: 多边形的填充对我来说很困难,因为一开始我不知道要输入什么数据,后来我决定要输入五个点来形成一个五边形,但是输入的顺序是一个大问题。后来我采取顺序输入的方法,但是程序运行时常常崩溃,结果不尽人意。最后,我在同班同学的帮助之下,找到了自己的问题,完成了填充。专心-专注-专业