<< Calculus`DiracDelta`

tophat[x_]  :=  1.0*UnitStep[x] * UnitStep[1.  - x];

n = 64;  xmax  =  2.0;  dx  =  2.0*xmax/n;

x = Table[ dx*(i - n/2), {i, 1, n}];

ones  =  Table[1.0, {i, 1, n}];

x

Dimensions[x]

ones

xx  =  Outer[Times, ones, x];

yy  =  Outer[Times, x, ones];

ListDensityPlot[xx]

ListDensityPlot[yy]

rr  =  Sqrt[(xx^2) + (yy^2)];

ListDensityPlot[rr]

aa  =  Map[tophat, rr, 2];

Dimensions[aa]

Dimensions[rr]

zz = Table[0.0, {i, 1, n}, {j, 1, n}];

Dimensions[zz]

\(\(Do[\ \ zz[\([i, j]\)]\  = \ tophat[\ rr[\([i, j]\)]*3.0]

      \ \ \ \ \ , {i, 1, n}, {j, 1, n}	]; \)\)

ListDensityPlot[zz]

ListPlot3D[zz]

?Re

ffr  =  Re[Fourier[zz]];

ListPlot3D[ffr]

\(\(
g\  = 
      \ {1. , 1. , 0. , 0. , 0. , 0. ,  .0,  .0, 0. , 0. ,  .0,  .0, 0. , 
        0. , 1. , 1. }\)\)

Re[Fourier[g]]

ListPlot[ Abs[ Fourier[g] ]]