光栅图形学读书报告.pdfVIP

  • 10
  • 0
  • 约9.35千字
  • 约 13页
  • 2020-09-14 发布于浙江
  • 举报
计算机图形学基础读书报告 计82 于乃通 2008011320 多边形扫描转换与区域填充 在计算机图形学中,多边形有两种重要的表示方法:顶点表示和点阵表示。顶点表示是 用多边形的顶点序列来表示多边形。这种表示直观、几何意义强、占内存少,易于进行几何 变换,但由于它没有明确指出哪些象素在多边形内,故不能直接用于面着色;点阵表示是用 位于多边形内的象素集合来刻画多边形。这种表示丢失了许多几何信息,但便于帧缓冲器表 示图形,是面着色所需要的图形表示形式。光栅图形的一个基本问题是把多边形的顶点表示 转换为点阵表示,这种转换称为多边形的扫描转换。 区域填充则是指先将在点阵表示的多边形区域内的一点(称为种子点)赋予指定的颜色 和灰度,然后将这种颜色和灰度扩展到整个区域内的过程。 一、多边形的扫描转换 多边形扫描转换算法对多边形的形状没有限制,但多边形的边界必须是封闭的,且不自 交。我们可以将多边形分为三种:凸多边形、凹多边形、含内环的多边形。所谓凸多边形是 指任意两顶点间的连线均在多边形内;凹多边形是指任意两顶点间的连线有不在多边形内的 部分;而含内环的多边形则是指多边形内再套有多边形,多边形内的多边形也叫内环,内环 之间不能相交。 (a)凸多边形 (b)凹多边形 (c)含内环的多边形 1、扫描线算法 扫描线算法是按扫描线顺序,计算扫描线与多边形的相交区间,再用要求的颜色显示这 些区间的象素,完成转换工作。区间的端点可以通过计算扫描线与多边形边界线的交点获得 (如下图)。 第1 页,共13 页 计算机图形学基础读书报告 计82 于乃通 2008011320 对于一条扫描线,多边形的扫描转换过程可以分为四个步骤: 1) 求交:计算扫描线与多边形各边的交点。 2) 排序:把所有交点按x 值递增顺序排序。 3) 配对:第一个与第二个,第三个与第四个等等;每对交点代表扫描线与多边形的一 个相交区间。 4) 着色:把相交区间内的象素置成多边形颜色,把相交区间外的象素置成背景色。 存在问题:当扫描线与多边形顶点相交时,交点的取舍问题。如下图所示,在扫描线 y=1 ,y=5 和y=7 时,扫描线过多边形的顶点,若不加以处理,交点配对时会发生错误。 解决方法:当扫描线与多边形的顶点相交时,若共享顶点的两条边分别落在扫描线的两 边,交点只算一个;若共享顶点的两条边在扫描线的同一边,这时交点作为零个或两个。实 际处理时,只要检查顶点的两条边的另外两个端点的Y 值,两个Y 值中大于交点Y 值的个数 是0,1,2,来决定取0 ,1,2 个交点。 由于 x-扫描线算法在处理每条扫描线时,需要与多边形所有的边求交,效率很低,因 此需要加以改进,形成改进的有效边表算法。 改进原理: (1)处理一条扫描线时,仅对有效边求交。 (2)利用扫描线的连贯性,即当前扫描线与各边的交点顺序与下一条扫描线与各边的交 第2 页,共13 页 计算机图形学基础读书报告 计82 于乃通 2008011320 点顺序很可能相同或非常相似。 (3)利用多边形边的连贯性,即当某条边与当前扫描线相交时,它很可能也与下一条扫 描线也相交:若边的直线斜率为k ,这样边与两条相邻扫描线的交点有如下关系:xi+1=xi+1/k 。 有效边(Active Edge ):指与当前扫描线相交的多边形的边,也称为活性边。 有效边表(Active Edge Table, AET ):把有效边按与扫描线交点x 坐标递增的顺序存放 在一个链表中,此链表称为有效边表。有效边表的每个结点为: x ymax 1/k next 边表:为了方便有效边表的建立与更新,需要构造一个边表(Edge Ta

文档评论(0)

1亿VIP精品文档

相关文档