How would I approach modelling such a structure in Rhino? Eventually I would like to be able to create illustrations with strangler figs growing on architecture and geometric objects. The illustrations don’t need to be photorealistic. They can be minimalistic and abstract. To be more specific, I’m looking into a field called Baubotanik.
One approach that I considered are 3D voronois. That could be a start, although I’m not sure if it will allow me to precisely model what I want.
Another approach may be to create a network of curves, pipe the curves with different diameters, then fuse the network to make it look more organic, maybe using SubD. Eventually leaves would need to be added to selected branches, no idea how to do that.
Of course, I’m also thinking about rendering the underlying solid structure in Rhino, then drawing the plants on top using a 2D drawing program. That could be OK to get my ideas across, although it may look very basic.
Speaking of drawing programs, something like ZBrush, a 3D drawing program, may provide a solution as well. Just I’m not sure that I’ll have the time to get into that. It’s pretty complex.
_multipipe is interesting, but how would I vary the thickness of the pipes? Otherwise it’s not even close to natural. Some branches are thinner than others, and then some are tapered, especially the ones growing towards the sun.
If you are a grasshopper user, a mesh based approach would probably help the organic look. I would use a series of variable diameter pipes, turned them to mesh and combine them (I would use Dendro) and then smooth the resulting mesh (I would use Weaverbird).
But my first through would be clay moddeling like Z-Brush too. There’s a nifty web version here which can output .obj which can be brought into Rhino; SculptGL - A WebGL sculpting app
Look forward to seeing the results - hope you post them up here!
I wonder if there is a program specific to designing organic trees. In the end I may just ask a graphics designer friend to help out. I am already trying to get him interested in ZBrush.
i am not much of a grasshopper specialist, maybe @DanielPiker could provide a simple example for how to address different node sizes. anyway for this to function the curves should touch each other i assume.
Tried that already, but doesn’t make a difference. I also played with the options, not really knowing what they all mean, and never did I get any smooth joints.
Any other ideas? No way to get smooth organic joints with Grasshopper’s Multipipe?
Well maybe I could do piping and boolean unioning with with meshes in Grasshopper, then apply QuadRemesh to create organic joints. I’m a bit lost with all the options that seem out there. In the end it seems to be a tradeoff between visual quality, performance, and manual time to invest.
If you want a joined result you need to input curves which share some end points.
This means if you have one curve meeting the side of another curve, you need to split the second one so there’s a point there.
Here’s an example showing this, and random radius values for the nodes:
(if you want specific radii instead of random - input a list of values at each of the points going into ‘SizePoints’)
vary_pipes.gh (9.2 KB)
For more info on the settings see the example files and pdf here.
Not sure if this is the kind of thing you are after though. For something more amorphous and blobby you might be better going the route of merging pipes together with Dendro.
cool, i was looking for something like that, but the only thing i had and could find was from the skeleton fattener a manual, which on first glance looks like it now has changed quite a bit, there was something with placing spheres on the nodes to define the radius if i am not totally mistaken
The points don’t even need to be on the curves, although, if they aren’t, then - according to my brief experience - the result is somewhat unpredictable. Anyhow, not an issue.
What is an issue though: It looks like a pain to maintain which sizes correspond to which points. Is there a way to perhaps store the size in an attribute of a point right in Rhino? (i.e. outside of Grasshopper)
“Is there a way to perhaps store the size in an attribute of a point right in Rhino?”
One way can be to bake the points of the curves into Rhino, create circles centred on them, reference these circles back into GH and use their centre/radius like this: