%逐点比较法直线插补
%==========================================================================
F=0; %偏差函数
xs=0; %X起始坐标
ys=0; %Y起始坐标
xe=5; %X终点坐标
ye=6; %Y终点坐标
xo=xs; %插补前X坐标
yo=ys; %插补前Y坐标
xn=xs; %插补后X坐标
yn=ys; %插补后Y坐标
dx=1; %X脉冲当量
dy=1; %Y脉冲当量
TT=1; %插补周期
%==========================================================================
n=abs(xe-xs)+abs(ye-ys); %插补次数
plot([xs xe*dx],[ys ye*dy],'r-');hold on;grid on;
%==========================================================================
while(n>0)
if(F>=0)
xn=xo+dx;
yn=yo;
plot([xo xn],[yo yn],'b-');hold on;grid on;
xo=xn;yo=yn;
F=F-ye;
else
yn=yo+dy;
xn=xo;
plot([xo xn],[yo yn],'b-');hold on;grid on;
xo=xn;yo=yn;
F=F+xe;
end
pause(TT);
n=n-1;
end