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

Antworten (1)

KSSV
KSSV am 1 Jan. 2019
Bearbeitet: KSSV am 1 Jan. 2019

0 Stimmen

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 Kommentare

sama alimohamadi
sama alimohamadi am 1 Jan. 2019
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.
KSSV
KSSV am 1 Jan. 2019
how you got second image? for which points you want faces?
Stephen23
Stephen23 am 1 Jan. 2019
Aubrey Roche
Aubrey Roche am 29 Apr. 2019
Did you find a solution to this problem?

Melden Sie sich an, um zu kommentieren.

Gefragt:

am 1 Jan. 2019

Kommentiert:

am 29 Apr. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by