多边形填充算法之扫描线填充算法

本文介绍了扫描线填充算法用于填充多边形的原理和步骤,包括求交、排序、交点配对和区间填充,并讨论了处理扫描线与多边形相交时的交点取舍问题及边界像素处理策略。此外,还提到了活性边表(AET)在提高求交运算效率中的作用。
摘要由CSDN通过智能技术生成

多边形填充算法之扫描线填充算法

  多边形填充可以是凸多边形、凹多边形、或者是可以是带孔的多边形。扫描线填充算法是一种常用的填充算法。

1. 多边形填充过程一般可以分为四个步骤

  (1)求交:计算扫描线与多边形各边的交点;

  (2)排序:把所有交点按照递增的顺序进行排序;

  (3)交点配对:1与2, 3与4等配对处理,每对代表扫描线与多边形的一个相交的区间;

  (4)区间填充:把这些相交的区间内的像素设置成多边形颜色,填充区间之外的像素设置背景色。

2. 需要解决的问题

  (1)扫描线与多边形相交时,交点的取舍问题;

  (2)多边形边界的像素取舍问题。

3. 问题解决

  

   (1) 扫描线交于多变型的顶点时,根据顶点的对应的两条边的另一个顶点的位置来判断取舍。

  ① 如果另外两个顶点都高于扫描线,则取这个顶点算取2次,即此顶点可以填充,已经作为填充区间;

  ② 如果另外两个顶点都低于扫描线,则这个交点算取0个,即此顶点不进行填充;

  ③ 如果另外两个顶点一个在扫描线之上,另一个在扫描线之下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值