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.

更多回答(1 个)

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

4 个评论

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
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.
Another view of it.
pc = pointCloud( [x(:), y(:), z(:)] );
pcwrite(pc, 'OutputFileName.ply');
This requires the Computer Vision Toolbox.

请先登录,再进行评论。

类别

Community Treasure Hunt

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

Start Hunting!

Translated by