ITPub博客

首页 > 应用开发 > IT综合 > 关于杠杆长度变化的问题(C问题) (转)

关于杠杆长度变化的问题(C问题) (转)

原创 IT综合 作者:amyz 时间:2007-10-17 18:12:57 0 删除 编辑
关于杠杆长度变化的问题(C问题) (转)[@more@]

关于杠杆长度变化的问题

在运行时,我想不让连接圆和矩形的杠杆长度不变。

#include
#include
#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);
}


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752019/viewspace-977186/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3984
  • 访问量
    7338527