当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

浙江大学:《计算机图形学》 第四章 光栅图形的扫描转换与 区域填充

资源类别:文库,文档格式:PPT,文档页数:70,文件大小:845KB,团购合买
一、i扫描转换矩形 二、扫描转换多边形 三、区域填充
点击下载完整版文档(PPT)

Y第四章光栅图形的扫描转换与 区域填充 扫描转换矩形 扫描转换多边形 区域填充 浙江大学信息学院 计算机图形学

浙江大学信息学院 计算机图形学 第四章 光栅图形的扫描转换与 区域填充 扫描转换矩形 扫描转换多边形 区域填充

扫描转换矩形 问题: 矩形是简单的多边形,那么为什么要单独 处理矩形? 比一般多边形可简化计算。 应用非常多,窗口系统。 共享边界如何处理? 原则:左闭右开,下闭上开 属于谁? 失学信息学院 计算机图形学

浙江大学信息学院 计算机图形学 扫描转换矩形 • 问题: –矩形是简单的多边形,那么为什么要单独 处理矩形? 比一般多边形可简化计算。 应用非常多,窗口系统。 –共享边界如何处理? • 原则:左闭右开,下闭上开 属于谁?

扫描转换矩形 方法 void FillRectangle rectangle *rect, int color) fint x ,y; forly= rect->ymin; y ymax; y++) for(x= rect->xmin; xxmax; x++ PutPixel(x,J,colr少; end of fillrectangle0

浙江大学信息学院 计算机图形学 扫描转换矩形 • 方法: void FillRectangle(Rectangle *rect,int color) { int x,y; for(y = rect->ymin;y ymax;y++) for(x = rect->xmin;x xmax;x++) PutPixel(x,y,color); }/*end of FillRectangle() */

扫描转换多边形 ·多边形分为凸多边形、凹多边形、含内环的多 边形。 浙江大学信息学院 计算机图形学

浙江大学信息学院 计算机图形学 扫描转换多边形 • 多边形分为凸多边形、凹多边形、含内环的多 边形

扫描转换多边形 多边形的表示方法 顶点表示 点阵表示 ·顶点表示:用多边形顶点的序列来刻划多边形。 直观、几何意义强、占内存少;不能直接用于 面着色 ·点阵表示:用位于多边形内的象素的集合来刻 划多边形。失去了许多重要的几何信息;便于 运用帧缓冲存储器表示图形,易于面着色 浙江大学信息学院 计算机图形学

浙江大学信息学院 计算机图形学 扫描转换多边形 • 多边形的表示方法 –顶点表示 –点阵表示 • 顶点表示:用多边形顶点的序列来刻划多边形。 直观、几何意义强、占内存少;不能直接用于 面着色。 • 点阵表示:用位于多边形内的象素的集合来刻 划多边形。失去了许多重要的几何信息;便于 运用帧缓冲存储器表示图形,易于面着色

多边形的扫描转换 多边形的扫描转换:把多边形的顶点表示转 换为点阵表示,也就是从多边形的给定边界 出发,求出位于其内部的各个象素,并给帧 缓冲器内的各个对应元素设置相应的灰度和 颜色,通常称这种转换为多边形的扫描转换。 几种方法:逐点判断法;扫描线算法;边缘 填充法;栅栏填充法;边界标志法。 浙江大学信息学院 计算机图形学

浙江大学信息学院 计算机图形学 多边形的扫描转换 –多边形的扫描转换:把多边形的顶点表示转 换为点阵表示,也就是从多边形的给定边界 出发,求出位于其内部的各个象素,并给帧 缓冲器内的各个对应元素设置相应的灰度和 颜色,通常称这种转换为多边形的扫描转换。 –几种方法:逐点判断法;扫描线算法;边缘 填充法;栅栏填充法;边界标志法

逐点判断法 KAG UNVES #define MaX 100 Typedef struct{ int Polygon Num;∥多边形顶点个数 Point vertexcesMAX]∥多边形顶点数组 } Polygon∥多边形结构 void FillPolygonPbyP(Polygon Pint polygon Color) int x, y, for(y=ymin; y <=ymax; y++) for(x=xmin; x<=xmax; x++) if(iNside(px, n) PutPixellx, v, polygon Color) else PutPixel(x, y, backgroundcolor f /end of fillpolygonPbyP0*/ 浙江大学信息学院 计算机图形学

浙江大学信息学院 计算机图形学 void FillPolygonPbyP(Polygon *P,int polygonColor) { int x,y; for(y = ymin;y <= ymax;y++) for(x = xmin;x <= xmax;x++) if(IsInside(P,x,y)) PutPixel(x,y,polygonColor); else PutPixel(x,y,backgroundColor); }/*end of FillPolygonPbyP() */ #define MAX 100 Typedef struct { int PolygonNum; // 多边形顶点个数 Point vertexces[MAX] //多边形顶点数组 } Polygon // 多边形结构 逐点判断法

逐点判断法 逐个判断绘图窗口内的像素: 如何判断点在多边形的内外关系? 1)射线法: 2)累计角度法 3)编码法; 浙江大学信息学院 计算机图形学

浙江大学信息学院 计算机图形学 逐点判断法 • 逐个判断绘图窗口内的像素: • 如何判断点在多边形的内外关系? 1)射线法: 2)累计角度法 3)编码法;

逐点判断法 1)射线法 步骤 1.从待判别点v发出射线 2.求交点个数k 3.K的奇偶性决定了点与多边形的内外关系 PO

浙江大学信息学院 计算机图形学 逐点判断法 1)射线法 • 步骤: 1. 从待判别点v发出射线 2. 求交点个数k 3. K的奇偶性决定了点与多边形的内外关系

逐点判断法 2)累计角度法 步骤 1.从v点向多边形P顶点发出射线,形成有向角O 2.计算有相交的和,得出结论 0,p位于P之外 ±2兀,位于P之内 义f 预处理 离散计算方法:编码方法 B 浙江大学信息学院 计算机图形学

浙江大学信息学院 计算机图形学 逐点判断法 2)累计角度法 • 步骤 1. 从v点向多边形P顶点发出射线,形成有向角 2. 计算有相交的和,得出结论 • 预处理 • 离散计算方法:编码方法      = = 位于 之内 , 位于 之外 v P n v P i i 2 , 0 0    i

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共70页,可试读20页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有