Data generating  from a disc

Input: center C ∈ (ℝ^2), disc radius r, number (Subscript[n, p]) of points per unit square, standard deviation σ, number nr of points (Subscript[n, r]) generated from
a normal distribution in the neighborhood of each disc point; 
Output: data set, circle K(C,r);
Submodules: none needed

DataDisc[S_,r_,np_,sigma_,nr_,Ind_:0]:=Module[{Del,del=.1r,Nr,data,pi={},pod={},Pod,circle},
circle=Circle[S,r];
(* Definiranje temeljnih točaka *)
Del={{S[[1]]-r-del,S[[1]]+r+del},{S[[2]]-r-del,S[[2]]+r+del}};
Nr=Floor[np Area[Rectangle[{Del[[1,1]],Del[[2,1]]},{Del[[1,2]],Del[[2,2]]}]]];
data=RandomVariate[UniformDistribution[Del],Nr];
(* Definiranje [pod] unutar kružnice radijusa r *)
Do[
If[Norm[data[[i]]-S]≤ r,pod=AppendTo[pod,data[[i]]]
]
,{i,Nr}];
(* Na svaki pod[[i]] dodaje se nr točaka iz normalne distribucije *)
Do[
pi=AppendTo[pi,RandomVariate[MultinormalDistribution[pod[[j]],sigma IdentityMatrix[2]],nr]]
,{j,Length[pod]}];
Pod=Union[pod,Flatten[pi,1]];
(* Figure *)
If[Ind≠ 0,
slcir=Show[Graphics[circle]];
slPod=ListPlot[Pod,PlotStyle->{PointSize[.005]}];
Print[Show[slcir,slPod,PlotRange->Del,AspectRatio->Automatic,Frame->True,GridLines->Automatic,ImageSize->Small]];
Print["Circle: ",{S,r},"; Delta=",Del, "; |Pod|= ",Length[Pod]];
	];
{Pod,circle}
]