碧海潮声大学生网
标题:
〖求助〗各位学长帮俺看看
[打印本页]
作者:
@海之蓝@
时间:
2006-6-6 06:00
标题:
〖求助〗各位学长帮俺看看
设计一个简单的作图系统,要求在屏幕上可以任意作出圆(半径可变),矩形(边长可变),直线(长度可变),椭圆(大小可变)具体可参照操作系统里的附件里的画图软件。附带详细程序清单说明。
问下这种C语言程序有没什么编的技巧啊??
谢了!!!
作者:
绝望领域
时间:
2006-6-7 00:05
没什么技巧,就是一个调用图形函数库里的函数.可以去查一下相关的 函数库 的使用方法.
作者:
@海之蓝@
时间:
2006-6-8 01:47
谢谢了!!! [s:4]
作者:
绿水
时间:
2006-6-9 06:43
我这里有个你看看
/* WIN-TC BGI 图形编程模板sun314 20:15:33 */
#include "Conio.h"
#include "graphics.h"
#include "math.h"
#define closegr closegraph
void initgr(void) /* BGI初始化 */
{
int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同样效果 */
registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */
initgraph(&gd, &gm, "");
}
int main(void)
{
double a=0.1,b=0,x,y,xx=300,yy=220,w=3;
int c=1;
initgr();
getch();
for(a=0;a<=10000;a=a+0.01)
{
b=b+0.1;
if(w==1){xx=xx+0.1;yy=yy+0.1;}
if(w==2){xx=xx+0.1;yy=yy-0.1;}
if(w==3){xx=xx-0.1;yy=yy-0.1;}
if(w==4){xx=xx-0.1;yy=yy+0.1;}
if(xx>=550&&w==1){w=4;cleardevice();}
if(xx>=550&&w==2){w=3;cleardevice();}
if(xx<=60&&w==3){w=2;cleardevice();}
if(xx<=60&&w==4){w=1;cleardevice();}
if(yy>=380&&w==1){w=2;cleardevice();}
if(yy>=380&&w==4){w=3;cleardevice();}
if(yy<=60&&w==2){w=1;cleardevice();}
if(yy<=60&&w==3){w=4;cleardevice();}
for(c=1;c<=6;c++)
{
setcolor(c);
x=(sin((a+3*c)*3.1415926*20/180)*30)+sin((a+3*c)*3.1415926*200/180)*50+xx;
y=(cos((a+3*c)*3.1415926*20/180)*30)+cos((a+3*c)*3.1415926*200/180)*50+yy;
circle(x,y,8);
}
for(c=1;c<=6;c++)
{
setcolor(0);
x=(sin((a+3*c-0.5)*3.1415926*20/180)*30)+sin((a+3*c-0.5)*3.1415926*200/180)*50+xx;
y=(cos((a+3*c-0.5)*3.1415926*20/180)*30)+cos((a+3*c-0.5)*3.1415926*200/180)*50+yy;
circle(x,y,8);
}
}
getch(); /* 暂停一下,看看前面绘图代码的运行结果 */
closegr(); /* 恢复TEXT屏幕模式 */
return 0;
}
作者:
绿水
时间:
2006-6-9 06:44
运行后点回车
作者:
@海之蓝@
时间:
2006-6-14 23:35
谢谢了,偶去试试!! [s:4]
欢迎光临 碧海潮声大学生网 (http://www.zjoubbs.com/)
Powered by Discuz! X3.2