xr编程
发布时间: 2023-03-08 10:47:41
① 用matlab进行M文件操作与画图,绘图的,我要程序过程,都是编程题.
x=1;
y=2;
theta=pi/10;
r=0.5;
axisequal
t=linspace(0+theta,2*pi+theta,6);
xr=x+r*cos(t);
yr=y+r*sin(t);
xk=zeros(1,11);
yk=zeros(1,11);
xk(1)=xr(1);yk(1)=yr(1);[xk(2)yk(2)]=CrossPoint([xr(1)yr(1)],[xr(3)yr(3)],[xr(2)yr(2)],[xr(5)yr(5)]);
xk(3)=xr(2);yk(3)=yr(2);[xk(4)yk(4)]=CrossPoint([xr(2)yr(2)],[xr(4)yr(4)],[xr(1)yr(1)],[xr(3)yr(3)]);
xk(5)=xr(3);yk(5)=yr(3);[xk(6)yk(6)]=CrossPoint([xr(2)yr(2)],[xr(4)yr(4)],[xr(3)yr(3)],[xr(5)yr(5)]);
xk(7)=xr(4);yk(7)=yr(4);[xk(8)yk(8)]=CrossPoint([xr(3)yr(3)],[xr(5)yr(5)],[xr(1)yr(1)],[xr(4)yr(4)]);
xk(9)=xr(5);yk(9)=yr(5);[xk(10)yk(10)]=CrossPoint([xr(1)yr(1)],[xr(4)yr(4)],[xr(2)yr(2)],[xr(5)yr(5)]);
xk(11)=xk(1);yk(11)=yk(1);
plot(xk,yk);
%fill(xk,yk,'w')
axisequal
axisoff;
需要另写一个函数,计算交叉点
function[x,y]=CrossPoint(p1,p2,p3,p4)
x1=p1(1);y1=p1(2);
x2=p2(1);y2=p2(2);
x3=p3(1);y3=p3(2);
x4=p4(1);y4=p4(2);
ifx1==x2
x=x1;
k2=(y4-y3)/(x4-x3);
y=k2*(x-x3)+y3;
elseifx3==x4
x=x3;
k1=(y2-y1)/(x2-x1);
y=k1*(x-x1)+y1;
else
k1=(y2-y1)/(x2-x1);
k2=(y4-y3)/(x4-x3);
sol=[-k11;-k21][y1-k1*x1;y3-k2*x3];
x=sol(1);y=sol(2);
end
end

② 加工中心 螺纹编程
程序严重错误。螺距是14半径补偿号没有.

热点内容
