function [xi,yi,alpha,beta,gamma]=LocalGridCoordinates(Srid1,Rface_tot1_u,j,Scalc)

alpha=zeros(1,size(Rface_tot1_u,1));
beta=zeros(1,size(Rface_tot1_u,1));
gamma=zeros(1,size(Rface_tot1_u,1));

xi=zeros(size(Srid1.vertices,1),size(Rface_tot1_u,1));
yi=zeros(size(Srid1.vertices,1),size(Rface_tot1_u,1));

punto_ex_loc=zeros(size(Srid1.vertices,1),3);

    for i=1:size(Rface_tot1_u,1)
      
        %coordinate dei 3 nodi proiettati di ogni triangolo
        coordor=Srid1.vertices(Srid1.faces(Rface_tot1_u(i),:),:,1);
        
        coordorn(:,:,1)=[coordor(1,:);coordor(2,:);coordor(3,:)];
        coordorn(:,:,2)=[coordor(2,:);coordor(3,:);coordor(1,:)];
        coordorn(:,:,3)=[coordor(3,:);coordor(1,:);coordor(2,:)];
        
        %calcolo le coordinate locali e le matrici di rotazione e traslazione per
        %ogni triangolo
        [rota,coord1,coord2,alpha(1,i),beta(1,i),gamma(1,i),O]=local_sys_triangular(coordorn(:,:,j));
        
        %immagazzino le matrici di rotazione, di traslazione rispetto l'origine, le
        %coordinate locali per cui l'origine è su un nodo e quelle congruenti al
        %paper di kalker 1972.
        
%         matrice_rota((3*i)+1:(3*i)+3,(3*j)+1:(3*j)+3)=rota;
%         O_tot(i,(3*j)+1:(3*j)+3)=O;
%         coord1_tot((3*i)+1:(3*i)+3,(3*j)+1:(3*j)+3)=coord1;
%         coordor_tot((3*i)+1:(3*i)+3,(3*j)+1:(3*j)+3)=coordor;
%         coord_loc(i,(3*j)+1:(3*j)+3)=[alpha,beta,gamma];
%        
%         
%         % Loop sui nodi vettorizzato

%         punto_ex_loc(1:size(Srid1.vertices,1),1:3)=(rota*(Srid1.vertices(:,:)-O)')'-[coord1(2,1) 0 0];
          punto_ex_loc=(rota*(bsxfun(@minus,Scalc.vertices(:,:,1),O))')'; %-[coord1(2,1) 0 0];
          punto_ex_loc=bsxfun(@minus,punto_ex_loc,[ coord1(3,1) 0 0]);
%         punto_ex_loc=bsxfun(@minus,punto_ex_loc,coord1(3,:));
%         punto_ex_loc=bsxfun(@minus,punto_ex_loc,O);
        
%         for count=1:size(Srid1.vertices,1)
%             punto_ex_loc(count,1:3)=(rota*(Srid1.vertices(count,1:3)-O)')'-[coord1(2,1) 0 0]; 
%         end
        
%         matrice_nodi_loc(:,:)=[punto_ex_loc];
        xi(:,i)=punto_ex_loc(:,1);
        yi(:,i)=punto_ex_loc(:,2);
%          if i==50 , keyboard, end
    end
    
end % Main function end

