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 Kommentare

Nick Keepfer
Nick Keepfer am 18 Jun. 2020
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.
Memo Remo
Memo Remo am 18 Jun. 2020
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.
Memo Remo
Memo Remo am 18 Jun. 2020
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.
darova
darova am 19 Jun. 2020
Can you calculate normal vector of each face? Find vector v = [0 0 1]
Memo Remo
Memo Remo am 19 Jun. 2020
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?

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

darova
darova am 20 Jun. 2020
Bearbeitet: darova am 20 Jun. 2020

0 Stimmen

Here is the idea:

1 Kommentar

Memo Remo
Memo Remo am 20 Jun. 2020
Great!
"griddata" was the function I was looking for.
Thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Gefragt:

am 18 Jun. 2020

Kommentiert:

am 20 Jun. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by