Organic Mesh Modelling in Grasshopper
This post is a bit of a head nod to Beyond The Light Bulbs work with metaballs and rhino’s Mesh From Points command. The result is pretty amazing and the workflow is surprisingly simple. Grasshoppers metaball functionality is only 2d, but this can be used to generate section planes accurately representing a 3d model. The section planes can then be divided into points and used to approximate a mesh.
Metaballs work as charges, and the first step is to define where these are located. Ive used points along a series of curves, in order to visually define my final geometry. Sectioning planes are then created to evenly divide the bounding region of points, and used as the planes input for the metaball component. Metaballs are like small invisible 3d blobs and this is a way of graphically representing that data.
In order to accurately represent the 3d interaction between these charges, all points must be sectioned with all planes (no separate analysis of each plane) which results in a very slow computational process. It also results in many, many duplicate curves, which need to be removed by a region union component in order to generate an even grid of points for meshing. Finally, single curves can be divided by length to produce a 3 dimensional output. See the image below for this process and final result.
UPDATE: Ive since fixed this problem with a small script that removes curves that are exactly the same length. This works much, much faster than a region union component and allows for much larger metaball mesh. The definition is available for download here.