Find x,y,z coordinations of a point given a set of other points with known distances
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Nathan
il 27 Ott 2014
Modificato: John D'Errico
il 25 Set 2016
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
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.
Risposta accettata
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
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
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?
Più risposte (0)
Vedere anche
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!