The ring's algorithm is basically made of 3 parts:

1. The first part is about generating the outside and inside breps. They can have any kind of shape, in this case is just a simple loft between 9 rectangles that are scaled and rotated in different planes according to a point attractor.

2. The second part uses Kangaroo Physics Engine to obtain the input points and curves for the wrapping geometry in David Stasiuk's "marching cubes" algorithm ( https://www.grasshopper3d.com/profiles/blogs/marching-cubes-curve-wrapping-more-metaballs ).

3. The last part is the "marching cubes" algorithm which is fed by the set of curves, points and breps from the previous stages.

STAGE 1

STAGE 2 - the plane at the base keeps the shape closed, without perforations.

STAGE 3

THE [marching cubes] RING FROM DIFFERENT ANGLES

INTERIOR VIEWS

THE EXTERIOR SURFACE AND THE FINAL GEOMETRY OVERLAPPED

DIFFERENT VARIATIONS OF THE SAME ALGORITHM