image thumbnail
ANIMAPRO2.m
function[]=ANIMAPRO2(K,K0,L,XYZt,XYZc1,XYZc2,MTC1,MTC2,Dnt,Lt,TIPO,C,vista,Q)
cam=[linspace(180,0,110)];    
[Xf,Yf,Zf]=cylinder([0 1 2 3 4 2 2 2 2 2 2 2 2 2 2]);

if TIPO==1    
R=zeros(242,1); 
 for z=1:4  
    for i=1:3:110
      R(i)=-2500;
        peso={'2500 TONS'};
        kin=inv(K);
        r=kin*R;
        V=L*r;
        F=K0*V;
      TT1=abs(F(1:110));
      TT1=[TT1 TT1 TT1 TT1 TT1 TT1 TT1 TT1 TT1];
      TT2=abs(F(135:168));
      TT3=abs(F(169:202));
      TT2=[TT2 TT2 TT2 TT2 TT2];
       TT3=[TT3 TT3 TT3 TT3 TT3];
       TT4=abs(F(141));
       TT5=abs(F(175));
       TT6=abs(F(1));
       TT7=abs(F(110));
       R(i)=0;
      [Xr,Yr,Zr,XC1,YC1,ZC1,XC2,YC2,ZC2,XC12,YC12,ZC12,XC22,YC22,ZC22,XYZT,XYZC1,XYZC2,XA,YA,ZA,XC1i,YC1i,ZC1i,XC2i,YC2i,ZC2i,n,col]=DRAW_PRO(XYZt,XYZc1,XYZc2,MTC1,MTC2,Dnt,r,F);
     
        surf(XC1,YC1,ZC1,TT2);hold on
        surf(XC2,YC2,ZC2,TT2);hold on
         surf(XC12,YC12,ZC12,TT3);hold on
         surf(XC22,YC22,ZC22,TT3);hold on
         surf(Xr,Yr,Zr,TT1);hold on
         surf(Xf*40,Yf*40+XYZt(i,2),Zf*1000+XYZt(i,3));hold on
         text(0,XYZt(i,2),XYZt(i,3)+1200,peso,'color','g');hold on
         surf(XA,YA+40,ZA,ones(16,5)*TT6);hold on
         surf(XA,YA+Lt-40,ZA,ones(16,5)*TT7);hold on
         surf(XC1i,YC1i,ZC1i,ones(2,5)*TT4);hold on
          surf(XC2i,YC2i,ZC2i,ones(2,5)*TT5);hold on
          FF=abs(F(111:130));
           m=max(FF);
        for j=1:length(MTC1(:,1))
           
            f1=FF(j);
            P=f1/m*(n-1);
            P=(ceil(P)+1);q=30;
            line([XYZT(MTC1(j,1),1)+220,XYZC1(MTC1(j,2),1)+q],[XYZT(MTC1(j,1),2),XYZC1(MTC1(j,2),2)],[XYZT(MTC1(j,1),3)-10,XYZC1(MTC1(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
            line([XYZT(MTC1(j,1),1)-220,XYZC1(MTC1(j,2),1)-q],[XYZT(MTC1(j,1),2),XYZC1(MTC1(j,2),2)],[XYZT(MTC1(j,1),3)-10,XYZC1(MTC1(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
           
            f2=FF(j+10);
            P=f2/m*(n-1);
            P=(ceil(P)+1);
            line([XYZT(MTC2(j,1),1)+220,XYZC2(MTC2(j,2),1)+q],[XYZT(MTC2(j,1),2),XYZC2(MTC2(j,2),2)],[XYZT(MTC2(j,1),3)-10,XYZC2(MTC2(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
            line([XYZT(MTC2(j,1),1)-220,XYZC2(MTC2(j,2),1)-q],[XYZT(MTC2(j,1),2),XYZC2(MTC2(j,2),2)],[XYZT(MTC2(j,1),3)-10,XYZC2(MTC2(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
        end
     
      if z==1
          view(90,0)
           zoom(1.7)
       elseif(z==2)
            view(90,30)
            zoom(2.5)
       elseif(z==3)
            view(35,20)
            zoom(4.2)
       elseif(z==4)
            view(15,10)
            zoom(4.5)
     end
             camproj('perspective');
     axis vis3d off; 


     set(findobj(gcf,'type','patch'),'FaceLighting','phong','BackFaceLighting','lit','SpecularColorReflectance',0) 
        
            light('position',[1000 2*Lt/3 40000],'style','infinite')
            light('position',[1000 Lt 40000],'style','infinite')
            light('position',[1000 0 4000],'style','local')
            light('position',[100 Lt/2 700],'style','infinite')
   
      shading interp, lighting phong
      material metal
      daspect([.8 1 1])
      W=get(0,'screensize');
     set(gcf,'position',W,'menubar','none')
 
      set(gcf,'renderer','opengl','color','k');
     
      drawnow 

       hold off
     if i==1&z==1
         msgbox('PRESS INTRO, TO GO SIMULATIONS','INSTRUCTION','help')
        pause;
   end

   end
end


elseif TIPO==2
    
    C=ceil(C);
    R=zeros(242,1); 

  
       Q=ceil(Q);
      R(C)=-Q;
        peso=[num2str(Q) '  TONS'];
        kin=inv(K);
        r=kin*R;
        V=L*r;
        F=K0*V;
      TT1=abs(F(1:110));
      TT1=[TT1 TT1 TT1 TT1 TT1 TT1 TT1 TT1 TT1];
      TT2=abs(F(135:168));
      TT3=abs(F(169:202));
      TT2=[TT2 TT2 TT2 TT2 TT2];
       TT3=[TT3 TT3 TT3 TT3 TT3];
       TT4=abs(F(141));
       TT5=abs(F(175));
       TT6=abs(F(1));
       TT7=abs(F(110));
      % R(i)=0;
      [Xr,Yr,Zr,XC1,YC1,ZC1,XC2,YC2,ZC2,XC12,YC12,ZC12,XC22,YC22,ZC22,XYZT,XYZC1,XYZC2,XA,YA,ZA,XC1i,YC1i,ZC1i,XC2i,YC2i,ZC2i,n,col]=DRAW_PRO(XYZt,XYZc1,XYZc2,MTC1,MTC2,Dnt,r,F);
     
        surf(XC1,YC1,ZC1,TT2);hold on
        surf(XC2,YC2,ZC2,TT2);hold on
         surf(XC12,YC12,ZC12,TT3);hold on
         surf(XC22,YC22,ZC22,TT3);hold on
         surf(Xr,Yr,Zr,TT1);hold on
         surf(Xf*40,Yf*40+XYZt(C,2),Zf*1000+XYZt(C,3));hold on
         text(0,XYZt(C,2),XYZt(C,3)+1200,peso,'color','g');hold on
         surf(XA,YA+40,ZA,ones(16,5)*TT6);hold on
         surf(XA,YA+Lt-40,ZA,ones(16,5)*TT7);hold on
         surf(XC1i,YC1i,ZC1i,ones(2,5)*TT4);hold on
          surf(XC2i,YC2i,ZC2i,ones(2,5)*TT5);hold on
          FF=abs(F(111:130));
           m=max(FF);
           if m==0
               m=1;
           end
        for j=1:length(MTC1(:,1))
          
            f1=FF(j);
            P=f1/m*(n-1);
            P=(ceil(P)+1);q=30;
            line([XYZT(MTC1(j,1),1)+220,XYZC1(MTC1(j,2),1)+q],[XYZT(MTC1(j,1),2),XYZC1(MTC1(j,2),2)],[XYZT(MTC1(j,1),3)-10,XYZC1(MTC1(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
            line([XYZT(MTC1(j,1),1)-220,XYZC1(MTC1(j,2),1)-q],[XYZT(MTC1(j,1),2),XYZC1(MTC1(j,2),2)],[XYZT(MTC1(j,1),3)-10,XYZC1(MTC1(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
          
            f2=FF(j+10);
            P=f2/m*(n-1);
            P=(ceil(P)+1);
            line([XYZT(MTC2(j,1),1)+220,XYZC2(MTC2(j,2),1)+q],[XYZT(MTC2(j,1),2),XYZC2(MTC2(j,2),2)],[XYZT(MTC2(j,1),3)-10,XYZC2(MTC2(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
            line([XYZT(MTC2(j,1),1)-220,XYZC2(MTC2(j,2),1)-q],[XYZT(MTC2(j,1),2),XYZC2(MTC2(j,2),2)],[XYZT(MTC2(j,1),3)-10,XYZC2(MTC2(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
        end
     
      if vista==1
          view(90,0)
           zoom(1.7)
       elseif(vista==2)
            view(60,30)
            zoom(3)
       elseif(vista==3)
            view(35,20)
            zoom(4)
       elseif(vista==4)
            view(10,5)
            zoom(5.3)
       elseif(vista==5)
            view(90,90)
            zoom(1.7)
       
     end
              
             camproj('perspective');
     axis vis3d off; 


     set(findobj(gcf,'type','patch'),'FaceLighting','phong','BackFaceLighting','lit','SpecularColorReflectance',0) 
%         
             light('position',[1000 2*Lt/3 40000],'style','infinite')
             light('position',[1000 Lt 40000],'style','infinite')
            light('position',[1000 0 4000],'style','local')
            light('position',[100 Lt/2 700],'style','infinite')
   
      shading interp, lighting phong
      material metal
      daspect([.8 1 1])
 
 
      set(gcf,'renderer','opengl','color','k');
     
      drawnow 
       hold off
 
elseif TIPO==3
    R=zeros(242,1); 
  mov=avifile('puente7.avi','FPS',5,'quality',100,'compression','indeo5') 

    for i=1:3:110
      R(i)=-2500;
        peso={'1 TONS'};
        kin=inv(K);
        r=kin*R;
        V=L*r;
        F=K0*V;
      TT1=abs(F(1:110));
      TT1=[TT1 TT1 TT1 TT1 TT1 TT1 TT1 TT1 TT1];
      TT2=abs(F(135:168));
      TT3=abs(F(169:202));
      TT2=[TT2 TT2 TT2 TT2 TT2];
       TT3=[TT3 TT3 TT3 TT3 TT3];
       TT4=abs(F(141));
       TT5=abs(F(175));
       TT6=abs(F(1));
       TT7=abs(F(110));
       R(i)=0;
      [Xr,Yr,Zr,XC1,YC1,ZC1,XC2,YC2,ZC2,XC12,YC12,ZC12,XC22,YC22,ZC22,XYZT,XYZC1,XYZC2,XA,YA,ZA,XC1i,YC1i,ZC1i,XC2i,YC2i,ZC2i,n,col]=DRAW_PRO(XYZt,XYZc1,XYZc2,MTC1,MTC2,Dnt,r,F);
     
        surf(XC1,YC1,ZC1,TT2);hold on
        surf(XC2,YC2,ZC2,TT2);hold on
         surf(XC12,YC12,ZC12,TT3);hold on
         surf(XC22,YC22,ZC22,TT3);hold on
         surf(Xr,Yr,Zr,TT1);hold on
         surf(Xf*40,Yf*40+XYZt(i,2),Zf*1000+XYZt(i,3));hold on
         text(0,XYZt(i,2),XYZt(i,3)+1200,peso,'color','k');hold on
         surf(XA,YA+40,ZA,ones(16,5)*TT6);hold on
         surf(XA,YA+Lt-40,ZA,ones(16,5)*TT7);hold on
         surf(XC1i,YC1i,ZC1i,ones(2,5)*TT4);hold on
          surf(XC2i,YC2i,ZC2i,ones(2,5)*TT5);hold on
          FF=abs(F(111:130));
           m=max(FF);
        for j=1:length(MTC1(:,1))
            %cables torre1
            f1=FF(j);
            P=f1/m*(n-1);
            P=(ceil(P)+1);q=30;
            line([XYZT(MTC1(j,1),1)+220,XYZC1(MTC1(j,2),1)+q],[XYZT(MTC1(j,1),2),XYZC1(MTC1(j,2),2)],[XYZT(MTC1(j,1),3)-10,XYZC1(MTC1(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
            line([XYZT(MTC1(j,1),1)-220,XYZC1(MTC1(j,2),1)-q],[XYZT(MTC1(j,1),2),XYZC1(MTC1(j,2),2)],[XYZT(MTC1(j,1),3)-10,XYZC1(MTC1(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
            %cables torre2}
            f2=FF(j+10);
            P=f2/m*(n-1);
            P=(ceil(P)+1);
            line([XYZT(MTC2(j,1),1)+220,XYZC2(MTC2(j,2),1)+q],[XYZT(MTC2(j,1),2),XYZC2(MTC2(j,2),2)],[XYZT(MTC2(j,1),3)-10,XYZC2(MTC2(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
            line([XYZT(MTC2(j,1),1)-220,XYZC2(MTC2(j,2),1)-q],[XYZT(MTC2(j,1),2),XYZC2(MTC2(j,2),2)],[XYZT(MTC2(j,1),3)-10,XYZC2(MTC2(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
        end
     
      
            view(34,20)
            zoom(4)
      
%               view(35,20)
%              zoom(4.2)
             camproj('perspective');
     axis vis3d off; 


     set(findobj(gcf,'type','patch'),'FaceLighting','phong','BackFaceLighting','lit','SpecularColorReflectance',0) 
%         if (i==1||i==110)
            light('position',[1000 2*Lt/3 40000],'style','infinite')
            light('position',[1000 Lt 40000],'style','infinite')
            light('position',[1000 0 4000],'style','local')
            light('position',[100 Lt/2 700],'style','infinite')
%         end
      shading interp, lighting phong
      material metal
      daspect([.8 1 1])
     set(gcf,'position',[10 50 1000 700],'menubar','none')
 
      set(gcf,'renderer','opengl')%,'color','k');
     
      drawnow 

       gg=getframe;%(gcf);
       mov=addframe(mov,gg);
       hold off
    


   end
   mov=close(mov)
   
elseif TIPO==4
    
        R=30*Q;    
        kin=inv(K);
        r=kin*R;
        V=L*r;
        F=K0*V;
      TT1=abs(F(1:110));
      TT1=[TT1 TT1 TT1 TT1 TT1 TT1 TT1 TT1 TT1];
      TT2=abs(F(135:168));
      TT3=abs(F(169:202));
      TT2=[TT2 TT2 TT2 TT2 TT2];
       TT3=[TT3 TT3 TT3 TT3 TT3];
       TT4=abs(F(141));
       TT5=abs(F(175));
       TT6=abs(F(1));
       TT7=abs(F(110));
 
      [Xr,Yr,Zr,XC1,YC1,ZC1,XC2,YC2,ZC2,XC12,YC12,ZC12,XC22,YC22,ZC22,XYZT,XYZC1,XYZC2,XA,YA,ZA,XC1i,YC1i,ZC1i,XC2i,YC2i,ZC2i,n,col]=DRAW_PRO(XYZt,XYZc1,XYZc2,MTC1,MTC2,Dnt,r,F);
     
        surf(XC1,YC1,ZC1,TT2);hold on
        surf(XC2,YC2,ZC2,TT2);hold on
         surf(XC12,YC12,ZC12,TT3);hold on
         surf(XC22,YC22,ZC22,TT3);hold on
         surf(Xr,Yr,Zr,TT1);hold on
        
         surf(XA,YA+40,ZA,ones(16,5)*TT6);hold on
         surf(XA,YA+Lt-40,ZA,ones(16,5)*TT7);hold on
         surf(XC1i,YC1i,ZC1i,ones(2,5)*TT4);hold on
          surf(XC2i,YC2i,ZC2i,ones(2,5)*TT5);hold on
          FF=abs(F(111:130));
           m=max(FF);
        for j=1:length(MTC1(:,1))
            %cables torre1
            f1=FF(j);
            P=f1/m*(n-1);
            P=(ceil(P)+1);q=30;
            line([XYZT(MTC1(j,1),1)+220,XYZC1(MTC1(j,2),1)+q],[XYZT(MTC1(j,1),2),XYZC1(MTC1(j,2),2)],[XYZT(MTC1(j,1),3)-10,XYZC1(MTC1(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
            line([XYZT(MTC1(j,1),1)-220,XYZC1(MTC1(j,2),1)-q],[XYZT(MTC1(j,1),2),XYZC1(MTC1(j,2),2)],[XYZT(MTC1(j,1),3)-10,XYZC1(MTC1(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
            %cables torre2}
            f2=FF(j+10);
            P=f2/m*(n-1);
            P=(ceil(P)+1);
            line([XYZT(MTC2(j,1),1)+220,XYZC2(MTC2(j,2),1)+q],[XYZT(MTC2(j,1),2),XYZC2(MTC2(j,2),2)],[XYZT(MTC2(j,1),3)-10,XYZC2(MTC2(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
            line([XYZT(MTC2(j,1),1)-220,XYZC2(MTC2(j,2),1)-q],[XYZT(MTC2(j,1),2),XYZC2(MTC2(j,2),2)],[XYZT(MTC2(j,1),3)-10,XYZC2(MTC2(j,2),3)],'color',col(P,:),'LineWidth',1);hold on
        end
     
      
            view(35,20)
            zoom(4.2)
       
      camproj('perspective');
     axis vis3d off; 


     set(findobj(gcf,'type','patch'),'FaceLighting','phong','BackFaceLighting','lit','SpecularColorReflectance',0) 
        
            light('position',[1000 2*Lt/3 40000],'style','infinite')
            light('position',[1000 Lt 40000],'style','infinite')
            light('position',[1000 0 4000],'style','local')
            light('position',[100 Lt/2 700],'style','infinite')
   
      shading interp, lighting phong
      material dull
      daspect([.8 1 1])
     %set(gcf,'position',[0 0 1000 700],'menubar','none')
 
      set(gcf,'renderer','zbuffer','color','w')%,'color','k');
     
      drawnow 

  


end

Contact us at files@mathworks.com