views:

52

answers:

3

I have two endpoints (xa,ya) and (xb,yb) of two vectors, respectively a and b, originating from a same point (xo, yo). Also, I know that |a|=|b|+s, where s is a constant. I tried to compute the origin (xo, yo) but seem to fail at some point. How to solve this?

+2  A: 

In the general case, there isn't a unique solution. You need another constraint.

Marcelo Cantos
+1  A: 

Essentially you have two line segments and you know the position of one end for each and their length difference. This easily results in an infinite amount of points where the ends could meet, and therefore doesn't uniquely identify your "origin".

Matti Virkkunen
So I guess it does not help if I knew range of |a| and |b| either (Vladimir: I know only the difference of |a| and |b|, which is the s).Would i get an aswer to the problem if i had a third endpoint say (xc,yc) and knew also that (like for b) |a|=|c|+v, where v would be a constant, too?
Mike
Also assume, |a|>0
Mike
This sounds an awful lot like trying to figure out the position of something by measuring the time difference between beacon signals that are sent from your three points at the same moment. Have you tried googling for positioning-related things?
Matti Virkkunen
Thanks for the tip. Seems that there's plenty of mathematical solutions when looking for position-related math. Especially, TDOA based locationing math are essentially the same. Usually locationing is working the other way around but it's reciprocal,so I got it now. Solution became quite obvious with the additional constraint. (See e.g. Wikipedia: multilateration)
Mike
A: 

The origin will be somewhere on a hyperbolic surface. The points a and b are the foci.

Beta