Fitting Low-Curvature Volume to Scattered Data
Hi there, I am trying to figure out a way to form something like a low-curvature volume fit in spherical coordinates.
So, I first have a grid of azimuth (-pi,pi) and elevation (-pi/2, pi/2) values and a corresponding array for radii, that is R = R(az,el) of dimension NxN. I then determine all maximum values in R using imregionalmax and write teh corrsponding (az,el,R) values into three vectors.
My goal would be now to fit a volume to these maximum values in R on the original az/el grid (currently using griddata,cubic). That is, if I had a flat set of original data in R with only a few equal peaks in it, that surface should be a sphere.
Right now I have tried to incorporate a periodic boundary solution by [R R R; R R R; R R R] and mapping the grid from (-3pi,3pi) and (-3pi/2, 3pi/2) and deleting duplicate boundary entries in R.
The best I could do so far leads to a solution like in the Figure (same data in the plots, once with transparency to see the original data in the center of the volume fit. The original data is a sphere of radius 1 and some peaks distributed on the surface of height 1 and 0.5 (the method works for all equal peaks already, that seemed trivial). But: Obviously, this would not be the surface with lowest curvature, and I guess I am missing something (or maybe even a lot).
Has anyone ever dealt with this kind of problem? I would appreciate any support or ideas to find a solution.
Thank you in advance, Regards from Germany
0 Comments
Answers (2)
0 Comments
See Also
Categories
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!