平面机构运动分析c语言程序

平面机构运动分析c语言程序

ID:16521140

大小:44.50 KB

页数:7页

时间:2018-08-14

平面机构运动分析c语言程序_第1页
平面机构运动分析c语言程序_第2页
平面机构运动分析c语言程序_第3页
平面机构运动分析c语言程序_第4页
平面机构运动分析c语言程序_第5页
资源描述:

《平面机构运动分析c语言程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、/******************运动分析子程序*****************/#include#include#definePI3.1415926/**********单杆运动分析子函数barm**********/voidbarm(intp1,intp2,intm1,doublel1,doubleang,doublet[10],doublew[10],doublee[10],doublep[20][2],doublevp[20][2],doubleap[20][2])/*p1,p2为单杆的端点,m1为构件号,l1为单

2、杆长度,ang原动件起始位置角,t,w,e分别对应存放单杆的位置角,角速度,角加速度的二维数组,p,vp,ap分别存放点的位置坐标,速度,加速度*/{doublelx2,ly2,co,si;/*中间变量*/co=cos(t[m1]+ang);si=sin(t[m1]+ang);lx2=l1*co;ly2=l1*si;p[p2][0]=p[p1][0]+lx2;/*杆上点的位置*/p[p2][1]=p[p1][1]+ly2;vp[p2][0]=vp[p1][0]-ly2*w[m1];/*杆上点的速度*/vp[p2][1]=vp[p1][1]+lx2*w[m1];a

3、p[p2][0]=ap[p1][0]-ly2*e[m1]-lx2*w[m1]*w[m1];/*杆上点的加速度*/ap[p2][1]=ap[p1][1]+lx2*e[m1]-ly2*w[m1]*w[m1];}/**********rrrⅡ级组运动分析子函数**********/voidrrrm(intmodel,intp1,intp2,intp3,intm1,intm2,doublel1,doublel2,doublet[10],doublew[10],doublee[10],doublep[20][2],doublevp[20][2],doubleap[20][

4、2])/*model为装配模数1或-1,p1,p2均为已知点号,p3为中间转动副点号,m1,m2分别为构件号,l1,l2分别为构件长度,数组t,w,e分别存放构件角位置,角速度,角加速度,数组p,vp,ap分别存放构件位置坐标,速度,加速度*/{doubledelx,dely,det,ssq,d,gam,tem,q,ea,eb;/*定义中间变量*/doubledx31,dy31,dx32,dy32,dvx21,dvy21;delx=p[p2][0]-p[p1][0];dely=p[p2][1]-p[p1][1];ssq=delx*delx+dely*dely;d

5、=sqrt(ssq);if((d-l1-l2>0)

6、

7、((fabs(l1-l2)-d)>0))/*判断rrr杆组是否能够组装*/printf("RRRcan'tbeassembled.");else{det=atan2(dely,delx);tem=(d*d+l1*l1-l2*l2)/2.0/d/l1;gam=acos(tem);t[m1]=det+model*gam;/*求出构件一角位置*/p[p3][0]=p[p1][0]+l1*cos(t[m1]);/*求出中间转动副位置坐标*/p[p3][1]=p[p1][1]+l1*sin(t[m1]);dx3

8、1=p[p3][0]-p[p1][0];dy31=p[p3][1]-p[p1][1];dx32=p[p3][0]-p[p2][0];dy32=p[p3][1]-p[p2][1];t[m1]=atan2(dy31,dx31);t[m2]=atan2(dy32,dx32);/*求出构件二角位置*/q=dx31*dy32-dx32*dy31;dvx21=vp[p2][0]-vp[p1][0];dvy21=vp[p2][1]-vp[p1][1];w[m1]=(dvx21*dx32+dvy21*dy32)/q;/*以下两行分别求出构件一二角速度*/w[m2]=(dvx21

9、*dx31+dvy21*dy31)/q;vp[p3][0]=vp[p1][0]-l1*w[m1]*sin(t[m1]);vp[p3][1]=vp[p1][1]+l1*w[m1]*cos(t[m1]);ea=ap[p2][0]-ap[p1][0]+dx31*w[m1]*w[m1]-dx32*w[m2]*w[m2];eb=ap[p2][1]-ap[p1][1]+dy31*w[m1]*w[m1]-dy32*w[m2]*w[m2];e[m1]=(ea*dx32+eb*dy32)/q;/*以下两行分别求出构件一二角加速度*/e[m2]=(ea*dx31+eb*dy31)/

10、q;ap[p3][0]=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。