creating faces from vertices

I have a m*3 matrix including the position of m 3D point positions, that make a surface. how can I create the triangulation facesc of these points (vertices)? I have attached my matrix.
thanks.
Samaneh

Answers (1)

KSSV
KSSV on 1 Jan 2019
Edited: KSSV on 1 Jan 2019
Read about delaunayTriangulation
load('vertices.mat');
x = vertices(:,1) ;
y = vertices(:,2) ;
z = vertices(:,3) ;
dt = delaunayTriangulation(x,y) ;
tri = dt.ConnectivityList ;
x = dt.Points(:,1) ;
y = dt.Points(:,2) ;
trisurf(tri,x,y,z)
shading interp
view(2)
If you have edges in hand.......provide them and avoid the unnecessary connections. Also have a look on alphashape

4 Comments

Thanks. actually for some of my data, I have both the faces and vertices and so I can plot my data as figure attached. But in the cases that there is no faces, I'm looking for a solution. the way you propose, draws some faces that are not correct and this can be seen by comparing the two figures attachd.
how you got second image? for which points you want faces?
Did you find a solution to this problem?

Sign in to comment.

Asked:

on 1 Jan 2019

Commented:

on 29 Apr 2019

Community Treasure Hunt

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

Start Hunting!