用C语言实现画图程序

上传人:飞*** 文档编号:37422688 上传时间:2018-04-16 格式:DOC 页数:10 大小:51KB
返回 下载 相关 举报
用C语言实现画图程序_第1页
第1页 / 共10页
用C语言实现画图程序_第2页
第2页 / 共10页
用C语言实现画图程序_第3页
第3页 / 共10页
用C语言实现画图程序_第4页
第4页 / 共10页
用C语言实现画图程序_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《用C语言实现画图程序》由会员分享,可在线阅读,更多相关《用C语言实现画图程序(10页珍藏版)》请在金锄头文库上搜索。

1、一、选题背景:选题背景:画图程序,通过画图中的功能绘制出美丽的图案。二、设计思想:二、设计思想:利用数学三角函数制作山峰和花朵出一条曲线、用画圆函数绘制太阳的形状、再进行颜色填充用绘制直线的函数来绘制比较粗的光线、用矩形函数画出矩形的边框、再画地球、直线画赤道、弧线画南北极和钟表的刻度盘。三、流程图三、流程图 :开 始for 循环调用标准 I/O 函数() stdio.h调用数学函数() math.hmain()主函数宏定义 PI 字符串() define PI 3.141596调用图形库函数 include“graphics.h四、程序清单:四、程序清单:#include“graphics.

2、h“ /*调用图形库函数*/#include“math.h“ /*调用数学函数*/#include“stdio.h“ /*调用标准 I/O 函数*/#define PI 3.141596 /*宏定义 PI 字符串*/main() /*主函数*/float i,x,y; /*定义单精度浮点型变量i,x,y*/int gdriver=DETECT,gmode,a=1; /*定义整型变量gdriver,gmode*/initgraph( /*定义变量后,初始化图形系统*/cleardevice();setbkcolor(a); /*背景颜色*/printf(“n“);printf(“n“); /*C

3、 语言图形函数*/printf(“n“);printf(“ the following math functions were used in the main function.n“);结 束输出图形printf(“ setbkcolor(int color);n“); /* 背景颜色*/printf(“ setcolor(int color);n“); /* 画笔颜色*/printf(“ putpexel(x,y,color);n“); /* 画像素点*/printf(“ line(x1,y1,x2,y2)n“); /* 直线函数*/printf(“ rectangle(xl,yt,xr,

4、yb)n“); /* 矩形函数*/printf(“ arc(x,y,as,ae,r)n“); /* 圆弧函数*/printf(“ circle(x,y,r)n“); /*圆形函数*/printf(“ ellipse(x,y,as,ae,rx,ry)n“); /* 椭圆函数*/printf(“n“);printf(“n“); /* 按任意键开始演示*/setcolor(2);setlinestyle(0,0,3);rectangle(4,4,635,475); /*绘制矩形框*/getch();cleardevice();printf(“n“); /* 模拟手工画图*/printf(“n“);

5、/* 函数曲线图形*/setcolor(3);setlinestyle(3,3,3);rectangle(4,4,635,475); /*绘制图纸边框*/for (i=0;i=250;x-=0.0001)putpixel(x,60,12); /*绘制阳光线*/for (x=360;x=390;x+=0.0001)putpixel(x,60,12); /*绘制阳光线*/for (y=24;y=12;y-=0.0001)putpixel(320,y,12); /*绘制阳光线*/for (y=96;y=108;y+=0.0001)putpixel(320,y,12); /*绘制阳光线*/setlin

6、estyle(3,0,1);setcolor(12);for (i=0;i=2*PI;i+=PI/12) /*绘制阳光线*/line(320+40*cos(i),60-36*sin(i),320+70*cos(i),60-48*sin(i);for (x=0;x=55555;x+=0.1)y=y+x; /*延时控制*/setcolor(13);setlinestyle(0,0,1);rectangle(460,100,620,200); /*绘制地图框(矩形)*/setcolor(11);setlinestyle(0,0,3);ellipse(540,150,0,360,77,48); /*绘

7、制地球(椭圆)*/setcolor(10); setlinestyle(0,0,1);circle(540,150,46); /*绘制经线(圆形)*/ellipse(540,100,210,330,45,16); /*绘制北极圈(椭圆弧)*/ellipse(540,200,30,150,45,16); /*绘制南极圈(椭圆弧)*/setcolor(14);setlinestyle(3,0,1);line(460,150,620,150); /*绘制赤道(水平线)*/line(540,100,540,200); /*绘制经线(垂直线)*/setcolor(11); setlinestyle(0,

8、0,1);for (i=0;i=2*PI;i+=PI/300)putpixel(590-35*cos(i),50-35*sin(i),11); /*绘制 0.1 秒刻度*/setcolor(14);setlinestyle(0,0,1);circle(590,50,2); /*绘制中心轴*/setcolor(13);setlinestyle(0,0,3);for (i=0;i=2*PI;i+=PI/6)line(590+25*sin(i),50-25*cos(i),590+30*sin(i),50-30*cos(i); /*绘制小时*/for (x=0;x=5555;x+=0.001)y=y+x; /*延时控制*/getch();closegraph();五、主要解决问题的方法及技术关键五、主要解决问题的方法及技术关键1 1、主要问题及解决方法主要问题及解决方法抛物线的画法用插补法画抛物线。调色板的设置用 set_pattern()函数设置调色板,将颜色寄存器设置成需要的值。2 2、技术关键技术关键使用 BIOS 中断 INT 10H 的功能随机生成图案。INT 10H 的颜色块设定于图片生成等。六、设计结果说明六、设计结果说明1、设计优点:本程序实现了根据给定的起点及旋转角度,用指定的颜色画图。 2、设计不足: 某些地方的颜色还有些不足,要想效果更加好,还需加以改正。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号