/以下为三角形构件参数的计算
double mtri=0,ptri=0; double s; 机械原理课程设计
//若给定参数为三个顶点坐标,则首先用下述公式计算各边长 /*for(i=0;i<=2;i++) { tri[i].len[0]=sqrt(pow((tri[i].fix[0][0]-tri[i].fix[1] [0]),2)+pow((tri[i].fix[0][1]-tri[i].fix[1][1]),2)); tri[i].len[1]=sqrt(pow((tri[i].fix[1][0]-tri[i].fix[2] [0]),2)+pow((tri[i].fix[1][1]-tri[i].fix[2][1]),2)); tri[i].len[2]=sqrt(pow((tri[i].fix[2][0]-tri[i].fix[0] [0]),2)+pow((tri[i].fix[2][1]-tri[i].fix[0][1]),2)); }*/ //因为 ADAMS 可以方便地量出三角形边长,所以可直接用下 式计算 for(i=0;i<=3;i++) { tri[i].den= density_a; //选择材料密度,机构优化时参数修改及材料选择使用 s=(tri[i].len[0]+tri[i].len[1]+tri[i].len[2])/2; //海伦公式求三角形体积 tri[i].mass=sqrt(s*(s-tri[i].len[0])*(s-tri[i].len [1])*(s-tri[i].len[2]))*tri[i].thk*tri[i].den; tri[i].px=(tri[i].fix[0]+tri[i].fix[1]+tri[i].fix [2])/3; //求三角形重心横坐标 } cout<<setprecision(4); cout<<"各三角形杆件顶点横坐标值为:"<<endl; //输出三角形坐标值 for(i=0;i<=3;i++) { for(j=0;j<=2;j++) cout<<tri[i].fix[j]<<'\t'; cout<<endl; } 机械原理课程设计
cout<<"各三角形杆件的质量为:"<<endl; //输出三角形质量 for(i=0;i<=3;i++) cout<<tri[i].mass<<'\t'; cout<<endl; cout<<"各三角形杆件的重心横坐标为:"<<endl; 若图片无法显示请联系QQ3249114,本论文免费,转发请注明源于www.751com.cn } ptri=k/mtri; cout<<" 上 述 所 有 三 角 形 构 件 总 质 量 及 质 心 位 置 为 : mtri="<<mtri<<","<<"ptri="<<ptri; cout<<endl; cout<<endl; cout<<endl; //以下为圆形构件参数的计算
double mcir=0,pcir=0; for(i=0;i<=5;i++) { cir[i].den= density_a; 机械原理课程设计
cir[i].mass=3.1416*cir[i].radii*cir[i].radii*cir [i].thk*cir[i].den; cir[i].px=cir[i].fix; } cout<<"各圆形构件的质量为:"<<endl; for(i=0;i<=5;i++) cout<<cir[i].mass<<'\t'; cout<<endl; cout<<"各圆形构件的重心横坐标为:"<<endl; for(i=0;i<=5;i++) cout<<cir[i].px<<'\t'; cout<<endl; double l=0; for(i=0;i<=5;i++) { mcir+=cir[i].mass; l+=cir[i].px*cir[i].mass; } pcir=l/mcir; cout<<" 上 述 所 有 圆 柱 形 构 件 总 质 量 及 质 心 位 置 为 : mcir="<<mcir<<","<<"pcir="<<pcir; cout<<endl; cout<<endl; cout<<endl; //以下为长方形构件参数和计算 double mrec=0,prec=0; for(i=0;i<=8;i++) { rec[i].den= density_a; rec[i].mass=rec[i].len*rec[i].wid*rec[i].thk*rec [i].den; rec[i].px=(rec[i].fix[0]+rec[i].fix[1])/2; } 机械原理课程设计
cout<<"各长方形构件的质量为:"<<endl; for(i=0;i<=8;i++) cout<<rec[i].mass<<'\t'; cout<<endl; cout<<"各长方形构件的重心坐标为:"<<endl; for(i=0;i<=8;i++) cout<<rec[i].px<<'\t'; cout<<endl; double n=0; for(i=0;i<=5;i++) { mrec+=rec[i].mass; n+=rec[i].px*rec[i].mass; } prec=l/mrec; cout<<" 上 述 所 有 圆 柱 形 构 件 总 质 量 及 质 心 位 置 为 : mrec="<<mrec<<","<<"prec="<<prec; cout<<endl; cout<<endl; cout<<endl; //以下为头、颈等部分质量及重心位置的计算
double mneck,mhead,maxis,mcam; //颈部,头部,主轴,带动颈部的凸轮 若图片无法显示请联系QQ3249114,本论文免费,转发请注明源于www.751com.cn //颈部的质量及重心位置计算,颈部为长方体,参数可直接读 出,初步设密度与四肢相同。 pneck=(0.8+1.6)/2; mhead=3.1416*(0.14*0.14+0.14*0.12+0.12*0.12)*0.68/3*d ensity; //头部看作圆台,其体积由公式 PI*(R^2*Rr*r^2)*h/3 求得。 phead=(1.6+2.2)/2; |