At the unknown t0 time an explosion occurred at an unknown point X,Y on the 2D plane.

We have several seismic sensors at points X1,Y1, X2,Y2, ..., Xn,Yn - they register explosion at moments t1, t2, ... , tn.

Suppose that seismic wave propagates with unknown but constant speed V.

How can we then find out X,Y of the explosion?

I faced such problem about 6 years ago and solved it somehow (I believe it was iterative solution). Recently I added it to my programming-puzzles site (http://www.codeabbey.com/index/task_view/ground-zero) but later I was asked by several users how this problem could be solved precisely (i.e. analytically) - and I still do not know this.


My idea of solution was like the following:

We have 4 variables and 4 or more binding equations for them. Regretfully, the system is not linear.

Nevertheless, if we fix V to some constant, we have only 3 variables left and can solve any three of equations for them.

We can choose these three equations in several ways (e.g. we can make 4 triplets out of 4 equations) - so we can find solution for each triplet and then calculate some aggregated "difference" of these solutions (like area of minimum polygon to enclose all solutions for X,Y).

So we now may search through values of V with the goal to minimize this "difference" of solutions.

It works (as other iterative approaches also do). But this give not a clue for precise geometric / analytical solution.


1 Answer 1


if the explosion goes outward in a circular radius that increases at a constant speed, could you not, convert to polar and then use the X and Y to determine how much the radius increased? For instance, let's suppose your explosion happened at 0,0 and at 2 seconds your trigger was at (3,4) -- 5 meters away.

Then, if another explosion happened at 10 meters way, within 4 seconds total, and a third explosion happened at equivalent radius of 15 meters within 6 seconds total, this is constant and you can tell the V was 2.5 meters per second.

On the other hand, if the difference between the 15 and 10 vs 10 and 5 was off, you know that (0,0) is not the coordinate of the explosion. By assuming your explosion is at a certain spot, you can change your idea to (x3-x2)/t = (x2-x1)/t = (x1-x0)/t, where x3, x2 and x1 are known radius and x0 is the unknown X coordinate.

Does this seem logical?


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .