边缘填充算法

本文介绍了边缘填充算法,主要用于多边形区域的填充。算法思路是沿着多边形的每条边,从边与扫描线的交点开始,向右填充像素。通过给出的测试数据和实际操作截图,展示了算法的执行过程。
摘要由CSDN通过智能技术生成

多边形的区域填充:边缘填充算法

边缘填充算法的基本思想是,逐边向右求补。可以按任意顺序处理多边形的每条边,在处理每条边时,首先求出该边与扫描线的交点,然后将每一条扫描线上交点右方的所有像素取补,多边形的所有边处理完毕之后,填充即完成

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<conio.h>
#include<graphics.h>
#define N 100000
#define Min -99999999
int n;//点的个数
int right;//图像的右边界
struct point  //点的坐标
{
    int x;
	int y;
}point[N];
void init()  //顺序输入点的坐标
{
	int i;
    printf("请输入点的个数: ");
	scanf("%d",&n);
	right=Min;
	for(i=0;i<n;i++)
	{
		scanf("%d %d",&point[i].x,&point[i].y);
        if(point[i].x>right)
		right=point[i].x;
	}
	point[n].x=point[0].x; //首位相接
	point[n].y=point[0].y;
}
void DDA(int x0,int y0,int x1,int y1)//用于绘制直线
{
	int dx,dy,eps1,k;
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值