CK345 发表于 2016-6-24 17:12:54

无聊写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;

霸气侧漏 发表于 2016-6-24 21:30:30

不错不错,挺好的
页: [1]
查看完整版本: 无聊写matlab仿真直线插补算法