% initialize communication ipcomm_client_open_connection_noping('127.0.0.1', 8003, 1000000, 0) MAXOBJ=10; MAXMPT=200; monpkt=struct('nobj', 0, 't', 0.0, 'x', zeros(MAXOBJ, 1), 'y', zeros(MAXOBJ, 1), 'xdot', zeros(MAXOBJ, 1), 'ydot', zeros(MAXOBJ, 1), 'mpt', 0, 'xm', zeros(MAXMPT, 1), 'ym', zeros(MAXMPT, 1)); msg_id=struct('msg', 0); load c/result.dat % initialize object visualization hfig=visualize_init2(); %hfig=visualize_init(); % prepare sobs sobs=struct('hfig', 0, 'h', 0, 'x', 0, 'y', 0, 'color', [0 0 0], 'radius', 0); sobs(1:MAXMPT)=struct('hfig', 0, 'h', 0, 'x', 0, 'y', 0, 'color', [0 0 0], 'radius', 0); for k=1:MAXMPT, sobs(k).hfig=hfig; sobs(k).color=[0 0 1]; sobs(k).radius=0.01; end % prepare sobj sobj=struct('hfig', 0, 'h', 0, 'x', 0, 'y', 0, 'color', [0 0 0], 'radius', 0); sobj(1:MAXOBJ)=struct('hfig', 0, 'h', 0, 'x', 0, 'y', 0, 'color', [0 0 0], 'radius', 0); ha=zeros(3, MAXOBJ); for k=1:MAXOBJ, sobj(k).hfig=hfig; sobj(k).color=[1 0 0]; sobj(k).radius=0.1; end ifirst=1; while 1 ipcomm_client_write_server_message_lock(0, msg_id); [monpkt, iret]=ipcomm_client_read(0, monpkt); if iret<0 return; end % prepare sobs for k=1:monpkt.mpt, sobs(k).x=monpkt.xm(k); sobs(k).y=monpkt.ym(k); sobs(k)=visualize_add_object(sobs(k)); end if ifirst ifirst=0; else for k=1:nobj_bak, visualize_remove_object(sobj(k)); remove_arrow(ha(:,k)); end end %if imeas>1 && tm(imeas)>tm(imeas-1) nobj=monpkt.nobj; for k=1:nobj, % prepare sobj sobj(k).x=monpkt.x(k); sobj(k).y=monpkt.y(k); sobj(k)=visualize_add_object(sobj(k)); x1=monpkt.x(k); y1=monpkt.y(k); x2=x1+monpkt.xdot(k); y2=y1+monpkt.ydot(k); ha(:,k)=draw_arrow(x1, y1, x2, y2); %[xttt, yttt]=circle(sobj(k).x, sobj(k).y, SIGMA); %line(xttt, yttt); end %end title(['time = ' num2str(monpkt.t)]); shg; pause(0.1); nobj_bak=nobj; end visualize_exit(); % stop visualization % close connection ipcomm_client_close_connection(0);