多边形颜色填充-X扫描线算法

在光栅显示器上选定一系列的点,将点按顺序连接起来形成一个封闭的多边形,并对多边形内的像素点进行颜色填充。本文主要介绍X扫描线算法以实现多边形内目标像素点的确定。

一.X扫描线算法

首先确定该多边形的y_{min}y_{max},通过y变量以y_{min}为起点,以y_{max}为终点,每次步长为1,与多边形相交求得交点,在交点的区间内所得的整数即为所求像素点。例如下图y_{min}=1y_{max}=8,扫描线y=4与多边形交于P1、P2、P3、P4点,4个交点的x坐标分别为3.20、5.33、6.50、9.20,因此所求的目标像素点分别为P1和P2区间[4,4]、[5,4],P3和P4区间[7,4]、[8,4]、[9,4]。这边有一个问题如何排除P2和P3区间,只需要保证每次扫描线与多边形的交点个数为偶数个,按交点顺序两两为一组即可。

  • 9
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

着风少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值