Azzera filtri
Azzera filtri

To generate vertice mesh from a series of contours

3 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Sarah Wait Zaranek
Sarah Wait Zaranek il 22 Apr 2011
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

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by