If you are having trouble visualizing the reciprocal space, perhaps an analogy to 1D temporal FFTs will help (personally I'm more familar with these, so an analogy helps me anyway)
In a 1D temporal FFT, the input is N samples, at a rate of Fs samples/second, for a total time of N/Fs seconds. The output is N samples, distributed between 0 and Fs (or between -Fs/2 and +Fs/2 depending on your point of view) (units 1/second). So each output sample has width Fs/N (again units 1/second).
In a 1D spatial FFT, all we do is replace seconds by meters and samples by pixels. The input is N pixels, and a rate of Fx pixels per meter, for a total width of N/Fx meters. The output is N pixels, distributed between 0 and Fx (or between -Fx/2 to Fx/2) (units of 1 / meter). So each pixel has width Fx/N (agains units 1/meter).
So an output scale bar of M pixels has a width of M*Fx/N in units of 1/meters.
To go from 1D spatial FFT to 2D spatial FFT, just need a sampling rate in each direction. Presumably you have the same sample rate in each directin.