function [Cir]=ConcreteBone2d(Range,Num,Rmin,Rmax)
cum=0;
for i=1:1000000
if cum==Num
break;
end
x=rand(1)*(Range(1,2)-Range(1,1))+Range(1,1);
y=rand(1)*(Range(2,2)-Range(2,1))+Range(2,1);
r=rand(1)*(Rmax-Rmin)+Rmin;
if (x-r>Range(1,1) & x+r<Range(1,2)) & (y-r>Range(2,1) & y+r<Range(2,2))
if cum==0
cum=cum+1;
Cir(cum,:)=[x y r];
else
sum=0;
for j=1:cum
D=sqrt((Cir(j,1)-x)^2+(Cir(j,2)-y)^2);
if D<Cir(j,3)+r
break;
else
sum=sum+1;
end
end
if sum==cum
cum=cum+1;
Cir(cum,:)=[x y r];
end
end
end
end
plot([Range(1,:) Range(1,2) Range(1,1) Range(1,1)],[Range(2,1) Range(2,1) Range(2,2) Range(2,2) Range(2,1)],'-b','linewidth',3);
hold on;
fill([Range(1,:) Range(1,2) Range(1,1) Range(1,1)],[Range(2,1) Range(2,1) Range(2,2) Range(2,2) Range(2,1)],'y');
theta=0:5*pi/180:360*pi/180;
for i=1:Num
xx=Cir(i,3)*cos(theta)+Cir(i,1);
yy=Cir(i,3)*sin(theta)+Cir(i,2);
plot(xx,yy,'-r');
fill(xx,yy,'c');
end
axis image;