# 连接圆和矩形的杠杆长度不变的问题

jimobuzai 2002-12-06 04:33:50

#include <graphics.h>
#include <math.h>
#define PI 3.1415926
#define A 50
#define B 180
int main()
{
double a,b,c,x=230,y=200,file1=0,cx,bx,by;
int gdriver, gmode,e,i,k;
gdriver=DETECT;
/* registerbgidriver(EGAVGA_driver); */
initgraph(&gdriver, &gmode, "");
setbkcolor(2);
cleardevice();
do{
file1+=5;
a=A*cos(file1*PI/180);
b=A*sin(file1*PI/180);
c=(double)sqrt(B*B-b*b);
bx=400-A*cos(file1*PI/180);
by=300-A*sin(file1*PI/180);
cx=bx-a-c;
setcolor(4);
line(cx,300,bx,by);
line(bx,by,400,300);
rectangle(cx-20,290,cx+20,310);
circle(400,300,50);
circle(400,300,2);
circle(cx,300,2);
circle(bx,by,2);
line(80,311,345,311);
{
line(400,300,390,311);
line(400,300,410,311);
line(380,311,422,311);
}
for(k=0;k<=40;k+=5)
line(383+k,311,379+k,315);
for(e=0;e<=260;e+=5)
line(86+e,311,81+e,315);
put_text((int)x,(int)y+getmaxy()/3);
/* cls */
delay(20000);
setcolor(0);
line(400,300,bx,by);
line(cx,300,bx,by);
rectangle(cx-20,290,cx+20,310);
circle(cx,300,2);
circle(bx,by,2);
}
while(!kbhit());
getch();
closegraph();
return 0;
}

int put_text(x0,y0)
int x0,y0;
{
char *s1;
s1=" 0148 2002-12-06";
settextstyle(1,0,5);
setcolor(BLUE);
outtextxy(x0-6*8*3,y0,s1);
outtextxy(x0-6*8*3+1,y0+1,s1);
outtextxy(x0-6*8*3+2,y0+2,s1);
outtextxy(x0-6*8*3+3,y0+3,s1);
}

...全文
23 1 打赏 收藏 举报

1 条回复

znnren 2002-12-06
• 打赏
• 举报

???

6.7w+

C语言相关问题讨论

2002-12-06 04:33