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

jimobuzai 2002-12-06 04:31:10
在运行时,我想不让连接圆和矩形的杠杆长度不变。

#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);
}
...全文
9 点赞 收藏 1
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
winco 2002-12-06
你把杆的长度定位常数L,然后,根据圆上Theta角确定矩形块的位置
回复
发动态
发帖子
C语言
创建于2007-09-28

6.2w+

社区成员

C语言相关问题讨论
申请成为版主
社区公告
暂无公告