第四讲:基本图元的光栅化(2) Output Primitives 4.1区域填充 有两种方法可以完成区域的填充,一种方法是在扫描时,确定扫描线跨越区域的部分,并填充该部分。另一种方法是从区域内的一点(种子点)开始第规的向外扩展,直到遇到边界为止。扫描线方法在一些图形软件中一般用于填充圆、椭圆、多边形等简单形状的区域。种子点法一般用于填充交复杂的边界图形和交互绘制系统。 4.1.1 扫描线多边形填充算法 如下图所示,对每一条扫描线,我们计算出多边形中与扫描线相交的点,这些点按行从左至右排序放入一个线性表(焦点个数应为偶数个),然后在贞缓存中将每对交点中间位置的点写入颜色值。如图4.1.1所示,红色点为交点,绿色点中间点。 4.1区域填充 有时候扫描线与多边形的顶点相交,如图4.1.2。所示,这时需要对交点作特殊的处理。 第一种情况,在交点a处 ,四边形的两条边和扫描线的交点是同一个顶点,这时,连接交点的两条边在扫描线的同侧,交点数目为偶数个,则不需要多特殊处理。 4.1区域填充 第二种情况,在交点b处,关联该定点的多边形的两条边分别位于扫描线两侧。 需要对交点作特殊处理, 因为在确定交点对时,第三个交点(和第二个交点为同一点)和第四个交点之间部分并非多变形的包围区域。这时交点总数为奇数个。 4.1区域填充
原创力文档

文档评论(0)