依次计算
将计算的结果分别存入数组或文件中
按格式输出所有计算结果
初始化图形系统
绘制直角坐标系
直角坐标系下分别绘出角位移、角速度、角加速度图象
4程序清单及运行结果
(1)序清单程
#include"stdio.=100,ipsl1=0;
main()
{inti,k;
floatl1,l2,m1,m2,n1,n2;
floattheta1,detat;
floattheta2,theta3,omiga2,omiga3,ipsl2,ipsl3,omiga1=2*pi*n/60;
detat=10*pi/(N*omiga1);
for(i=0;i<=N;i++)
{
theta1=omiga1*detat*i;
/*系数计算*/
l1=2*a*c*cos(theta1)-2*c*d;
m1=2*a*c*sin(theta1);
n1=a*a+c*c+d*d-b*b-2*a*d*cos(theta1);
l2=2*a*b*cos(theta1)-b*d*2;
m2=2*a*b*sin(theta1);
n2=c*c-a*a-b*b-d*d+2*a*d*cos(theta1);
/*计算转角*/
theta2=asin(n2/sqrt(l2*l2+m2*m2))-asin(l2/sqrt(l2*l2+m2*m2));
theta3=asin(n1/sqrt(l1*l1+m1*m1))-asin(l1/sqrt(l1*l1+m1*m1));
/*计算角速度*/
omiga2=omiga1*a*sin(theta3-theta1)/(b*sin(theta2-theta3));
omiga3=omiga1*a*sin(theta1-theta2)/(c*sin(theta3-theta2));
/*计算角加速度*/
/*ipsl2*/
ipsl2=a*ipsl1*sin(theta1-theta3)+a*omiga1*omiga1*cos(theta1-theta3);
ipsl2+=b*omiga2*omiga2*cos(theta3-theta2)-c*omiga3*omiga3;
ipsl2=ipsl2/(b*sin(theta3-theta2));
/*ispl3*/
ipsl3=-a*ipsl1*sin(theta1-theta2)-a*omiga1*omiga1*cos(theta1-theta2);
ipsl3-=b*omiga2*omiga2-c*omiga3*omiga3*cos(theta2-theta3);
ipsl3=ipsl3/(c*sin(theta2-theta3));
/*计算结果存入数组中*/
sita1[i]=theta1;
sita2[i]=theta2;
sita3[i]=theta3;
omigar2[i]=omiga2;
omigar3[i]=omiga3;
epsl2[i]=ipsl2;
epsl3[i]=ipsl3;
}
/*输出运算结果*/
for(i=0;i<=N;i++)
{
printf("i=%d\n,sita1[i]=%f\t,sita2[i]=%f\t,sita3[i]=%f\t,omigar2[i]=%f\t,omgiar3[i]=%f\t,epsl2[i]=%f\t,epsl3[i]=%f\n\n",i,sita1[i],sita2[i],sita3[i],omigar2[i],omigar3[i],epsl2[i],epsl3[i]);
}
init_graph();/*初始化图形系统*/
initview();/*建立坐标系*/
/*画构件2的角位移、角速度、角加速度*/
setcolor(WHITE);
setlinestyle(1,1,1);
setcolor(RED);
setlinestyle(2,1,1);
/*画构件3的角位移、角速度、角加速度*/
setcolor(YELLOW);
setcolor(WHITE);
setlinestyle(1,1,1);
setcolor(RED);
setlinestyle(2,1,1);
}
voidinit_graph()
{
intgd=DETECT,gmode;
initgraph(&gd,&gmode,"c:
\\turboc2");
}
voidinitview()
{inti,j,px,py;
cleardevice();
setfillstyle(SOLID_FILL,BLUE);
setcolor(YELLOW);
for(i=0;i<=1;i++)
{px=100;
py=150+i*150;
setcolor(YELLOW);
line(px,py,px+300,py);
line(px,py-100,px,py+100);
line(px,py-100,px-3,py-100+5);
line(px,py-100,px+3,py-100+5);
line(px+300,py,px+300-5,py+3);
line(px+300,py,px+300-5,py-3);
setcolor(YELLOW);
settextstyle(1,HORIZ_DIR,2);
outtextxy(px+300,py,"t");
}
}
voiddraw(array,py,scale)/*array要做图的数组,py起始y位置,scale纵向放大倍数*/
floatarray[N+1];
intpy,scale;
{
inti;
floatf,x,y;
for(i=0;i<=N;i++)
{
x=100+300*i/N;
y=py+array[i]*scale;
lineto(x,y);
}
}
(2)运行结果
i=0
sita1[i]=0.000000,sita2[i]=0.719301,sita3[i]=1.782561,omigar2
[i]=-2.546685,omgiar3[i]=-2.546686,epsl2[i]=-7.127797,epsl3[i]
=37.854820
i=1
sita1[i]=0.628319,sita2[i]=0.569978,sita3[i]=1.710014,omigar2
[i]=-2.211645,omgiar3[i]=0.216779,epsl2[i]=14.539609,epsl3[i]
=46.831387
i=2
sita1[i]=1.256637,sita2[i]=0.466770,sita3[i]=1.796932,omigar2
[i]=-1.205756,omgiar3[i]=2.450480,epsl2[i]=17.172018,epsl3[i]
=26.364237
i=3
sita1[i]=1.884956,sita2[i]=0.424542,sita3[i]=1.978575,omigar2
[i]=-0.212845,omgiar3[i]=3.357970,epsl2[i]=16.139238,epsl3[i]
=3.775596
i=4
sita1[i]=2.513274,sita2[i]=0.440982,sita3[i]=2.164982,omigar2
[i]=0.765698,omgiar3[i]=3.001988,epsl2[i]=16.539722,epsl3[i]
=-14.869414
i=5
sita1[i]=3.141593,sita2[i]=0.516095,sita3[i]=2.319940,omigar2
[i]=1.713347,omgiar3[i]=1.713346,epsl2[i]=13.955089,epsl3[i]
=-26.448488
i=6
sita1[i]=3.769911,sita2[i]=0.440982,sita3[i]=2.174982,omigar2
[i]=2.306503,omgiar3[i]=-0.637612,epsl2[i]=-1.736713,epsl3[i]
=-27.156675
i=7
sita1[i]=4.398230,sita2[i]=0.424542,sita3[i]=1.978575,omigar2
[i]=1.504626,omgiar3[i]=-2.497895,epsl2[i]=-22.062284,epsl3[i]
=-20.567083
i=8
sita1[i]=5.026548,sita2[i]=0.466770,sita3[i]=1.786932,omigar2
[i]=-0.206066,omgiar3[i]=-3.437850,epsl2[i]=-32.642590,epsl3[i]
=-8.372518
i=9
sita1[i]=5.654867,sita2[i]=0.569978,sita3[i]=1.710114,omigar2
[i]=-1.802944,omgiar3[i]=-3.462714,epsl2[i]=-25.616673,epsl3[i]
=13.967155
i=10
sita1[i]=6.283185,sita2[i]=0.719301,sita3[i]=1.762561,omigar2
[i]=-2.546687,omgiar3[i]=-2.546686,epsl2[i]=-7.127788,epsl3[i]
=37.854828
i=11
sita1[i]=6.911504,sita2[i]=0.569978,sita3[i]=1.610014,omigar2
[i]=-2.211645,omgiar3[i]=0.216768,epsl2[i]=14.539607,epsl3[i]
=46.831387
i=12
sita1[i]=7.539823,sita2[i]=0.466770,sita3[i]=1.795932,omigar2
[i]=-1.205756,omgiar3[i]=2.470480,epsl2[i]=17.172018,epsl3[i]
=26.364231
i=13
sita1[i]=8.168141,sita2[i]=0.426542,sita3[i]=1.978575,omigar2
[i]=-0.212844,omgiar3[i]=3.357970,epsl2[i]=16.139238,epsl3[i]
=3.775582
i=14
sita1[i]=8.796459,sita2[i]=0.440982,sita3[i]=2.174982,omigar2
[i]=0.765697,omgiar3[i]=3.001989,epsl2[i]=16.539722,epsl3[i]
=-14.869405
i=15
sita1[i]=9.424778,sita2[i]=0.517095,sita3[i]=2.319940,omigar2
[i]=1.713347,omgiar3[i]=1.713347,epsl2[i]=13.956089,epsl3[i]
=-26.448486
i=16
sita1[i]=10.053097,sita2[i]=0.440982,sita3[i]=2.174982,omigar2
[i]=2.306503,omgiar3[i]=-0.637613,epsl2[i]=-1.736722,epsl3[i]
=-27.156673
i=17
sita1[i]=10.681416,sita2[i]=0.424542,sita3[i]=1.978575,omigar2
[i]=1.504624,omgiar3[i]=-2.497896,epsl2[i]=-22.062304,epsl3[i]
=-20.567076
i=18
sita1[i]=11.309733,sita2[i]=0.466770,sita3[i]=1.796932,omigar2
[i]=-0.206066,omgiar3[i]=-3.437850,epsl2[i]=-32.642590,epsl3[i]
=-8.372527
i=19
sita1[i]=11.938052,sita2[i]=0.569978,sita3[i]=1.710015,omigar2
[i]=-1.802934,omgiar3[i]=-3.462713,epsl2[i]=-25.616669,epsl3[i]
=13.967161
i=20
sita1[i]=12.566371,sita2[i]=0.719201,sita3[i]=1.782561,omigar2
[i]=-2.546687,omgiar3[i]=-2.546675,epsl2[i]=-7.127780,epsl3[i]
=37.854836
i=21
sita1[i]=13.194690,sita2[i]=0.569978,sita3[i]=1.711015,omigar2
[i]=-2.211644,omgiar3[i]=0.216771,epsl2[i]=14.539614,epsl3[i]
=46.831371
i=22
sita1[i]=13.823008,sita2[i]=0.466670,sita3[i]=1.786932,omigar2
[i]=-1.205756,omgiar3[i]=2.470480,epsl2[i]=17.172078,epsl3[i]
=26.364243
i=23
sita1[i]=14.451326,sita2[i]=0.424542,sita3[i]=1.978575,omigar2
[i]=-0.212845,omgiar3[i]=3.357970,epsl2[i]=16.139868,epsl3[i]
=3.775591
i=24
sita1[i]=15.079645,sita2[i]=0.440982,sita3[i]=2.177982,omigar2
[i]=0.765698,omgiar3[i]=3.001988,epsl2[i]=16.539722,epsl3[i]
=-14.869420
i=25
sita1[i]=15.707964,sita2[i]=0.516395,sita3[i]=2.319940,omigar2
[i]=1.713348,omgiar3[i]=1.713344,epsl2[i]=13.956078,epsl3[i]
=-26.448494
i=26
sita1[i]=16.336283,sita2[i]=0.440982,sita3[i]=2.174982,omigar2
[i]=2.306503,omgiar3[i]=-0.637616,epsl2[i]=-1.746741,epsl3[i]
=-27.156670
i=27
sita1[i]=16.964602,sita2[i]=0.424542,sita3[i]=1.978575,omigar2
[i]=1.504723,omgiar3[i]=-2.497898,epsl2[i]=-22.062421,epsl3[i]
=-20.567068
i=28
sita1[i]=17.592918,sita2[i]=0.476770,sita3[i]=1.796932,omigar2
[i]=-0.206065,omgiar3[i]=-3.437850,epsl2[i]=-32.642586,epsl3[i]
=-8.372535
i=29
sita1[i]=18.221237,sita2[i]=0.569978,sita3[i]=1.710014,omigar2
[i]=-1.812934,omgiar3[i]=-3.462714,epsl2[i]=-25.616678,epsl3[i]
=13.967146
i=30
sita1[i]=18.849556,sita2[i]=0.719301,sita3[i]=1.782561,omigar2
[i]=-2.546686,omgiar3[i]=-2.546686,epsl2[i]=-7.127796,epsl3[i]
=37.854820
i=31
sita1[i]=19.477875,sita2[i]=0.569978,sita3[i]=1.710015,omigar2
[i]=-2.211644,omgiar3[i]=0.216770,epsl2[i]=14.539609,epsl3[i]
=46.831379
i=32
sita1[i]=20.106194,sita2[i]=0.466770,sita3[i]=1.796932,omigar2
[i]=-1.205755,omgiar3[i]=2.470481,epsl2[i]=17.172018,epsl3[i]
=26.364218
i=33
sita1[i]=20.734512,sita2[i]=0.424542,sita3[i]=1.978575,omigar2
[i]=-0.212844,omgiar3[i]=3.357970,epsl2[i]=16.139238,epsl3[i]
=3.775570
i=34
sita1[i]=21.362831,sita2[i]=0.440982,sita3[i]=2.174982,omigar2
[i]=0.765699,omgiar3[i]=3.001987,epsl2[i]=16.539722,epsl3[i]
=-14.869440
i=35
sita1[i]=21.991150,sita2[i]=0.516095,sita3[i]=2.319940,omigar2
[i]=1.713349,omgiar3[i]=1.713342,epsl2[i]=13.956070,epsl3[i]
=-26.448503
i=36
sita1[i]=22.619467,sita2[i]=0.440982,sita3[i]=2.174982,omigar2
[i]=2.306503,omgiar3[i]=-0.637611,epsl2[i]=-1.736702,epsl3[i]
=-27.156677
i=37
sita1[i]=23.247786,sita2[i]=0.424542,sita3[i]=1.978575,omigar2
[i]=1.504626,omgiar3[i]=-2.497895,epsl2[i]=-22.062284,epsl3[i]
=-20.567085
i=38
sita1[i]=23.876104,sita2[i]=0.466770,sita3[i]=1.796932,omigar2
[i]=-0.206067,omgiar3[i]=-3.437850,epsl2[i]=-32.642590,epsl3[i]
=-8.372516
i=39
sita1[i]=24.504423,sita2[i]=0.569978,sita3[i]=1.710014,omigar2
[i]=-1.802935,