How to create a mesh surface from given 3D coordinates?
Mostrar comentarios más antiguos
Hi all,
I've decided to give MATLAB a try for my research project.
I'm trying to create a 3D mesh of given coordinates E, N and elevation.
I can plot all the points using plot3(x,y,z,'.');
Using an XLSX or csv spreadsheet for the datsets I have removed all unnecessary data such as point name and code leaving only E,N and elevation in a 460x3 table.
And using the patch function it does something but not creating the surface as I would like it as a mesh.
I would also like to set some parameters when creating the mesh i.e don't create surface between outside points where distance between those points is greater than say 20m.
Attached is a screenshot of where I am up to.
Kind regards,
Mitch.

2 comentarios
Tommy
el 11 de Abr. de 2020
Have a look at https://www.mathworks.com/matlabcentral/answers/62964-creating-3d-mesh-for-some-points-in-space
Perhaps this gives what you are looking for?
figure
tri = delaunay(x, y);
trimesh(tri, x, y, z);
hold on; plot3(x,y,z,'.')
Mitchell Ireland
el 11 de Abr. de 2020
Respuesta aceptada
Más respuestas (2)
Trang Cao
el 28 de Mayo de 2024
1 voto
Probably you don't need the answer for this anymore but I was just looking for the answer to a similar question, i.e., delaurayTriangulation do not behave well on non-convex shape.
I found alphaShape and then alphaTriangulation.
Hope this may help someone else...
Dania Ahmed
el 14 de Mzo. de 2022
Editada: Dania Ahmed
el 14 de Mzo. de 2022
0 votos
Here you need a 3D constrained delaunay to plot the domain with internal nodes in 3D. MATLAB allows constrained delaunay in 2D only.
If you wanted to plot the boudndary surface; you can use the function "boundary" with a shrink factor of 1 then trisurf the boundary and the points, i.e.
k = boundary(x,y,z,1);
trisurf(k,x,y,z,'Facecolor','red','FaceAlpha',0.5);
Categorías
Más información sobre Surface and Mesh Plots en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

