Mapping a surface onto another
6 views (last 30 days)
Show older comments
I have a problem, which should have a relatively simple solution via built-in Matlab functions (or perhaps Image Processing Toolbox), however a solution has eluded me. I hope someone here can help out.
I have two surfaces defined by X, Y, Z vectors, i.e., I know the z values at a set of x and y points. The x, y grid is rectangular but NOT bounded by a rectangle - in fact it's a regular grid inside a circle.
I have a second surface, similarly constructed but it is sparser, so if the surface one is on a 2 unit spacing, surface 2 is more like 20 or 40 units. The first surface has ~10k grid points while the second surface has 25-100. The actual x,y points of the second surface may or may not be common with the first surface. (if solution requires them to be I can make it happen).
What I want to do is to rigidly translate the first surface (x1, y1, z1) onto the second (x2, y2, z2), such that when I am done, surface one should 'coincide' in space with surface 2. Basically, I am 'anchoring' the densely defined surface 1 onto sparsely defined surface 2.
I am not sure if the above description of the problem is clear but perhaps I can illustrate the problem this way: 1) Imagine one a well defined surface, i.e., many points in the x,y plane : s1 = (x1, y1, z1). 2) Now one puts this surface on a boat and you observe it from the shore. As the boat rocks with the waves, the surface above moves with it, rigidly. 3) One then measure a few points on the boat's deck to capture how the boat is moving s2 = (x2, y2, z2) 4) One then maps the surface s1 onto s2 to obtain a updated representation of s1 on the boat. By the way, x1, y1 ranges are larger than x2, y2.
I think this is like a 3D Affine transform, solving the A = M * B equation, except in 3D, where M is the transform. M is unknown. Normally, one could do a left divide: M = A \ B except that the left divide requires equal number of x,y,z points in A and B.
Answers (0)
See Also
Categories
Find more on Surface and Mesh Plots 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!