- UID
- 422204
- 好友
注册时间2015-4-14
威望值 点
最后登录1970-1-1
激情值 点
积分2
认证分 分
齿轮币 枚
回帖0
|
本帖子中包含更多资源。
您需要 登录 才可以下载或查看,没有账号?注册
x
我已经求得蜗轮齿面的瞬时接触线方程了,可为什么在matlab中得到的结果差强人意呢,不管怎么变参数,y轴永远都是【-1,1】,程序如下:
clc;
clear;
for e=200*pi/180:8*pi/180:240*pi/180
for f=0:0.1:2*pi
disp a
k=33*pi/180;
n=55;
m=23*pi/180;
i=5/29;
p=23.75;
a=180;
q=280;
r=36.5;
g=atan((q-(q-r-n*sin(m))*cos(f)-p*cot(k))/(n*cos(m)*cos(f)+q*sin(f)*cot(k)+p*sin(f)));
x=-n*sin(g)*cos(f)-(q-r-n*sin(m))*cos(f);
y=n*sin(g)*sin(f)+(q-r-n*sin(m))*sin(f);
z=n*cos(g)-n*cos(m);
syms h x1 y1 z1 n1 n2 n3 w1 w2 w3 ;
eq1=x.*cos(h)+y.*sin(h).*cos(k)-z.*sin(h).*sin(k)+q.*cos(h)-x1;
eq2=-x.*sin(h)+y.*cos(h).*cos(k)-z.*cos(h).*sin(k)-q.*sin(h)-y1;
eq3=y.*sin(k)+z.*cos(k)-p.*h-z1;
eq4=sin(g).*(cos(f).*cos(h)-sin(f).*sin(h).*cos(k))+cos(g).*sin(h).*sin(k)-n1;
eq5=-sin(g).*(cos(f).*sin(h)+sin(f).*cos(h).*cos(k))+cos(g).*cos(h).*sin(k)-n2;
eq6=-sin(g).*sin(f).*sin(k)-cos(g).*cos(k)-n3;
eq7=i.*(x1.*n3-z1.*n1)-w1;
eq8=-i.*(z1.*n2-y1.*n3)-w2;
eq9=-(i.*a.*n3-y1.*n1+x1.*n2)-w3;
eq10=w1.*cos(e)-w2.*sin(e)-w3;
[h,x1,y1,z1,n1,n2,n3,w1,w2,w3]=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9,eq10,'h','x1','y1','z1','n1','n2','n3','w1','w2','w3');
x2=x1.*cos(e).*cos(i.*e)-y1.*sin(e).*cos(i.*e)-z1.*sin(i.*e)+a.*cos(i.*e);
y2=-x1.*cos(e).*sin(i.*e)+y1.*sin(e).*sin(i.*e)-z1.*cos(i.*e)-a.*sin(i.*e);
z2=x1.*sin(e)+y1.*cos(e);
plot(x2,z2,'.','MarkerSize',5);
xlim([132,152]);
xlabel('蜗轮直径方向')
ylabel('蜗轮齿宽方向')
hold on
end
end
|
|