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

14 次查看(过去 30 天)
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.

回答(1 个)

Steven Lord
Steven Lord 2022-7-5
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".

类别

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