Facebook
From gg, 1 Month ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 142
  1. clc; clear;
  2. X1 = input('X1= '); Y1 = input('Y1= ');
  3. X2 = input('X2= '); Y2 = input('Y2= ');
  4.  
  5. dx = X2 - X1;
  6. dy = Y2 - Y1;
  7.  
  8. if abs(dx) > abs(dy)      
  9.                        great_axis = dx;
  10.                        less_axis = dy;
  11.                        great = X1;
  12.                        less = Y1;
  13. else
  14.  great_axis = dy;
  15.  less_axis = dx;
  16.  great = Y1;
  17.  less = X1;
  18. end
  19.                              
  20. m = less_axis / great_axis;
  21. er = m - 0.5 * sign(m);
  22. hold on;
  23. axis ([-100 100 -100 100]);
  24. plot(-100:100,0,'b.');    
  25. plot(0,-100:100,'r.');      
  26.  for i = 0 : abs(great_axis)
  27.   if abs(dx) > abs(dy)
  28.     plot (great, less,'g.');
  29.        x(i+1)=great;  y(i+1)=less;    
  30.   else
  31.     plot (less, great,'g.');
  32.      x(i+1)=less;  y(i+1)=great;        
  33.   end
  34.   e(i+1)=er ;                                  
  35.   if sign(er) == sign(m)
  36.     less = less + sign(less_axis);
  37.     er = er - 1 * sign(m);
  38.   end
  39. great = great + sign(great_axis);
  40. er = er + m;
  41. End
  42. disp(' error    x        y ')
  43. z=[e'  x'  y'];    
  44. disp (z)              
  45. hold off
  46.