?? 半自動下壓模平壓模切機系統運動分析1.c
字號:
#include<stdio.h>
#include<math.h>
#define N 36
#define PI 3.14159265
main()
{
int i,m;
double a,b,c,d,e,f,g;
double n,speed1,zita0,acce1,zita;
double zita1[N],zita2[N],zita3[N];
double speed2[N],speed3[N],acce2[N],acce3[N];
double l1,l2,l3,l4;
double zita4[N],zita5[N],s4[N],acce4[N],v4[N],o4[N];
l1=71.70;l2=236.57;l3=500;l4=456.09;n=2500/60;zita0=0;g=0;
speed1=PI*n/30;zita0=zita0*PI/180;m=1;zita=2*PI-atan2(l3,l2-l1);
for(i=0;i<N;i++)
{zita1[i]=zita0+2*i*PI/N;
a=2*l1*l3*sin(zita1[i])-2*l3*l4*sin(zita);
b=2*l1*l3*cos(zita1[i])-2*l3*l4*cos(zita);
c=l2*l2-l1*l1-l3*l3-l4*l4+2*l1*l4*cos(zita1[i]-zita);
zita3[i]=2*atan2(-a+m*sqrt(a*a+b*b-c*c),c-b);
f=l1*l1+l2*l2+l4*l4-l3*l3-2*l1*l4*cos(zita1[i]-zita);
d=2*l1*l2*sin(zita1[i])-2*l2*l4*sin(zita);
e=2*l1*l2*cos(zita1[i])-2*l2*l4*cos(zita);
zita2[i]=2*atan2(-d+m*sqrt(d*d+e*e-f*f),f-e);
speed2[i]=-(speed1*l1*sin(zita1[i]-zita3[i]))/(l2*sin(zita2[i]-zita3[i]));
speed3[i]=(speed1*l1*sin(zita1[i]-zita2[i]))/(l3*sin(zita3[i]-zita2[i]));
acce2[i]=(-speed1*speed1*l1*cos(zita1[i]-zita3[i])
-speed2[i]*speed2[i]*l2*cos(zita2[i]-zita3[i])
+speed3[i]*speed3[i]*l3)/(l2*sin(zita2[i]-zita3[i]));
acce3[i]=(speed1*speed1*l1*cos(zita1[i]-zita2[i])
-speed3[i]*speed3[i]*l3*cos(zita3[i]-zita2[i])+speed2[i]*speed2[i]*l2)
/(l3*sin(zita3[i]-zita2[i]));
zita4[i]=zita3[i]-PI/2;
s4[i]=l3*cos(zita4[i])+m*sqrt(l3*l3-(l3*sin(zita4[i])-g)*(l3*sin(zita4[i])-g));
zita5[i]=atan2(g-l3*sin(zita4[i]),s4[i]-l3*cos(zita4[i]));
o4[i]=-(l3*speed3[i]*cos(zita4[i]))/(l3*cos(zita5[i]));
v4[i]=(l3*speed3[i]*sin(zita5[i]-zita4[i]))/(cos(zita5[i]));
acce4[i]=(l3*(acce3[i]*sin(zita5[i]-zita4[i])
-speed3[i]*speed3[i]*cos(zita5[i]-zita4[i]))-l3*o4[i]*o4[i])/(cos(zita5[i]));
if(fabs(s4[i]-1000)<1)
printf("zita=%f\n",zita1[i]*180/PI);
}
printf(" No. zita s v acce \n");
for(i=0;i<N;i++)
{zita1[i]=zita1[i]*180/PI;
printf("%3d %10.2f %10.2f %10.2f %10.2f \n",i, zita1[i],s4[i],v4[i],acce4[i]);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -