下载此文档

计算机图形学第三章基本光栅图形算法.ppt


文档分类:IT计算机 | 页数:约27页 举报非法文档有奖
1/27
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/27 下载此文档
文档列表 文档介绍
第三章基本光栅图形算法本章内容1直线的扫描转换2圆的扫描转换3多边形的扫描转换4区域填充5光栅图形的反走样算法*多边形的扫描转换什么是多边形的扫描转换?把多边形的顶点表示转化为点阵表示,也就是从多边形的给定边界出发,求出位于其内部的各个像素,并给帧缓冲器内各个对应元素设置相应的灰度和颜色多边形的扫描转换过程,实际上是给多边形包围的区域着色的过程图1多边形的顶点表示P0P1P2P3P4图2多边形的点阵表示多边形的表示方法顶点表示:用多边形的顶点序列来刻划多边形该表示方法几何意义强、占内存少不能明确指出哪些像素在多边形内,不能直接用于面着色点阵表示:用位于多边形内的象素的集合来刻划多边形该方法便于利用帧缓冲器表示图形,是面着色所需要的图形表示形式失去了许多重要的几何信息*为什么研究图形的扫描转换与区域填充?哪个长方形在前,哪个在后?哪个长方形在前,哪个在后?与单纯由线条所构成的线画图形相比,采用面着色绘制的光栅图形显得更为生动、直观,真实感更强面着色可以使使光栅图形的画面明暗自然,色彩丰富,形象逼真,具有真实感*逐点判断法逐点判断是实现多边形扫描转换最简单的方法逐个像素判别,确定它们是否在多边形内,从而给出位于多边形内的点(像素)的集合#defineMAX100typedefstruct{intVertexNum;//多边形顶点个数PointVertices[MAX]//多边形顶点数组}Polygon//多边形*voidFillPolygonPbyP(PolygonP){intx,y; for(x=xmin;x<=xmax;x++)for(y=xmin;y<=ymax;y++) if(IsInside(P,x,y)) FrameBuffer(x,y)=POLYGON_COLOR; else FrameBuffer(x,y)=BACKGROUND_COLOR;}/*endofFillPolygonPbyP() */IsInside(P,x,y):验证点(x,y)是否在多边形P内的布尔函数,当从(x,y)到(+,y)的射线与P的交点个数是奇数时,函数取值true,否则取值False。FrameBuffer(x,y):在帧缓存中对应位置存放屏幕上像素(x,y)的颜色值。POLYGON-COLOR:多边形P的颜色值。BACKGROUND-COLOR:屏幕的背景色。逐点判断法*扫描线算法基本思想扫描线算法按扫描线的顺序计算出扫描线与多边形的相交区间,然后用要求的颜色填充这些区间内的像素。该算法利用了相邻像素间的连续性,避免对像素的逐点判断和反复求交运算,减少了计算量,提高了算法速度。先求出扫描线与多边形边的交点,利用扫描线的连续性求出多边形与扫描线相交的连续区域,然后利用多边形边的连续性,求出下一条扫描线与多边形的交点,对所有扫描线由上到下依次处理。区域的连续性、扫描线的连续性、边的连续性*区域的连续性(2-1)设多边形P的顶点为Pi=(xi,yi),i=0,1,2,…,n,又设是各顶点Pi的纵坐标yi的递减数列,当,屏幕上位于于y=和y=两条扫描线之间的长方形区域{,}被多边形P的边分割成若干梯形(三角形看作其中一底边长为0的梯形)。P0P1P2P3P4P5P6P7P8*区域的连续性(2-2)如果知道长方形区域内任一梯形内一点关于多边形P的内外关系后,即可确定区域内所有梯形关于P的内外关系。此性质称为区域的连续性。这些梯形有如下的三个性质:P0P1P2P3P4P5P6P7P8梯形的两底边分别在y=和y=两条扫描线上,腰在多边形P的边上或在显示屏幕的边界上。梯形可分为两类:一类位于多边形P的内部;另一类在多边形P的外部。两类梯形在长方形区域{,}内相间的排列。即相邻的两梯形必有一个在多边形P内,另一个在P外。*设多边形P的顶点,将各顶点的纵坐标按递减顺序排列,即设当前扫描线,,与多边形P的边的交点记为。设为与P的边界各交点横坐标的递增序列,该序列称为交点序列。扫描线的连续性(2-1)P0P1P2P3P4P5P6P7P8xe0xe2xe3xe7xe6xe4*

计算机图形学第三章基本光栅图形算法 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数27
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zhongxinado
  • 文件大小1.17 MB
  • 时间2020-06-29