Find x,y,z coordinations of a point given a set of other points with known distances

2 visualizzazioni (ultimi 30 giorni)
Hi,
I have a data set where I have 4-7 points (x,y,z) with known coordinates over time (100 time frames). At one time frame I have another point (C), from which I can extract the distance to each of the 4-7 known points. In all of the other frames, I want to determine the x,y,z coordinate of where that point (C) would be. What is the easiest way to do this? I figure this must be a triangulation problem, but Im not sure how to get at it. Or if there are toolboxes that might have code set up to do this.
Thanks,
  1 Commento
John D'Errico
John D'Errico il 28 Ott 2014
Modificato: John D'Errico il 28 Ott 2014
I added the multilateration tag because that is the name used when I find this problem described in the literature.

Accedi per commentare.

Risposta accettata

John D'Errico
John D'Errico il 27 Ott 2014
Modificato: John D'Errico il 27 Ott 2014
If you have more than 3 points, then it is possible (actually very likely) that there is no exact solution.
Essentially, if you KNOW the distance from a given point, then the solution MUST lie on the surface of a sphere of that radius. The intersection of 2 such spheres, assuming that the problem is non-degenerate, will be a circle. A third sphere will intersect with that circle in two points (or one or none.) Add a 4th sphere (or more) to the mix, and if these are measured points with some noise in them, then there will be probably no exact solution.
One can actually formulate the problem in a linear least squares sense. I imagine there must be some code on the file exchange. (I'll look and coem back to this.)
  4 Commenti
Sam Tong
Sam Tong il 25 Set 2016
So is there any progress with this question? Is there some solution for adapt with 4 or more points in 2D space?
John D'Errico
John D'Errico il 25 Set 2016
Modificato: John D'Errico il 25 Set 2016
If the actual distances to a given set of points are known, then the answer is easy, as the problem reduces to a linear system of equations in the unknown best point. Thus, write out the system as a set of equations for circles, then subtract one from the rest. All of the squared terms in the unknowns should drop out, leaving a linear system to solve. backslash will then suffice.
If only the relative differences are known, then the problem reduces to a nonlinear optimization problem. That is the classical multilateration problem. It is solvable using tools from the optimization toolbox. lsqnonlin should work.
So which case is your problem?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Triangulation Representation in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by