正在加载图片...
具体实现时,只需检查顶点的两体条边的另外两个端 点的y值,如果两个y值中大于交点出y值的个数是0、1 2,那么交点分别取零个 按照上述规则,图5.1.1中的顶点P2,算两个交点, 这样P2像素用多边形颜色设置。在顶点P1处,只算一个 交点。而在P6处,交点算零个,即该点不予填充 下面讨论第二个问题,即边界上像素的取舍问题。例 如,对左下角为(1,1),右上角为(3,3)的正方形填充时 若对边界上所有的像素均进行填充,就得到如图5.1.3的 结果,被填充的像素覆盖的面积为3X3单位,而正方形的 实际面积只有2X2单位。这种现象称为边界扩大化问题。 为了克服这个问题,规定落在右/上边界的像素不予填充, 而落在左/下边界的像素予以填充。在具体实现时,只要 对扫描线与多边形的相交区间取左闭右开。容易看出,在 解决第一个问题时,对交点的取舍方法保证了多边形的 “下闭上开”,即丢弃上方水平边以及上方非水平边上作 为局部最高点的顶点具体实现时,只需检查顶点的两体条边的另外两个端 点的y值,如果两个y值中大于交点出y值的个数是0、1、 2,那么交点分别取零个、一个或二个。 按照上述规则,图5.1.1中的顶点P2 ,算两个交点, 这样P2 像素用多边形颜色设置。在顶点P1 处,只算一个 交点。而在P6 处,交点算零个,即该点不予填充。 下面讨论第二个问题,即边界上像素的取舍问题。例 如,对左下角为(1,1),右上角为(3,3)的正方形填充时, 若对边界上所有的像素均进行填充,就得到如图5.1.3的 结果,被填充的像素覆盖的面积为3х3单位,而正方形的 实际面积只有2х2单位。这种现象称为边界扩大化问题。 为了克服这个问题,规定落在右/上边界的像素不予填充, 而落在左/下边界的像素予以填充。在具体实现时,只要 对扫描线与多边形的相交区间取左闭右开。容易看出,在 解决第一个问题时,对交点的取舍方法保证了多边形的 “下闭上开”,即丢弃上方水平边以及上方非水平边上作 为局部最高点的顶点
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有