边标志扫描算法,种子填充算法,计算机图形学
来源:互联网 发布:中国税务网络大学教育 编辑:程序博客网 时间:2024/05/06 16:49
本程序仅供参考,可供大家学习参考
首先得导入C++的graphics图形库
#include <graphics.h>
#include <iostream>
using namespace std;
//边标志算法
void edgeMarkFill(int n,int *points)
{
int flag=0,c1=0,c2=0;
int maxX=0,minX=0,maxY=0,minY=0;
int i=0,j=0,x,y;
//求maxX和minX
for(i=0,maxX=minX=points[0];i<n*2;i+=2)
{
if(maxX<points[i])
maxX=points[i];
else
minX=points[i];
}
//求maxY和minY
for(i=1,maxY=minY=points[1];i<n*2;i+=2)
{
if(maxY<points[i])
maxY=points[i];
else
minY=points[i];
}
//下面进行边标志填充
for(i=minY+1;i<maxY;i++)
{
for(j=minX;j<=maxX;j++)
{
c1=c2;
c2=getpixel(j,i);
if(c1==WHITE&&c2==BLACK)
flag=!flag;
if(flag)
putpixel(j,i,WHITE);
}
//为现实效果而延迟时间的空循环
for(int cc=0;cc<10000000;cc++);
}
}
//种子填充算法四联通算法
int BoundaryFill4(int x, int y)
{
int c=0;
c=getpixel(x,y);
if(c!=WHITE)
{
putpixel(x,y,WHITE);
}
if(c==WHITE)
return 0;
//为现实效果而延迟时间的空循环
for(int i=0;i<100000;i++);
BoundaryFill4(x+1,y);
BoundaryFill4(x-1,y);
BoundaryFill4(x,y+1);
BoundaryFill4(x,y-1);
}
int main()
{
int gdriver=DETECT, gmode;
int points1[]={50,50,200,100,200,250,100,250,50,80,50,50};
initgraph(&gdriver,&gmode,"");
drawpoly(6,points1); //画多边形
edgeMarkFill(6,points1);
//int points2[]={350,50,500,100,500,250,400,250,350,80,350,50};
int points2[]={325,25,400,50,400,125,350,125,325,40,325,25};
drawpoly(6,points2);
//BoundaryFill4(400,110);
BoundaryFill4(350,55);
getchar();
closegraph();
return 0;
}
- 边标志扫描算法,种子填充算法,计算机图形学
- 计算机图形学 - 扫描线种子填充算法
- 种子填充算法(计算机图形学)
- 边界标志填充算法(计算机图形学)
- 种子填充算法的使用—计算机图形学
- 扫描线种子填充算法
- 扫描线种子填充算法
- 图形学扫描线填充算法
- Java编写图形学的种子填充算法
- 计算机图形学(四)多边形的种子填充算法讲解与源代码
- 图形填充算法(扫描线种子填充算法)
- 线性扫描+种子填充算法 实现区域填充
- 计算机图形学 8连通边界填充算法
- 计算机图形学 栅栏填充算法 C++
- 区域填充_扫描线种子填充_广度优先算法种子填充
- 计算机图形学(三)扫描线多边形填充算法讲解与源代码
- 计算机图形学(三)_图元的属性_10_ 通用扫描填充算法
- 种子填充算法
- 讲解Ubuntu下MySQL数据库安装后初步设置
- 痛点大师史玉柱的产品黑魔法:如何做特权
- 计算机图形学DDA算法中点Bresenham算法改进的Bresenham算法
- Vi命令(一)
- Linux用户管理
- 边标志扫描算法,种子填充算法,计算机图形学
- DHCP概述
- 计算机图形学图形的变换
- 计算机图形学Cohen_Sutherland算法裁剪线段
- 若人生为棋
- linux的nohup命令的用法
- Computer Architecture project——simplescalar under Ubuntu/在Ubuntu10.04下安装simplescalar第一部分
- Java中的泛型
- Computer Architecture project——simplescalar under Ubuntu/在Ubuntu10.04下安装simplescalar第二部分