3d plot

16 Ansichten (letzte 30 Tage)
developer
developer am 14 Sep. 2011
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

Akzeptierte Antwort

Andrew Newell
Andrew Newell am 14 Sep. 2011
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 Kommentare
developer
developer am 15 Sep. 2011
But its only for 'dt' i guess not for the vertex attachment portion 't'?
developer
developer am 15 Sep. 2011
you have used tetramesh for showing 'dt' but not 't'

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Delaunay Triangulation finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by