October 2009


JellyFish is a new tool that works with Grasshopper and Rhino to enable various ways of modeling with attractive and repulsive forces. It is a generalisation of my popular Magnetic Displacement definition to 3-dimensions, along with some other improvements.

Any number of Sources and Sinks of variable strengths can be placed freely in space, and their combined effect can be used to move/orient/create any Rhino geometry based on points (including curves, NURBS surfaces and meshes).

The force model used is basically Coulomb’s Law for electrostatics, and a simple vector field integrator is included, so rather than just moving points along the tangent to the field at their start point you can actually move them iteratively through the curving field. This can help avoid particles crossing over each other:

grd grdx

Deformation of a grid shown with and without iteration

It also provides an alternative way of creating some of the kinds of surface usually modeled with Metaballs.

Because they are based on implicit surfaces, Metaballs produce an unstructured mesh. JellyFish on the other hand can produce a surface which keeps its explicit u v parameterization. This is potentially useful for fabrication or adding further layers of structure in Grasshopper or Paneling Tools.

metaball jellyfish comparison

Disclaimer: I am in no way endorsing the uncritical use of blobs in design!

JellyFish came about partly as a by-product of some more serious work with physical forces for structural modeling, but I thought others might find it fun to play with ( and maybe even useful )

You can download JellyFish here :

JellyFish.ghx (Shared under a CC Attribution Non-Commercial Share Alike license.)

Update – I’ve just added the option to draw the streamlines traced out by the particles as they move:  JellyFish_Streamlines.ghx. See the video here for an example. For now it is a separate definition so I recommend to download both, though the intention is to merge them into a single tool (possibly a plug-in) at one point

I am currently available for long or short term work and writing custom scripts or GH definitions, as well as individual or group GH training. In the London area now, but would consider travelling or relocating for the right opportunity. Please do not hesitate to get in touch if you have any questions.

Also, I am thinking of running a Grasshopper Workshop in London soon. If you think you would be interested in attending, drop me an email with your details to pre-register.

my address

Fractal Tree

click for some more variations

Fractal trees do seem very 80s, but I recently saw this nice interactive experiment (which was inspired by this), and couldn’t resist trying it out in a quick Grasshopper sketch.

It was easily generalised to 3D by using reference frames.
Just varying the positions of the endpoints of the first pair of branches produces a great range of forms.
When branches are of equal length to the trunk, with a separation angle of 2PI/3 and a twist of ArcCos(1/3) (the dihedral angle of a tetrahedron), the resulting tree is the skeleton of the Gyroid – the Wells(10,3)-a Net.

I think this would be a really fun thing  to link to some AR style 3d-tracking, so you could move a couple of fiducial markers around in space and have the model update in realtime.