Impact location, using four sound sensors.

@hotchk155

the reason for thinking the iterative method would be slow is that it would need a lot of calls to sqrt() as the intersection points of the circles are repeatedly recalculated.

All the floating point math can slow down an algorithm, but there are several optimizations that could speed it up process. Not looked at that algorithm in detail

  1. use an integer sqrt function, ==> less precise but might be precise enough until a certain level,
    see picture - http://ww1.microchip.com/downloads/en/AppNotes/91040a.pdf -

  2. use an approx sqrt function, a lookup table with interpolation. see -Methods of computing square roots - Wikipedia

  3. if you need to compare a distance A-B with another distance C-D you don't need the sqrt as one can compare the "squared" values

d1 = (Ax - Bx)^2 + (Ay - By)^2;
d2 = (Cx - Dx)^2 + (Cy - Dy)^2;

just test d1 > d2 iso sqrt(d1) > sqrt(d2) => same result, less math => faster,

just a few thought...