Boundary from points

I have this set of points (with no order):

I want to obtain the boundary polyline:

PointsBoundary.gh (1.8 KB)

I think the easiest way is to manually draw a curve that “more or less” follows the order of the points, then use Sort along Curve to sort the points and Polyline them, something like:

Thanks, @inno. I know that is a solution, but I want to obtain it without user intervention

How do you get the point order ?

That’s what I don’t know

I could think about something like a big blob-like closed curve that progressively shrinks in such a way to enclose the most external points together:

but regarding those very random inlets… even the polyline you have drawn yourself appears like one of the many possible solutions, expecially on the top part… I could draw many different non-intersecting ones, wouldn’t know why to chose that particular one you have drawn among the many possibilities:

There is only one possible solution, the only polyline that goes over all points (leaves no point inside) and doesn’t cross itself

Hi Alfredo -

Which rule disqualifies this solution?

-wim

One way to define this… polyline through all points and minimal area difference to convex hull?

Good idea, but:

(I don’t think this is possible without a guide curve)

Shortest polyline through all points… minimal difference to convex hull

That would still discount their desired solution. I don’t see how you’d preferentially choose that big detour on the bottom vs. a little one on the top.

You’re right

And what if I have some geometry inside the boundary and it cannot cross the boundary?

PointsBoundary_v2.gh (4.0 KB)