To generate vertice mesh from a series of contours

5 次查看(过去 30 天)
Hello,
As beginner in MATLAB, now I have a series of contours, which define a structure. On each contour there are isolated points whose cartesian coordinates are known. Now I would like to generate a mesh from these contours (or points). The MyRobustCrust.m from file exchange does generate a mesh with faces, but without vertices' coordinates. And the vertices are needed for my calculation.
Does any one have any hints? Thank you very much.
Erhong

采纳的回答

Sarah Wait Zaranek
Sarah Wait Zaranek 2011-4-22
I believe this should work for you.
% Generating some contour data
x = rand(100,1)*4-2;
y = rand(100,1)*4-2;
z = x.*exp(-x.^2-y.^2);
scatter3(x,y,z,'b','filled')
hold on
% Calculating Triangulation
dt = DelaunayTri(x,y,z);
% Finding the surface boundary
[tri xf] = freeBoundary(dt);
trisurf(tri, xf(:,1),xf(:,2),xf(:,3), ...
'FaceColor','cyan', 'FaceAlpha', 0.8);
% Getting the vertices
t1v = xf(tri(:,1),:); %x,y,z for first point in triangles
t2v = xf(tri(:,2),:); %x,y,z for second point in triangles
t3v = xf(tri(:,3),:); %x,y,z for third point in triangles
vert = [t1v; t2v ;t3v];
scatter3(vert(:,1), vert(:,2), vert(:,3),'g','filled')
hold off

更多回答(1 个)

Jiexian Ma
Jiexian Ma 2025-4-12
编辑:Jiexian Ma 2025-4-12
If you plan to work with 2D finite element mesh, the following methods may be helpful.
Personally, I perfer method 2 because you can edit polyshape object easily.
You could check demo14 to demo17 in Im2mesh package. I provide a few examples.

类别

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