How to create mesh from coordinates

Hi,
I have a 3D object (as shown in figure) defined entirely by x,y,z coordinates. Below shows the plot using scatter3().
I do not have the triangulation information.
My ultimate goal is to convert it to an .*stl file. How do I mesh it? delaunay(x,y,z) is giving something like this which is not correct.
Do I need some kind of algorithm to mesh it ?
Or else can I convert the coordinates to a .ply file to use meshlab to mesh it ? I don't know how to convert. Since this is a closed figure meshgrid() etc. are not working.
Thank you for the help.

 Respuesta aceptada

Kaustubh Tiwarekar
Kaustubh Tiwarekar el 21 de Abr. de 2020

0 votos

Más respuestas (1)

Walter Roberson
Walter Roberson el 28 de Dic. de 2016

0 votos

If you have R2014b or later consider using boundary() to generate an outside hull.

4 comentarios

sumana
sumana el 28 de Dic. de 2016
Hi,
Thank you for the answer. But it does not work as I want it to. I got the below figure.
It is connecting many unnecessary points. Same with alphashape().
Could you suggest some algorithm or any other method ? How can I convert it to a pointcloud file ? Or could you provide an example with an arbitrary closed 3D shape, say a sphere?
Thank you
sumana
sumana el 28 de Dic. de 2016
This is what I got using alphashape (), which is close but there is a hole in the middle.
Note: This object was first generated in geodetic coordinates and then converted to spherical.
sumana
sumana el 28 de Dic. de 2016
Another view of it.
Walter Roberson
Walter Roberson el 28 de Dic. de 2016
Editada: Walter Roberson el 28 de Dic. de 2016
pc = pointCloud( [x(:), y(:), z(:)] );
pcwrite(pc, 'OutputFileName.ply');
This requires the Computer Vision Toolbox.

Iniciar sesión para comentar.

Preguntada:

el 27 de Dic. de 2016

Comentada:

el 26 de Feb. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by