关于杠杆长度变化的问题
在运行时,我想不让连接圆和矩形的杠杆长度不变。
#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); } 
|