How can I turn xyz position data with a hole into a closed surface to do more sophisticated lighting and transparency settings?

2 views (last 30 days)
I'm trying to turn {x,y,z} position data into a closed surface. The data is the surface of a three dimensional shape that has a large hole in the middle (topologically equivalent to a torus). I've tried, triSurf(), boundary(), convhull(), and everything else I could find on mathworks support pages. The data on the surface gets quite thin in some spots. I would like to be able to make the surface transparent and apply lighting and a color map to it. I've attached the data file, what the data looks like from plot3 in a specific order, and my best attempt at a surface using boundary(). Thank you in advance for your time and support!

Accepted Answer

Matt J
Matt J on 21 Jul 2023
Edited: Matt J on 21 Jul 2023
and my best attempt at a surface using boundary()
You could try alphaShape instead. Choose the alpha radius to be slightly larger than the spatial distance separating your points.
  1 Comment
Ian Down
Ian Down on 2 Aug 2023
This was the best option for an unorganized point cloud. Thank you!
I ended up organizing my point cloud, and using fill3 between rectangles from my organization. This produced a much better surface.

Sign in to comment.

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!