Metaballs to mesh in year 2020

Hello guys,

I’ve a really easy question for you, not sure about the easiness reply:

What’s the fastest and best method to pass from Metaballs isocurves to Meshes in 2020 with Rhino 6?

So going from this

to meshes.

I’m trying to create and update thread for this interesting topic.
.
.
.
I did my reasearch and I’ve read a lot of topics:

Here they are suggesting cocoon (too slow) and chromodoris (for rhino 5, I’ve to check if its compatible with rhino 6).
After they are suggesting this magic “Ball Pivot” component, but I’m not finding it (is it related to “The Milkbox” but honestly I’ve no clue how to download and use it).

Here there is an onld good component by @david stasiuk in VB, quite old and not that fast. it’s an “okay” solution.

Here appears for the first time the MeshFromPoints component did by @Tudor_Cosmatu, but it’s for Rhino and for Rhino 5 moreover.
There is a link redirecting to a veeery old thread by @DavidRutten (11 years ago)

But I’ve found no explanation.

someone is asking also about surface, a solution seems to be passing through Rhino, but I wanted to stay in GH only.

Last thread is linking both MeshFromPoints both Ball Pivot.

Maybe there is already an update solution to this problem, but it’s quite well hide in the GH’s Q&A world :smiley:

Thanks,
Sunny greatings,
Michele.

1 Like

Volumetric Modeling

@Michael_Pryor Metaballs could be approximated using Offset but to my knowledge field summation is not possible with Dendro. IsoSurfacing the field equation is what is needed.

@michele.farina, MeshFromPoints is a Rhino command available in Rhino 6 … So extract the points of the metaballs and use this command.

2 Likes

Metaballs in GH are made with the marching squares algorithm.
If you want volume, you need the marching cubes algorithm.

Converting metaballs to meshes is taking the long and inefficient way.

1 Like

You can get a look a like in my opinion which is quick. I know what it should be technically but those methods are very slow :grinning:

Thank for your reply @laurent_delrieu,
actually I’ve tried MeshFromPoints component but the result was not good

And moreover I would like to stay only in GH for the moment.

Thank for your reply Michael!

I know a bit about Dendro and I was hoping there was something faster. I gave it a try and first result has this “voxel” texture:


And it’s already quite slow.

With some refinement the surface is way better but totally too slow (20s more or less)

Maybe the refinement could be done after the transformation from Volume to Mesh, maybe could be faster…

Thanks for your reply Dani!

So no good and fast solution in 2020 stil? :smiley: ahahha

Rather than generating the section curves of metaballs, and then getting an isosurface of these curves with Dendro, you could generate the metaball isosurface directly from the points. This should be much faster.
dendroballs.gh (8.8 KB)

5 Likes

Not if you choose a bad path.

http://www.bespokegeometry.com/2015/07/22/cocoon/

For sure Cocoon is the best choice, because it use fields and Isosurfacing.

Dendro has some use but it doesn’t simulate fields. You could simulate that a bit in Dendro using a bigger radius and some negative offset. But there are some bad places.
It is like a Connoly boundary



dendroballs_LD.gh (11.5 KB)

3 Likes

Ahhhh definitely! Thanks, never used from points… was a component in my inconscious brain ahahah
Yes, this is the fastest I would say. Should also be in general the best.

Yes probably Cocoon is the most right path.

In the example you send me that volume offset was taking 42s :sweat_smile: don’t know the PC u have but for the sake of the project was too much… the solution of @DanielPiker with volume from points seems to be quite good for time saving.

Cool discussion the one u sent me about Connolly Boundary, during my research I didn’t find it. And cool solution u gave him! :wink:

Dendro is sensible to the size of Voxel, I put a lower value than Daniel. Negative Offset needs better surface quality so low voxel size. I am sure that for the same size of Voxel Cocoon will be longer than Dendro. But Cocoon will be better quality for Metaballs. It is difficult to have everything.

2 Likes

It would be nice if there was a tool for generating isosurfaces that would let users define custom scalar fields.

Dendro seems to be limited to linear falloff, so you get something just like a boolean union of spheres (and to get something smooth you need to do further smoothing operations), while Cocoon uses I think inverse square falloff, which gives you proper metaball shapes directly.

There are all sorts of other interesting scalar fields to explore though (see all the stuff people used to do with K3dSurf). I imagine something using an interface, where the user could define in a script any function that returns a scalar value for a point in space (using any combination of equations and geometry functions), and then plug that into the isosurfacer and get a contour at any value.

2 Likes

@Thank you @DanielPiker and @laurent_delrieu for you explanations and ideas… maybe this thread could inspire some future applications.

I would only like to add my trial with BallPoint component as part of the solutions:

Joining the group in the right-up side of the window of this page:

will allows you users to download the .gh and .gha file from here:

I know you Michael and for sure Laurent too know this groups and these components but maybe some younger guys like me could find it helpful.

That’s all folks, hope this thread will be helpful for someone in the future.

Ciaociao e grazie,
Michele.

Hello, this successful outcome is also important to the project I am doing now. So I would like to ask if you can explain the whole process in detail? In particular, what curve did you use to connect to Dendro?