Grasshopper

algorithmic modeling for Rhino

It takes me a whole Morning to type the 256 arrays.And it takes much more time to caculate the 3d metaball.

Views: 25224

Replies to This Discussion

Daniel Piker has mentioned the way to produce 3d metaball
http://www.grasshopper3d.com/forum/topics/solid-metaball?xg_source=...

As Daniels said checking for intersections is really very slow.But I wonder octree could narrow it down.
Hi panhao,

the standard way to solve it is to use Marching Cubes or Marching Tetrahedrons to solve the iso surface, so you're on the right track. I can get a 2D version of this running in realtime, but 3D will be slower. There's also the danger that marching cubes will not be able to find small bubbles on the interior of the iso-volume.

Have you tried profiling your code to see where the most cycles are spend?

--
David Rutten
david@mcneel.com
Poprad, Slovakia

Hi David

Do you have a 3d marching cube/tetrahedra script you could share? I am having issues at the moment with using 2d metaballs in x,y,and z but this produces a fairly useless set of planar curves. What I want to achieve is a solid mesh from input curves, I then wish to analyse this in GSA and optimise using galapagos. this is what i have got so far with 2d metaballs... thanks

Marching cubes is an algorithm for finding potentially interesting voxels in a grid and disregarding the bulk of uninteresting ones. It's not something that stands by itself. The 2D metaballs in Grasshopper use Marching Squares, I once wrote a Marching Cube-ish sort of thing but it never entirely worked.

--

David Rutten

david@mneel.com

Poprad, Slovakia

It is improbable to use meshfrompoints tool to produce a smooth mesh without any noise.The UV of that kind of mesh is also ugly.

I made one example with my .Net script just a few days ago. 

This looks fantastic! At the moment I am trying two options, one going to processing via ghowl and meshing there. The other exporting the point cloud from the metaballs and meshing using MeshLab which gets a pretty good mesh. I'd love to be able to keep it in grasshopper though, would you be happy to share ur .Net script?

The code comes from one of the processing add ons.I unzip the *.jar file and translated the java class into C# class.Nothing new.

 

Using pocessing1.51 is a better choice for U.

Hi, if someone could drop this into a GH component for me that would be greatly appreciated! It would help with my semester project :)

eli, how did you do it?

I used the "organic mesh modeling" method with MeshFromPoints.ghuser.  Finally, I applied some smoothing/subdivisions with Weaverbird.

The key is to make sure all the levels have the same number of points when you divide the isocurves.  So if on one level you only have 1 isocurve, divide it in to 30; 2 isocurves divide each into 15 (15x2=30); 3 isocurves divide each by 10; etc.  Then make sure that the levels are a proper distance apart, and that the isocurves are divided densely enough.  You still may get some artifacts in your mesh, which is why I am interested in what panhao has done here, although I don't know any scripting to translate and java classes to C# classes, although it may be "nothing new".

eli, thank you for your response.

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service