function [punti]=stato_arte_ricostruzione_vero(raggi,epsilon,dim_stanza_x,dim_stanza_y)
%Raggi contiene tutte le rette
%epsilon è la distanza per cui un marker viene considerato punto vero
%dim stanza è la dimensione della stanza in [mm]


punti=[-1 -1]; %inizializzo punti

%Ricostruisco i punti con 4 mediante minimi quadrati e quattro raggi        


for i=1:(length(raggi)-4)
    for j=i+1:(length(raggi)-3)
        for k=j+1:length((raggi)-2)
          for t=k+1:length((raggi)-1)
            R=[raggi(i,1:3) ; raggi(j,1:3) ; raggi(k,1:3) ; raggi(t,1:3)];
            [x y]=min_quad_gen(R); %calcolo il punto di minima distanza tra le quattro rette
           if (x>0 && y>0 && x<dim_stanza_x && y<dim_stanza_y) %controllo che il punto sia valido ovvero interno alla stanza
               d1=distanza_punto_retta([x y], raggi(i,1:3));  %calcolo distanze punto retta
               d2=distanza_punto_retta([x y], raggi(j,1:3));
               d3=distanza_punto_retta([x y], raggi(k,1:3));
               d4=distanza_punto_retta([x y], raggi(t,1:3));
               d=max([d1 d2 d3 d4]); %considero distanza maggiore
               if d<epsilon %Il punto risulta valido e lo salvo
                   punti=[punti ; [x y]]; 
               end       
           end
        end
  end
end
end
