600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 凸轮结构c语言编程 凸轮设计_c语言编程

凸轮结构c语言编程 凸轮设计_c语言编程

时间:2022-09-15 18:07:45

相关推荐

凸轮结构c语言编程 凸轮设计_c语言编程

凸轮设计_c语言编程

(4页)

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

19.90 积分

一、编程:(注:程序中各个符号的含义)PI:常数 s0:理论廓线的基圆半径 s:各个角度的推杆位移 i:转角e:偏心距 rr:滚子半径 r0:基圆半径 h:行程 ya0:许用压力角 yah:弧度制压力角 yaj:角度制压力角 p:曲率半径st:推程段推杆位移 sy:远休段推杆位移 sh:回程段推杆位移 sj:近休段推杆位移dx_di:理论坐标 x 对转角 i 的一次导 dy_di:理论坐标 y 对转角 i 的一次导 d2x:理论坐标 x 对转角 i 的二次导 d2y:理论坐标 y 对转角 i 的二次导ds_di:推杆位移 s 对角度 i 的一次导 d2s:推杆位移 s 对转角 i 的二次导 xli:理论坐标 x yli:理论坐标 y x:实际坐标想 y:实际坐标 ysink:凸轮廓线法向倾斜角 θ 正弦 cosk:凸轮廓线法向倾斜角 θ 余弦子函数 1:求 x、y 的实际坐标子函数 2:求转角 i 处的曲率半径子函数 3:求转角 i 处的压力角 #include “stdio.h“ #include “math.h“ #define PI 3.1415926 void zuobiao (float s0, float s,float ds_di,int i, int e,int rr); ;子函数 1 float qulv (float s0, float s,float ds_di,float d2s,int i, int e,int rr,int r0); ;子函数 2 float yalijiao (float s,float ds_di,int e,int r0); ;子函数 3 main() { int e,rr,r0,h,i,ya0=30; float s0,ds_di,d2s,st,sy,sh,sj,yah,yaj,p; scanf(“%d%d%d%d“, printf(“e=%d,rr=%d,r0=%d,h=%d\n“,e,rr,r0,h); s0=sqrt(r0*r0-e*e); for(i=0;i=rr) ;if~else校核推程段曲率半径zuobiao(s0,st,ds_di,i,e,rr); ;调用子函数 1,求 xy 坐标else printf(“chongxinshuru r0,rr\n“);} else printf(“chongxinshuru e,r0\n“);printf(“%f,“,p); ;输出曲率半径printf(“%f\n“,yaj); ;输出压力角} } else if(i=rr) ;if~else校核曲率半径zuobiao(s0,sy,ds_di,i,e,rr); ;调用子函数 1,求 xy 坐标else printf(“chongxinshuru r0,rr\n“);printf(“%f,“,p); ;输出曲率半径printf(“%f\n“,yaj); ;输出压力角} } else if(irr) ;if~else校核曲率半径zuobiao(s0,sh,ds_di,i,e,rr); ;调用子函数 1,求 xy 坐标elseprintf(“chongxinshuru r0,rr\n“); printf(“%f,“,p); ;输出曲率半径printf(“%f\n“,yaj); ;输出压力角}} else ;近休{ for(i=211;irr) ;if~else校核曲率半径zuobiao(s0,sj,ds_di,i,e,rr); ;调用子函数 1,求 xy 坐标elseprintf(“chongxinshuru r0,rr\n“);printf(“%f,“,p); ;输出曲率半径printf(“%f\n“,yaj); ;输出压力角 }} } } void zuobiao (float s0, float s,float ds_di,int i, int e,int rr){ float dx_di, dy_di,xli,yli,x,y,sink,cosk; xli=(s0+s)*sin(i*PI/180)+e*cos(i*PI/180); ;计算理论 x 坐标yli=(s0+s)*cos(i*PI/180)-e*sin(i*PI/180); ;计算理论 y 坐标dx_di=(ds_di-e)*sin(i*PI/180)+(s0+s)*cos(i*PI/180);dy_di=(ds_di-e)*cos(i*PI/180)-(s0+s)*sin(i*PI/180); sink=dx_di/sqrt(dx_di*dx_di+dy_di*dy_di); cosk=-dy_di/sqrt(dx_di*dx_di+dy_di*dy_di); x=xli-rr*cosk; ;计算实际 x 坐标y=yli-rr*sink; ;计算实际 y 坐标printf(“%d:%f,%f,“,i,x,y); ;输出角度、xy 实际坐标return;} float qulv (float s0, float s,float ds_di,float d2s,int i, int e,int rr,int r0){ float dx_di,d2x,dy_di,d2y,p,q;dx_di=(ds_di-e)*sin(i*PI/180)+(s0+s)*cos(i*PI/180);dy_di=(ds_di-e)*cos(i*PI/180)-(s0+s)*sin(i*PI/180); d2x=(d2s-s0-s)*sin(i*PI/180)+(2*ds_di-e)*cos(i*PI/180);d2y=(d2s-s0-s)*cos(i*PI/180)-(2*ds_di-e)*sin(i*PI/180); q=dx_di*dx_di+dy_di*dy_di;p=sqrt(q*q*q)/fabs(dx_di*d2y-dy_di*d2x); ;计算曲率半径return p;}float yalijiao (float s,float ds_di,int e,int r0){ float yaj,yah;yah=fabs(atan(((ds_di)-e)/(sqrt(r0*r0-e*e)+s))); ;计算弧度制压力角yaj=180*yah/PI; ;计算角度制压力角return yaj;}二、运行数据结果:e=20,rr=10,r0=50,h=50(注:每组数据依次是转角 i、坐标 x、坐标 y、曲率半径 p、压力角 yaj) 关键词: 凸轮 设计 _c 语言 编程

天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。