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

本文介绍了使用X扫描线算法进行多边形颜色填充的方法,包括如何确定扫描线与多边形的交点,以及如何通过交点找到多边形内的像素点。通过对新边表(NET)和活性边表(AET)的管理,解决了线段求交和数据结构的问题,但算法仍需处理k=0的特殊情况。
摘要由CSDN通过智能技术生成

在光栅显示器上选定一系列的点,将点按顺序连接起来形成一个封闭的多边形,并对多边形内的像素点进行颜色填充。本文主要介绍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区间,只需要保证每次扫描线与多边形的交点个数为偶数个,按交点顺序两两为一组即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

着风少年

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

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

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

打赏作者

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

抵扣说明:

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

余额充值