How to map 2D mesh points on any 3D surface keeping the interpoint distace as it was in 2D surface?

5 views (last 30 days)
Say I have these 2D points on the x-axis and y-axis. Now I have a sphere or any other 3D surface. I want to mount these points on that 3D surface. How can I do that ?? Responses are highly appreciated.
  3 Comments
DGM
DGM on 31 Jan 2023
Define "distance". I see three possibilities:
  1. euclidean distance as projected to the x-y plane (2D)
  2. euclidean distance in 3D space (chord lengths)
  3. distance on the sphere surface (arc lengths)
Bruno Luong
Bruno Luong on 9 Mar 2023
It is well known that it is not possible mathematicaly to maps two surface preserving the distance if they have diffenet Gaussian curvatures, such as a flat 2D sheet and a sphere.

Sign in to comment.

Answers (1)

Sarthak
Sarthak on 9 Mar 2023
Hi,
Here are few approaches to project 2D points onto a 3D surface:
  1. Height map projection: You can use MATLAB’s ‘interp2’ function to perform bilinear interpolation of the height values between the grid points.
  2. Ray tracing: You can use MATLAB’s ‘surfnorm’ function to compute the surface normal at any point on the surface
  3. Surface fitting: Use MATLAB’s ‘fit’ function to fit a surface to the points using various fitting methods.

Community Treasure Hunt

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

Start Hunting!