凸轮结构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 語言 編程
?天天文庫所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
總結
以上是生活随笔為你收集整理的凸轮结构c语言编程,凸轮设计_c语言编程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux内核源码合并升级,Linux内
- 下一篇: 浅谈国内安防监控视频平台的未来发展和机遇