clear;
radio=18
delta=2;
IM=zeros(radio*4,radio*4);
[nf nc]=size(IM);
for f=1:nf
    for c=1:nc
        if (sqrt((nf/2-f)^2+(nc/2-c)^2)<radio) & (sqrt((nf/2-f)^2+(nc/2-c)^2)>radio-delta)
           IM(f,c)=1;
        end
    end
end

radio=10;delta=2;
for f=1:nf,for c=1:nc
        if (sqrt((nf/2+15-f)^2+(nc/2+5-c)^2)<radio) & (sqrt((nf/2+15-f)^2+(nc/2+5-c)^2)>radio-delta)
           IM(f,c)=1;
        end
    end;
end




figure(1)
subplot(2,2,1)
imshow(IM,[]);

%Hasta acá sólo genero una imagen con una circunferencia


H=zeros(round(sqrt(nf^2+nc^2)),90);%Distancia,Angulo
for f=1:nf
    for c=1:nc  %recorro la imagen a
        if IM(f,c)==1    %si el punto a(f,c) es 1 comienza el otro for
           IM(f,c)=0;    %elimino el punto para que no se considere después
           for i=f:nf
               for j=1:nc   %recorro nuevamente la imagen a pero con el punto a(f,c)=0
                  if IM(i,j)==1 %si me ecuentro con un punto realizo lo siguiente
                      %Punto Medio
                      y=(f/2+i/2);  %Coordenana en Y o filas
                      x=(c/2+j/2);  %Coordenana en X o columnas
                      dis=round(sqrt(y^2+x^2)); %calculo la distancia del punto medio entre ambos puntos
                      ang=round(atan(y/x)*180/pi); %arctan(Columnas/Filas)*180/pi, ya que está en radianes
                      H(dis,ang)=H(dis,ang)+1; 
                   end
               end
           end
        end
    end
end
subplot(2,2,2)
surf(H);
subplot(2,2,4)
colormap(jet);
image(H)
xlabel('Angulo origen-centro');
ylabel('Radio origen-centro');
