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

3 次查看(过去 30 天)
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,

采纳的回答

John D'Errico
John D'Errico 2014-10-27
编辑:John D'Errico 2014-10-27
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 个评论
Sam Tong
Sam Tong 2016-9-25
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 2016-9-25
编辑:John D'Errico 2016-9-25
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?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Triangulation Representation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by