As most of the answers already provided state, this is quite tricky and rather difficult to achieve faithful decomposition of the sound field.
Since you are considering a pair of microphones you could consider two different methods to decompose the impinging sound field into idealized plane waves.
- Coincidence microphones: Here you have to use the magnitude of the recorded signals to calculate (estimate would be a more appropriate term though) the Direction-of-Arrival (DoA) of the impinging plane waves.
- Non-coincidence microphones: Here you could possibly use the time difference between the recorded signals in order to estimate the DoA of the impinging plane waves.
Non-Coincidence Microphones
In this case one could use some well established techniques from the field of Phased Microphone Arrays. The simplest and (possibly) most intuitive technique is to use one of the so called Generalised Cross Correlation (GCC) (for more info see Generalized Cross Correlation) methods, of which the PHAse Transform (PHAT) (see https://www.hertasecurity.com/sites/default/files/publication/files/PUBLICACION_7008800043.pdf) is the most well known.
This method calculates the time difference of arrival through the calculation of the cross correlation (hence the name!) of the two recorded signals. Variations of the algorithm use weighting functions for the cross correlation with PHAT using only the phase information (since time is "encoded" in the phase of the cross spectrum). From Chapter 9 of "Microphone Array Signal Processing" by Benesty, Chen and Huang the cross spectrum is given by
$$ r_{GCC} (p) = \int_{-\infty}^{+\infty} \theta(f) \phi(f) e^{j 2 \pi f p} df$$
with $\phi(f)$ given by
$$\phi(f) = E \left[Y_{1}(f) Y^{*}_{2}(f) \right]$$
where $E[\cdot]$ denotes expectation (it is actually the cross spectrum), $Y_{1}(f)$ and $Y_{2}(f)$ are the Fourier transform of the recorded signals, $^{*}$ denotes complex conjugation and $\theta(f)$ is the weighting function used for each algorithm.
For the case of PHAT, $\theta(f)$ is given by
$$ \theta(f) = \frac{1}{\left| \phi(f) \right|}$$
which actually makes the magnitude of the cross spectrum go to unity. One implementation detail is that one should avoid dividing by the magnitude of the spectrum to avoid possible division by zero or very small values. In order to avoid this division one could use the "cross spectrum" (actually the phase of it) given by
$$\psi^{PHAT}(f) = e^{-j 2 \pi f \tau}$$
Thus, the cross correlation for the PHAT algorithm is given by
$$r_{PHAT}(p) = \int_{-\infty}^{+\infty} e^{j 2 \pi f (p - \tau)} df$$
which for the ideal case equals $\infty$ for $p = \tau$ and 0 otherwise.
The formulation of this method assumes that the impinging sound field is a plane wave. The delay between the two microphones depends on the distance between them and the angle of the impinging plane wave in respect to the axis normal to the array.
Additional details about the algorithm is that the methods are not appropriate for multiple sources. It is not easy nor trivial to find the delays corresponding to the different sources from the cross spectrum. For more information on this issue refer to https://ieeexplore.ieee.org/document/1162830 (unfortunately I can't provide a link to a free paper for this).
When you get the delay(s) between the microphones you can use the formula
$$ \tau = \frac{d \cos \left(\theta\right)}{c} \implies \theta = \cos^{-1} \left( \frac{\tau c}{d}\right)$$
where in this case $\theta$ is the angle of incidence, $\tau$ the time difference of arrival between the microphones given by $\arg \max_{p} r^{GCC}(p)$, $c$ the speed of sound and $d$ the distance between the microphones.
Note that the angle can be uniquely determined if it is constrained in the range $[0, 180)$. Additionally, one should make sure that the higher frequency of search is bounded upwards by
$$ f_{c} = \frac{c}{2d}$$
in order to avoid spatial aliasing.
Another alternative to use when you deal with non-coincident microphones is the beamforming techniques. The simplest is the delay-and-sum beamforming where you delay one recording relative to the other and sum their outputs. In this way you will get maximums of the summed response for delays that correspond to the angle of incidence of the source(s). Thus you would have to either set a threshold on the magnitude response (if you don't know the number of sources) or limit the number of sources and search for this amount of maximums in the response. Since the setup is the same as the one presented for the GCC case, the angle is extracted in the same way from the delay used.
Finally, please not that one may have to use fractional delays in order to get higher angle accuracy. Alternatively, one could increase the sampling rate to get finer delay precision.
Coincident Microphones
In this case, one has to use the magnitude of the recorded signals since the time difference of arrival is (ideally) zero, or at least very small.
Now, in the simplest case, one could assume plane waves and calculate the magnitude difference of the two recorded signals. If you assume identical polar responses of the microphones you could use the functions giving the polar response to estimate the angle of arrival.
In the case of cardioid response the output of the microphone is given by (see also https://en.wikipedia.org/wiki/Cardioid)
$$ r(\phi) = 1 - \cos (\phi) $$
where $\phi$ is the angle of incidence. So, you could calculate the theoretical magnitude of each microphone for "all" angles and from that deduce the angle of incidence for the plane waves.
Based on the given equation the magnitude difference should be given by
$$r_{diff}(\phi) = 1 - \cos(\phi - \theta) - \left[ 1 - \cos(\phi + \theta) \right] \implies r_{diff}(\phi) = - \cos(\phi - \theta) + \cos(\phi + \theta) $$
where $\theta$ is the "on-axis" direction of each microphone (as an absolute value) with respect to the normal to the array ($2 \theta$ is the angle between the microphones on-axis directions, for example in ORTF setup $2 \theta = 110^{o}$ or $\theta = 55^{o}$)
The extreme values will depend on the setup and the polar plots, but they can be theoretically calculated for the setup of interest. Then it is just a matter of table searching to match the calculated values to the theoretical ones.
Of course, you have to keep in mind that this theoretical polar response does not hold for all frequencies, so if you manage to introduce the polar response for each frequency of interest (or at least for bands) you could get better results.
Now what?
Such a long answer to calculate some DoAs... If you manage to get those, you will manage to get some relative directions to the original setup/array. Then you will be able to use that information to calculate the theoretical recordings in the case of a different array/setup.
Since so far we have assumed plane waves, when you introduce translation to each microphone all you have to do is to delay its signal.
Let's provide an example to make it clear. In case you have a coincident setup with two cardioid microphones at $90^{o}$ ($\pm 45^{o}$) if you place a source at $+10^{o}$ it will hit the left microphone at $55^{o}$. This will give a specific value for the magnitude response. Now if you translate (move) the left microphone $10$ cm to the left then you will have to introduce a delay of $c = \frac{d}{t} \implies t = \frac{d}{c} \implies t = \frac{0.1 m}{343 m/s} \implies t \approx 292 \mu s$. Since we assumed plane waves there is no change of angle of incidence. If you would like to change the polar plot of the microphone all you have to do is calculate the polar response of the new polar plot for the new microphone and apply the appropriate gain (positive or negative) to match it.
Obviously this is a crude approximation of the sound field. It could possibly work reasonably well for small translations and rotations (or changes of polar plots) at "large" distances from the source (in the literature of DoA 1-2 metres is deemed adequate). Nevertheless, all methods discussed above have limitations and are presented just as formulated in a theoretical context. It is a matter of "engineering" to improve on them in order to get better results.
Honesty, I hope this helps somehow as this is a very interesting question you asked here. I am sure there must be other ways (possibly better) to get the results you seek and I would be delighted to hear of some results and different approaches on the matter.