How to create a surface from node coordinates and face indexes?

2 views (last 30 days)
I am trying to create a surface using surf() to represent a 3D geometry. The issue is that the nodes coordinates are stored in one array with three columns for x, y, and z each. Meanwhile I have the face indexes making up triangular faces stored in another array.
Previously I've written a script that transforms a surf geometry into a ply file, so in this case I am looking to somewhat reverse engineer that process.
Ultimately I need the surface to make a 3D countour plot.
Is there any way to achieve this with the node coordinate and face index information? Files containing such information are attached.
I believe I could plot each triangular surface individually but with 10k surffaces there might be a more efficient way to do this.

Answers (1)

Steven Lord
Steven Lord on 5 Jul 2022
Does the trimesh function do what you want?
Alternately take a look at the griddata function and then the isosurface or contour functions, since you mentioned your ultimate goal is to "make a 3D countour plot".

Community Treasure Hunt

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

Start Hunting!