% AUTHOR    :CHANDAN KUMAR und Antje Ohlhoff 
% TITLE     :BRESENHAM CIRCLE ALGORITHM
%
% Aufruf [k,l]=kreis(a,b,r);
% 
% a = Spalte des Kreismittelpunkts
% b = Zeile des Kreismittelpunkts
% r = Radius des Kreises
% k = Vektor mit den Koordinaten der Punkte des Kreises
% l = Länge des Vektors k

function [k,l]=kreis(a,b,r)

inc =1;                                

hold on;
x = 0;
y = r;
d= 3-2*r;

m=1;
while(x < y)
    k1(m,1)=a-x;
    k1(m,2)=b-y;
    k2(m,1)=a-x;
    k2(m,2)=b+y;
    k3(m,1)=a+x;
    k3(m,2)=b-y;
    k4(m,1)=a+x;
    k4(m,2)=b+y;
    k5(m,1)=a-y;
    k5(m,2)=b-x;
    k6(m,1)=a-y;
    k6(m,2)=b+x;
    k7(m,1)=a+y;
    k7(m,2)=b-x;
    k8(m,1)=a+y;
    k8(m,2)=b+x;
    m=m+1;
	if d>=0
		d = d +4*(x-y)+10;
		x = x + 1/inc;
		y = y - 1/inc;
	else
		d = d + 4*x +6;
		x = x+1/inc;
	end 
end
m=m-1;l=8*m;
for i=1:m k(i,1)=k3(i,1);k(i,2)=k3(i,2); end;
for i=1:m k(m+i,1)=k7(m+1-i,1);k(m+i,2)=k7(m+1-i,2); end;
for i=1:m k(2*m+i,1)=k8(i,1);k(2*m+i,2)=k8(i,2); end;
for i=1:m k(3*m+i,1)=k4(m+1-i,1);k(3*m+i,2)=k4(m+1-i,2); end;
for i=1:m k(4*m+i,1)=k2(i,1);k(4*m+i,2)=k2(i,2); end;
for i=1:m k(5*m+i,1)=k6(m+1-i,1);k(5*m+i,2)=k6(m+1-i,2); end;
for i=1:m k(6*m+i,1)=k5(i,1);k(6*m+i,2)=k5(i,2); end;
for i=1:m k(7*m+i,1)=k1(m+1-i,1);k(7*m+i,2)=k1(m+1-i,2); end;

k=uint16(k);



 
 