凸轮设计c语言程序,凸轮理论轮廓曲线设计c语言程序.doc
/************習題4-1凸輪輪廓曲線繪制程序**********/
#include
#include
#define PI 3.1415926
void main()
{
double e=10.0,ro=40.0,rt=10.0,h=20.0,phi1=150.0,phis=30.0,phi_1=120.0,phi_s=60;
/*各字母含義:e偏距,基圓半徑ro,滾子半徑rt,行程h,推程運動角phi1,遠休止角phis,回程運動角phi_1,近休止角phi_s*/
double s,alp[73],x[73],y[73],x1,y1,xr[73],yr[73];
/*分別代表從動件位移,壓力角,理論輪廓曲線點的位置x,y,x,y對運動角的微分,實際輪廓曲線的位置x,y*/
double ic,ic1,ic2,ic3,ic4,so,s1,cop,sip,phi,gam,bel,del=5.0,q,t; /*定義變量*/
int i;
gam=phi1+phis;
bel=phi1+phis+phi_1;
ic=(int)(360.0/del);
ic1=(int)(phi1/del);
ic2=(int)(gam/del);
ic3=(int)((phi1+phis+phi_1/2.0)/del);
ic4=(int)(bel/del);
so=sqrt(ro*ro-e*e);
printf("\n No THETA Theoretical contour curve. Actual contour curve of cam. pressure angle \n");
/*在屏幕上輸出文件頭*/
printf(" deg x/mm y/mm X/mm Y/mm rad\n");
for(i=0;i<=ic;i++) /*每隔五度建立循環*/
{
phi=i*del*PI/180.0; /*將角度化為幅度*/
cop=cos(phi);
sip=sin(phi);
if(i<=ic1) /*推程運動判斷*/
{
s=h/2.0*(1.0-cos(180.0*phi/phi1));
s1=h*PI*sin(180.0*phi/phi1)/2.0/phi1;
x1=-(s+so)*sip+s1*cop-e*cop;
y1=(s+so)*cop+s1*sip-e*sip;
}
else if(i<=ic2) /*遠休止角*/
{
s=h;
s1=0;
x1=-(s+so)*sip-e*cop;
y1=(so+s)*cop-e*sip;
}
else if(i<=ic3) /*回程等加速運動判斷*/
{
s=h-2.0*h*(phi-gam)*(phi-gam)/phi_1/phi_1;
s1=-4.0*h*(phi-gam)/phi_1/phi_1;
x1=s1*cop-(s+so)*sip-e*cop;
y1=s1*sip+(so+s)*cop-e*sip;
}
else if(i<=ic4) /*回程等減速運動判斷*/
{
s=2.0*h*(bel-phi)*(bel-phi)/phi_1/phi_1;
s1=-4.0*h*(bel-phi)/phi_1/phi_1;
x1=s1*cop-(so+s)*si
總結
以上是生活随笔為你收集整理的凸轮设计c语言程序,凸轮理论轮廓曲线设计c语言程序.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [按键精灵]----卡尔智能改键(测试版
- 下一篇: MATLAB生成负指数分布