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.

 채택된 답변

Kaustubh Tiwarekar
Kaustubh Tiwarekar 2020년 4월 21일

0 개 추천

추가 답변 (1개)

Walter Roberson
Walter Roberson 2016년 12월 28일

0 개 추천

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

댓글 수: 4

sumana
sumana 2016년 12월 28일
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 2016년 12월 28일
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 2016년 12월 28일
Another view of it.
Walter Roberson
Walter Roberson 2016년 12월 28일
편집: Walter Roberson 2016년 12월 28일
pc = pointCloud( [x(:), y(:), z(:)] );
pcwrite(pc, 'OutputFileName.ply');
This requires the Computer Vision Toolbox.

댓글을 달려면 로그인하십시오.

카테고리

질문:

2016년 12월 27일

댓글:

2021년 2월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by