The problem came up doing one of my small robot experiments, the basic idea, is that each little robot has the ability to approximate the distance, from themselves to an object, however the approximate I'm getting is way too rough, and I'm hoping to calculate something more accurate.
Input: A list of vertex
(v_1, v_2, ... v_n), a vertex
Output: The coordinates for the unknown vertex
v_n's coordinates are well known (supplied by calling
getY() on the vertex), and its possible to get the approximate range to
v_* by calling;
getApproximateDistance() returns two variables variables, that is;
maxDistance. - The actual distance lies in between these.
So what I've been trying to do to obtain the coordinates for
v_*, is to use trilateration, however I can't seem to find a formula for doing trilateration with limits (lower and upperbound), so that's really what I'm looking for (not really good enough at math, to figure it out myself).
Note: is triangulation the way to go instead?
Note: I would possibly love to know a way to do, performance/accuracy trade-offs.
An example of data:
[Vertex . `getX()` . `getY()` . `minDistance` . `maxDistance`] [`v_1` . 2 . 2 . 0.5 . 1 ] [`v_2` . 1 . 2 . 0.3 . 1 ] [`v_3` . 1.5 . 1 . 0.3 . 0.5]
Picture to show data:
It's obvious that the approximate for
v_1 can be better, than
[0.5; 1], as the figure that the above data creates is small cut of a annulus (limited by
v_3), however how would I calculate that, and possibly find the approximate within that figure (this figure is possibly concave)?