计算机图形学图形填充精选PPT.ppt
《计算机图形学图形填充精选PPT.ppt》由会员分享,可在线阅读,更多相关《计算机图形学图形填充精选PPT.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机图形学 图形填充第1页,此课件共50页哦v图形分类线段图形 直线、圆以及自由曲线等,用于表现物体的几何轮廓实面积图形 封闭图形,在其封闭的区域内具有相同的颜色。既表现了物体的几何轮廓,也反映了物体表面的色彩。在计算机屏幕上表现为:处于封闭图形内部区域的屏幕象素具有相同的亮度和色彩。第2页,此课件共50页哦v实面积图形的表示顶点表示法 以封闭多边形的顶点坐标数据(或者,闭合曲线的特征数据)来描述实面积图形;其内部以用户指定的颜色填充;基本填充方法:多边形填充。点阵表示法 以点阵数组的方式描述实面积图形;图形的内部以用户指定的颜色包围或者组成,易于面着色;基本填充方法:种子填充。顶点表示顶点
2、表示点阵表示点阵表示:多边形的扫描转换多边形的扫描转换。第3页,此课件共50页哦多边形分为凸多边形、凹多边形、含内环的多边形。注意:凹、凸点的判断第4页,此课件共50页哦实区域填充算法 v确定待填充的象素,即检查光栅的每一像素是否位于多边形区域内v解决的主要问题是什么?v图案填充还有一个什么象素填什么颜色的问题v曲线围成的区域,可用多边形逼近 第5页,此课件共50页哦v多边形的填充原理多边形填充的任务:把多边形的顶点表示转换为点阵表示。即,找出所有位于多边形内部的像素点,以所要求的像素值画这些像素点。可能的做法:遍历屏幕上的像素点,判断是否在多边形内部,然后填充。问题:问题:逐点判断,速度太慢
3、;不是所有对多边形都容易作内部判断。关键:关键:寻找一种快速而通用的内部判断方法。第6页,此课件共50页哦扫描线扫描线:点阵图形在屏幕上的像素点,可以认为是由位于一条条水平直线上的像素点构成的.对每一条切割多边形的扫描线,决定扫描线上哪些像素点是在多边形内部,并对这些相应的像素点赋以合适的值表示某种颜色或灰度,就能对整个多边形进行扫描转换。第7页,此课件共50页哦一条扫描线与一个多边形的关系:相交或不相交.若相交,则直线被多边形分割成不同的直线段,其中一些在多边形内,另外一些在多边形外.并且这些多边形内外的直线段大多数情况下相互交替出现.第8页,此课件共50页哦扫描线连贯性扫描线连贯性(sca
4、n line coherence):当像素点位于多边形内(外)的直线段上时,它就位于多边形内(外).也就是说,与多边形相交的一条扫描线上总会有一组相互相连的像素点都位于多边形之内。每一个像素点像素点所在的直线段第9页,此课件共50页哦分析从扫描线的一端出发,当前在多边形外,当沿扫描线前进到达与多边形的第一个交点时,就进入多边形内;由于扫描线的另一端是在多边形外,继续沿扫描线前进一定会走出多边形内部,于是一定会遇到第二个交点。这时可以看到,第一和第二个交点之间的直线段就位于多边形内;如果没有更多的交点,则该扫描线上只有一段直线段位于多边形内。否则,继续沿扫描线前进,此时位于多边形外,直到遇到第三
5、个交点后,重新进入多边形内。类似前面的分析,一定有第四个交点。于是第三,第四个交点给出的直线段就位于多边形内;如果还有更多的交点,就重复这样的过程,直到没有新的交点为止。因为交点个数是有限的,这一过程是一定可以结束的。第10页,此课件共50页哦射线交点计数射线交点计数的方法:从多边形外一点,引水平射线(即扫描线)穿过多边形,记录扫描线与多边形边的交点个数情况,当交点数为奇数时,扫描线处在多边形内部,当交点数为偶数时,扫描线处在多边形外部。多边形与同一扫描线的交点按x方向大小顺序排列,并两两配对,则可得扫描线在多边形内的直线段,从而可实现多边形填充。第11页,此课件共50页哦奇点问题奇点:当扫描
6、线与多边形的交点是顶点。如果奇点存在,上述判别过程就不能正确地进行多边形顶点的潜在问题这个问题与交点的求解方法有关.所有交点通过扫描线所在直线依次与多边形各边所在直线段求解出。如果某个交点恰恰是其中一个边的端点:重复计算。水平边问题水平边重合于某一条扫描线:无数多交点,不予处理第12页,此课件共50页哦可能情况图示:第13页,此课件共50页哦奇点的处理v多边形的顶点可分为两类:极值奇点和非极值奇点。如果(yi-1-yi)(yi+1-yi)0,则称顶点Pi为极值点;否则称Pi为非极值点。v规定:奇点是极值点时,该点按两个交点计算,否则按一规定:奇点是极值点时,该点按两个交点计算,否则按一个交点计
7、算。个交点计算。第14页,此课件共50页哦v奇点的计数问题 543210P1P2P3P4I1I2I3I4P5扫描线5扫描线4扫描线3扫描线2扫描线1I5I6v检查交于该顶点的两条边的另外两个端点的y值大于该顶点y值的个数 计数0次计数1次计数2次第15页,此课件共50页哦2022/10/1015总结:简单地数交点不能解决所有的问题,需要补充规则完善此射线交点计数法射线交点计数法:(1)忽略多边形的水平边;(2)与多边形的极值点端点相交时,该点算做两个;(3)其余的非极值点端点,仅计算一次。实际操作任务:(1)判断水平边;(2)判断奇点;在求交点过程中,因为是依次计算扫描线与各条边的交点,因此奇
8、点也自然被计算两次。但造成另一个问题是非极值点的顶点也被计算了两次。第16页,此课件共50页哦对此问题的一种处理办法是,计算前,先将每条斜边的低端点在y方向上缩小一个屏幕坐标单位,这将忽略极小值第17页,此课件共50页哦另一种预处理办法是,通过判断每条斜边的端点y值是否单调来找出奇点,对极值端点不作处理,而对非极值端点则缩短其中一条斜边的端点。v此法的缺点是,填充的图形可能会出现残缺第18页,此课件共50页哦这样处理后,极值点仍计算两次,而非极值点的斜边交点只计算一次。经上述约定及处理后,可保证同一扫描线与多边形的交点成对出 现,因此只要算出交点,填充就可以利用画直线算法快速完成。第19页,此
9、课件共50页哦扫描线算法步骤如下:(1)确定多边形所占有的最大扫描线数,得到多边形顶点的最小和最大y值(ymin和ymax)。(2)从y=ymin到y=ymax,每次用一条扫描线进行填充。(3)对一条扫描线填充的过程可分为四个步骤:a、求交:计算扫描线与多边形各边的交点;b、排序:把所有交点按递增顺序进行排序;c、交点配对:第一个与第二个,第三个与第四个 等等,每对交点就 代表扫描线与多边形的一个相交区间;d、区间填色:把这些相交区间内的像素置成不同于背景色的填充色。第20页,此课件共50页哦v如何计算下一条扫描线与边的交点。如何计算下一条扫描线与边的交点。直线方程:ax+by+c=0 当前交
10、点坐标:(xi,yi)下一交点坐标:(xi+1,yi+1)xi+1=(-byi+1)-c)/a=(-byi+1)-c)/a=xi-b/a=xi+1/mi第21页,此课件共50页哦扫描线算法特点v特点:算法效率较高。v缺点:对各种表的维持和排序开销太大,适合软件实现而不适合硬件实现。第22页,此课件共50页哦填充图元生成原理v多边形扫描转换多边形扫描转换v区域填充区域填充第23页,此课件共50页哦区域填充v区域区域指已经表示成点阵形式的填充图形,它是象素的集合。v区域填充区域填充指先将区域的一点赋予指定的颜色,然后将该颜色扩展到整个区域的过程。区域填充算法要求区域是连通的。第24页,此课件共50
11、页哦区域填充v表示方法:表示方法:内点表示、边界表示v内点表示内点表示枚举出区域内部的所有像素内部的所有像素着同一个颜色边界像素着与内部像素不同的颜色v边界表示边界表示枚举出边界上所有的像素边界上的所有像素着同一颜色内部像素着与边界像素不同的颜色 第25页,此课件共50页哦区域填充区域的连通性v连通性连通性 4连通、8连通、16连通v4 4连通连通 像素(像素(P(xP(xp,p,y yp p))v N N4 4(p)=r|d(p)=r|d4 4(p,r)=1(p,r)=1v d d4 4(p,r)=|x(p,r)=|xp p-x-xr r|+|y|+|yp p-y-yr r|v8 8连通连通
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机图形学 图形填充精选PPT 计算机 图形学 图形 填充 精选 PPT
限制150内