function idum = plota(xx,icode) global nb nv barras restric massa x0 global extforces totforces tensoes grav global cvec %% plota estado atual xmin=xx(1); xmax=xx(1); ymin=xx(2); ymax=xx(2); for i=1:nb xyloc(1,1) = xx(2*barras(i,1)-1); xyloc(1,2) = xx(2*barras(i,1)); xyloc(2,1) = xx(2*barras(i,2)-1); xyloc(2,2) = xx(2*barras(i,2)); plot(xyloc(:,1),xyloc(:,2)); hold on; xmin=min(xmin,min(xyloc(:,1))); xmax=max(xmax,max(xyloc(:,1))); ymin=min(ymin,min(xyloc(:,2))); ymax=max(ymax,max(xyloc(:,2))); xyloc(1,1) = x0(2*barras(i,1)-1); xyloc(1,2) = x0(2*barras(i,1)); xyloc(2,1) = x0(2*barras(i,2)-1); xyloc(2,2) = x0(2*barras(i,2)); xmin=min(xmin,min(xyloc(:,1))); xmax=max(xmax,max(xyloc(:,1))); ymin=min(ymin,min(xyloc(:,2))); ymax=max(ymax,max(xyloc(:,2))); end diam=max(xmax-xmin,ymax-ymin); dd = diam/20; axis([xmin-dd xmax+dd ymin-dd ymax+dd]); %axis([-3 7 -1 9]); %pause; if (icode == 1) for i=1:nb xyloc(1,1) = x0(2*barras(i,1)-1); xyloc(1,2) = x0(2*barras(i,1)); xyloc(2,1) = x0(2*barras(i,2)-1); xyloc(2,2) = x0(2*barras(i,2)); plot(xyloc(:,1),xyloc(:,2),'r'); hold on; end else if (icode == 2) m = max(abs(totforces)) for i=1:nv k=[totforces(2*i-1),totforces(2*i)]; k=cvec*k/m; k(1)=k(1)+xx(2*i-1); k(2)=k(2)+xx(2*i); plot( [xx(2*i-1) k(1)], [xx(2*i) k(2)], 'g') plot( [ k(1)], [ k(2)], 'go') end end end