该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这里是用三角函数画圆的。代码如下:
#include
#include
#include
#define WIDTH 250
#define HEIGHT 250
double page=180.00;
double pi=3.14;
int x;
int y;
int a, b, r, color, metric;
void putPoints(int x, int y, int color)
{
int xasp, yasp;
float aspectratio;
getaspectratio(&xasp, &yasp);
aspectratio=xasp/yasp;
putpixel(x+WIDTH, y*aspectratio+HEIGHT,color);
putpixel(y+WIDTH, x*aspectratio+HEIGHT,color);
putpixel(-y+WIDTH, x*aspectratio+HEIGHT,color);
putpixel(-x+WIDTH, y*aspectratio+HEIGHT,color);
putpixel(y+WIDTH, -x*aspectratio+HEIGHT,color);
putpixel(x+WIDTH, -y*aspectratio+HEIGHT,color);
putpixel(-x+WIDTH, -y*aspectratio+HEIGHT,color);
putpixel(-y+WIDTH, -x*aspectratio+HEIGHT,color);
putpixel(-y+WIDTH, -x*aspectratio+HEIGHT,color);
}
void funCircle(int r, int color)
{
for(metric=0;metric<=90;metric++)
{
a=(int)(r*sin((double)metric/page*pi)+0.5);
b=(int)(r*cos((double)metric/page*pi)+0.5);
putPoints(a, b, color);
}
}
void main()
{
int graphdriver, graphmode, errorcode;
printf("Please input R!\n\tR: ");
scanf("%d", &r);
printf("Please input COLOR!\n\tCOLOR: ");
scanf("%d", &color);
graphdriver=DETECT;
graphmode=0;
initgraph(&graphdriver, &graphmode, "D:\\WINYES\\TC20H\\BGI");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error:%s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
cleardevice();
funCircle(r, color);
getch();
closegraph();
}
------------------------------------------------------
哪位高手知道问题在哪?感谢!