How to determine the curve of a surface of a mesh?

4 views (last 30 days)
My goal is to differentiate a structural defect (ie. dent) from an undamaged surface. My initial idea is to find the curve of the undamaged surface, and then any curve that doesn't match, can be considered damage (limitations would come later).
I generated a .ply of a water bottle and then created a mesh of the .ply using MeshLab. I'm now trying to find the curve of the body of the water bottle (should be a straight line) and then compare it to the curve of the neck of the water bottle (should be a curve).
I'm using an xyz coordinate system, and since I generated a pointcloud I have a huge amount of coordinate points but it's very difficult for me to determine which point is which on the image/water bottle itself.
I read that finding the equation of a curve of a mesh is not always possible, so that's why I added what my overall goal is, because I may not be approaching this problem correctly.
I'm using Matlab R2019B.
I used iPhone X and an app called Capture to generate the pointcloud but I also have access to an Intel RealSense D435 Depth Camera to generate different types of 3D images as well.

Accepted Answer

Aman Vyas
Aman Vyas on 28 Jul 2020
Edited: Aman Vyas on 28 Jul 2020
Hi,
For finding the curve of any surface you can try using the boundary function which will input a point cloud of (x,y,z) coordinates and will return the solid formed by them as you have specified you have (x, y, z) coordinates available.. Later, you can graph it using trisurf.
Alternatively, you can have a look at this link .
Hope this helps!

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!