You can speed up your simulator/trial/error approach by a factor of about 4.
I know, you are right - in fact one can speed up even more
- assume a square with mic on the corners and M in the middle A B
- the first mic (A) divides the area in two. All the points that are closer to A than to the others.
That is the quadrant around A == your optimization
The next mic to trigger is either B or C as these are closest to A. (only for the exact middle M this is not true)
The cases B and C are symmetrical / identical so I refer to B as the second one
- the second mic (B) divides the initial quadrant in the triangle A-M- (mid-AB)
- the third mic will allways be C but that will not decrease the area as all points in the triangle are closer to C than to B
except for the line M - (mid-AB) in which case C and D will trigger simultaneously.
- D will allways be last ...
So only after the first two signals coming in you can choose the right enclosing triangle meaning a factor 8 smaller area. However the algorithm would become more complex as iterating through a triangle is not as straightforward as a square. Furthermore as the simulation does a first iteration with big steps the gain will not be an extra factor 2. OK one can optimize the code so there will be a gain, but mostly at costs of complexity and I've learned throught the years that you don't need to optimize an algorithm for speed if it is fast enough.
Note that the simulation approach is in fact independant of the position of the microphones, only the distance function changes of course.
It somehow seems to pay off to place the mic's in an irregular pattern
This might be true and needs some thinking....
Thinking which positions would be hit most we will see a concentration of points in the middle (M) and points becoming less near the sides. points near the middle also mean that the arrival times or better said the difference in arrival times of the sound will be smaller (assuming corner mic's). And this leads to less precision in the math given the inaccuracy of the mic readings themselves. This leads me to the statement (not proofed) that the microphones should have different distances to the center of concentration of points to increase the precision. In theory you want a mic near the center but in practice it will not survive ....
I propose 3 micros on one side and one in the corner. Then there is no point causing the sound to arrive simultaneously.