无聊写matlab仿真直线插补算法
本帖最后由 CK345 于 2016-6-24 17:16 编辑X0 = input('请输入起点横坐标 X\n X0 = ');
Y0 = input('请输入起点纵坐标 Y\n Y0 = ');
Xe = input('请输入终点横坐标 X\n Xe = ');
Ye = input('请输入终点纵坐标 Y\n Ye = ');
h = input('输入步长\n h = ');
x=;
y=;
plot(x,y);
hold on;
Xe=Xe-X0;
Ye=Ye-Y0;
NXY= (abs(Xe)+abs(Ye))/h;
step=0;
Fm=0;
Xm=X0;
Ym=Y0;
if(Xe>0&Ye>=0)XOY=1;
end
if(Xe<=0&Ye>0)XOY=2;
end
if(Xe<0&Ye<=0)XOY=3;
end
if(Xe>=0&Ye<0)XOY=4;
end
while (step<NXY)
switch XOY
case 1
if(Fm>=0)
x1=;
y1=;
else
x1=;
y1=;
end
case 2
if(Fm<0)
x1=;
y1=;
else
x1=;
y1=;
end
case 3
if(Fm>=0)
x1=;
y1=;
else
x1=;
y1=;
end
case 4
if(Fm<0)
x1=;
y1=;
else
x1=;
y1=;
end
end
step=step+1;
plot(x1,y1,'r-'); %由此点和前一点坐标组成的2个向量画直线
Xm=x1(2); %保存此点坐标供下次作图和比较时使用
Ym=y1(2);
Fm=(Ym-Y0)*Xe-(Xm-X0)*Ye;
hold on;
text((x1(1)+x1(2))/2,(y1(1)+y1(2))/2,)
pause(0.5); %延时程序形参为每走一步所用时间
end
xlabel('X')
ylabel('Y')
title(['四象限直线插补'])
hold off;
不错不错,挺好的
页:
[1]