MATLAB: How can i create a contour map with a large set of data, using only the “maximum” points

contourMATLAB

Say I ahve over 1,000,000 points, and only want to create a contour map of the maximum points, connecting a line between each maximum point. the maximum points would be the largest positive x value if the all data points were rotated 360 degrees. The straight forward method would be ofcourse to rotate all points 360 degrees with .01 increments and connect a line between the maximum points found. However with a large data set this would be a very large process. I would like to instead take the maximum point in the x direction and call that my first point, from there takign an infinite line which extends in the positive y direction, and rotate it from 0-180 in increments of .01. Once it passes the or intersects with the first point it hits, that point will be recorded, and from that point, if the line between point n and n+1 is less than 90 then the rotation range will stay the same. Now say n and n+1 is greater than 90 then the range would be shifted by 90 as well, so 90-270.
Sorry for any grammar or typing/spelling mistakes, and thank you!

Best Answer

It sounds to me like you want the convex hull of the points. You can find the points on the convex hull using convhulln() or DelaunayTri.convexHull()