Hello,
dt = DelaunayTri(x,y);
figure
triplot(dt);
hold on
t = vertexAttachments(dt,1);
triplot(dt(t{:},:),x,y,'Color','r');
hold off
This is if i have x and y, how can i do it for x,y and z?
Thanks in advance

 Réponse acceptée

Andrew Newell
Andrew Newell le 14 Sep 2011

0 votes

EDIT: Define U=[x(:) y(:) z(:)], then use
dt = DelaunayTri(U);
Plot it using a command like
tetramesh(dt, 'FaceColor', 'cyan');
EDIT 2: Here is an example in which the vertex attachments for vertex 1 are highlighted.
x = rand(20,1); y = rand(20,1); z=rand(20,1);
Plot all the tetrahedra.
U=[x(:) y(:) z(:)];
dt = DelaunayTri(U);
h=tetramesh(dt, 'EdgeColor', 'cyan','FaceColor','none'); hold on
Find simplex attachments and extract the vertex numbers
t = vertexAttachments(dt,1);
tri_attach = dt.Triangulation(t{:},:);
ii = unique(tri_attach(:));
Now plot the tetrahedra for the attached vertices
U = U(ii,:);
dt = DelaunayTri(U);
tetramesh(dt, 'EdgeColor', 'red','FaceColor','none');

4 commentaires

developer
developer le 14 Sep 2011
thanks actually i have already seen it before but if it doesnot define define how can i do this step in 3D coordinate
triplot(dt(t{:},:),x,y,'Color','r');
Andrew Newell
Andrew Newell le 15 Sep 2011
Don't use triplot - see my edit above.
developer
developer le 15 Sep 2011
But its only for 'dt' i guess not for the vertex attachment portion 't'?
developer
developer le 15 Sep 2011
you have used tetramesh for showing 'dt' but not 't'

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by