function [B] = DrawDashLine(A,x1,y1,x2,y2,dash1,dash0) B=A; [My,Nx]=size(B); % find out which dimension is the domain dx=(x2-x1); dy=(y2-y1); ihorizvert=1; % dy > dx if abs(dx)>abs(dy) ihorizvert=0; end; if ihorizvert==0 %horizontal domain toggle=0; a=dy/dx;b=y1-a*x1; for x=x1:x2 y=a*x+b; if x>0 if y>0 if x<=Nx if y<=My if toggle==0 B(y,x)=dash0; toggle=1; else B(y,x)=dash1; toggle=0; end; end; % if y<=My end; % if x<=Nx end; % if y>0 end; % if x>0 end; % for x else % vertical domain toggle=0; a=dx/dy;b=x1-a*y1; for y=y1:y2 x=a*y+b; if x>0 if y>0 if x<=Nx if y<=My if toggle==0 B(y,x)=dash0; toggle=1; else B(y,x)=dash1; toggle=0; end; end; % if y<=My end; % if x<=Nx end; % if y>0 end; % if x>0 end; % for x end; % end of vertical domain end