Mapping a surface onto another

조회 수: 11 (최근 30일)
Varoujan
Varoujan 2016년 8월 5일
댓글: Benjamin Hardy 2019년 7월 17일
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.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by