function pinta_trayectorias(res,tx,rx,xmax,ymax,TRAYECTORIAS,INTERSECCIONES) %global TRAYECTORIAS INTERSECCIONES; [num_tray ~]=size(TRAYECTORIAS); figure(3); hold on; res=0.01*res; for num=1:num_tray num_int=TRAYECTORIAS(num,1); int=TRAYECTORIAS(num,2:num_int+1); %Desde el tranmisor x1=tx(1); y1=tx(2); x2=INTERSECCIONES(int(1),1); y2=INTERSECCIONES(int(1),2); if(x1~=x2) m=(y2-y1)/(x2-x1); xm=(min(x1,x2):res:max(x1,x2)); rayo=m*(xm-x1)+y1; plot(xm,rayo,'b','LineWidth',1); end if(x1==x2) ym=(min(y1,y2):res:max(y1,y2)); plot(x1*ones(1,length(ym)),ym,'b','LineWidth',1) end %Reflexiones intermedias if(length(int)>1) for i=2:length(int) x1=INTERSECCIONES(int(i-1),1); y1=INTERSECCIONES(int(i-1),2); x2=INTERSECCIONES(int(i),1); y2=INTERSECCIONES(int(i),2); if(x1~=x2) m=(y2-y1)/(x2-x1); xm=(min(x1,x2):res:max(x1,x2)); rayo=m*(xm-x1)+y1; plot(xm,rayo,'b','LineWidth',1); end if(x1==x2) ym=(min(y1,y2):res:max(y1,y2)); plot(x1*ones(1,length(ym)),ym,'b','LineWidth',1) end end end %Hasta el receptor x1=INTERSECCIONES(int(length(int)),1); y1=INTERSECCIONES(int(length(int)),2); x2=rx(1); y2=rx(2); if(x1~=x2) m=(y2-y1)/(x2-x1); xm=(min(x1,x2):res:max(x1,x2)); rayo=m*(xm-x1)+y1; plot(xm,rayo,'b','LineWidth',1); end if(x1==x2) ym=(min(y1,y2):res:max(y1,y2)); plot(x1*ones(1,length(ym)),ym,'b','LineWidth',1) end end %Pinto ahora el LOS x1=tx(1); y1=tx(2); x2=rx(1); y2=rx(2); if(x1~=x2) m=(y2-y1)/(x2-x1); xm=(min(x1,x2):res:max(x1,x2)); rayo=m*(xm-x1)+y1; plot(xm,rayo,'r','LineWidth',1); end if(x1==x2) ym=(min(y1,y2):res:max(y1,y2)); plot(x1*ones(1,length(ym)),ym,'r','LineWidth',1); end plot(tx(1),tx(2),'k*','MarkerSize',10); plot(rx(1),rx(2),'k*','MarkerSize',10); title('Rayo directo y rayos reflejados'); axis([0 xmax 0 ymax]) pinta_facetas(res,1,xmax,ymax); end