急求C语言编的一个画圆程序.

来源:百度知道 编辑:UC知道 时间:2024/05/31 08:49:18
要求画一个圆,在里面任意画4个小圆,要能够知道各圆上各点坐标,从大圆圆心向小圆做切线.帮忙解决下,谢谢了,十分感谢!!!

/*你的题目不太清楚,也不知道你具体要什么效果,你要的是不是这样的效果,运行一下,看看*/
#include<graphics.h>
#define PI 3.14159
void cir(int x,int y,int r,int color)
{
int a,tx,ty;
float fix;

if(r>180)
fix=0.5;
else
fix=0.0;
a=r*2.0/5.0+r/90.0+.5+fix;

tx=x+r*cos(PI/2)+.5;/*改变这里的角度可以得到圆上任意一点的坐标*/
ty=y-r*sin(PI/2)+.5;/*同上*/

setcolor(color);
circle(x,y,r);
line(x,y,x+r,y);
line(x,y,tx,ty);
circle(x-a,y-a,a);
circle(x+a,y-a,a);
circle(x-a,y+a,a);
circle(x+a,y+a,a);
}

void main()
{

int gd=DETECT,gm;
initgraph(&gd,&gm,"");

cir(320,240,50,2);
getch();

closegraph();
exit(0);
}