Fourier transform in spherical coordinates from a Cartesian grid

1.4k Views Asked by At

Recently I realized I didn't understand what FT is, which is embarrassing after years of training. However, I don't get what the basic Fourier integral means.

To make it concrete, let's assume I have a finite array a = rand(1, 10); (using matlab notation but any 10 random numbers in a row vector is fine).

When I take FFT on this, fft(a), what am I computing? Since the Fourier transform is an integration, I'd assume this would be a single number, but it's a 10 element row vector.

This prelude is for this following problem: Fourier transform on spherical coordinates

Here, I have a function defined on a sphere, $f(\theta,\phi)$, and I go over all $\phi$ and sum them up to get the $f_m(\theta)$.

This is my main problem, however if it's an easy question, how can I compute this from a Cartesian grid? As in I have the $f(\theta,\phi)$ on a 3D array, and actually can access to the points, however if I do this manually, I feel like I'll waste a lot of computing power. I'm looking for a way I can do the FFT on Cartesian grid and collect the results from that output. It may be too hard, since the FFT on cartesian grid will be done on xyz whereas here we have r theta phi.