Extrema of a PointCloud surface

Hi,
I have a set of data points in 3D space (a matrix of (n x 3), in which each row corresponds to a point) that are extracted from a stl file and all together describe an irregular surface. I want to find the extrema of this surface. Is there anyway to do this in matlab? Attached is a sample file.
I know using the approach described in the following post we can find the extrema but the problem is that my data points are not continous and I cannot use meshgrid.
Thanks.

6 Comments

I think you are asking for what is known as a convex hull.
If so, there is a built-in function inside Matlab called convhull, which would be ideal for you.
Hi Nick,
Thanks for the reply.
No. My geometry is a surface not a volume.
For the extrema in the z axis you can use
scatter(x,y,20,c,'filled')
Here, x, y are the coordinates of your points in x and y, and the colour c can be the height in z.
Thanks for your help. It seemed very interesting.
However, it converts the 3D data to 2D and finds minimum or maximum z values, which doesn't correspond the local extrema.
Can you calculate normal vector of each face? Find vector v = [0 0 1]
Thanks Darova,
I think I should be able o do that. However, it is not very easy to do so.
You mean I should search for those locations that has minimum variations in the direction of the normal vector?

Sign in to comment.

 Accepted Answer

darova
darova on 20 Jun 2020
Edited: darova on 20 Jun 2020
Here is the idea:

1 Comment

Great!
"griddata" was the function I was looking for.
Thanks!

Sign in to comment.

More Answers (0)

Asked:

on 18 Jun 2020

Commented:

on 20 Jun 2020

Community Treasure Hunt

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

Start Hunting!