How can I reconstruct a matrix from rotated vectors?

1 view (last 30 days)
Hi, I have vectors which are diameters (at different angles) from a circular surface. Knowing the angles of the individual vectors, I'd like to reconstruct the circular surface from the different vectors. E.g., if
d0 = [2,3,3,3,4,3]
d30 = [3,2,3,3,4,2]
d60 = [3,3,4,2,4,3], and so on, are vectors representing different diameters on the surface, how can I reconstruct and interpolate the original surface?
Many thanks!
[EDITED, Jan, copied from comments]
Thanks for your comments. I want to construct a circular surface within a square matrix.
Let me try to redefine the problem with an example:
If I have a square matrix:
NaN NaN 1 NaN NaN
NaN 2.5 3.4 -2.5 NaN
-10.0 6.2 2.0 -6.3 10.0
NaN 2.5 -3.4 -2.5 NaN
NaN NaN 2.3 NaN NaN
Within the square matrix is a circle, all other points are NaNs. This circle of points is what I referred to as a circular surface, with each point representing a height on the surface.
If from measurements, I only have individual vectors, e.g, a vertical line from the matrix, as:
vert = [1, 3.4, 2.0, -3.4, 2.3]
a horizontal line as:
hor = [-10.0, 6.2, 2.0, -6.3, 10.0]
a line at 45 degrees as:
d45 = [NaN, -2.5, 2.0, 2.5, NaN]
and other lines from other angles around the center. I'm wondering if there's a way I can reconstruct the above matrix, from the above vectors.
I hope this example makes the question is a bit clearer. Thanks once again!
  5 Comments
Image Analyst
Image Analyst on 28 Jan 2017
Edited: Image Analyst on 28 Jan 2017
If you have a circle, then the max width (i.e., diameter) of it should be the same diameter no matter what the projection angle is. Why are you getting different diameters? It must not be a circle then.
Walter Roberson
Walter Roberson on 28 Jan 2017
It is a circle embedded in a square by NaN padding.

Sign in to comment.

Answers (2)

Walter Roberson
Walter Roberson on 28 Jan 2017
Edited: Walter Roberson on 3 Feb 2017
I once spent a few months trying to reconstruct planar graphs from the distances between points. I found that mathematically it is tough to do and that round off error can make it impossible to reconstruct, at least if you trust the measurements. I did not attempt anything along the lines of "best fit" that allows a planar graph; perhaps I should have.
Moving to 3D does not make the mathematics any easier.
So... NO, my experience is that you will not be able to reconstruct. Not unless you redefine the problem.
First though you have not defined the problem, at least not to us. What does it mean to say that there are various distances on a circular surface? What does it mean for those values to be associated with an angle? What is being reconstructed? Is it the location of a set of 6 points? If so then how is the distance between measured? Is "circular surface" a reference to sphere or are you working with a circular portion of a plane?
Part of what you write suggests to me that maybe you are working with a radon transform and want to use iradon()

Jan
Jan on 28 Jan 2017
Withe the radius and the angle, you can create the coordinates of the measured points. If you search for a circle, which fits these points in a least square sense, check the solutions published in the FileExchange:
But I'm not sure, what you are looking for, see my comment above.

Categories

Find more on Computational Geometry in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!