计算机图形学圆的填充
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机图形学实验报告实验三二维图形的区域填充
一.实验目的:
1.理解二维图形区域填充的含义。
2.理解有序边表算法的基本思想。
3.理解边填充算法的基本思想。
4.掌握种子填充算法的原理及实现。
5.掌握你所使用的开发环境的填充函数及相关函数。
2.实验内容:
1.实现种子填充算法,并测试你的算法,用它填充一个圆域和一个多边形域。
2.(tc下)测试getpixel、floodfill、setfillstyle函数。(其它环境选择相应函数)
2.(选做)实现有序边表填充算法。
3.(选做)实现边填充算法。
三.实验报告
1. 问题描述:采用种子填充算法填充圆
2. 程序清单:
#include "graphics.h"
#include "conio.h"
void YING(int x,int y,int oldcolor,int newcolor);
void main()
{
int gdriver=DETECT,gmode;
initgraph(&gdriver,&gmode,"C:\\TC30\\BGI");
setbkcolor(LIGHTBLUE);
setcolor(RED);
circle(100,100,20);
YING(100,100,BLACK,RED);
getch();
closegraph();
}
void YING(int x,int y,int oldcolor,int newcolor) {
if(getpixel(x,y)==oldcolor)
{
putpixel(x,y,newcolor);
getch();
YING(x,y+1,oldcolor,newcolor);
YING(x,y-1,oldcolor,newcolor);
YING(x-1,y,oldcolor,newcolor);
YING(x+1,y,oldcolor,newcolor);
}
}