机械原理课程设计报告机器马 第8页
/以下为三角形构件参数的计算
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;
若图片无法显示请联系QQ752018766,本论文免费,转发请注明源于
www.youerw.com }
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;
//颈部,头部,主轴,带动颈部的凸轮
若图片无法显示请联系QQ752018766,本论文免费,转发请注明源于
www.youerw.com //颈部的质量及重心位置计算,颈部为长方体,参数可直接读
出,初步设密度与四肢相同。
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;