Smooth netting with the Biomorpher

Hello! I’m interested in how the author in this video Evolutionary Solver Grasshopper - Machine Learning - Pavilion Design Driftwood - YouTube created a frame smooth net with point tension.

I’ve looked and searched a lot for similar solutions, but I don’t fully understand what method was used to create such a structure and then transform it with an evolutionary solver. Perhaps it is the physics of Kangaroo, the plasticity of the Weaverbird and Cocoon, the lightness of Dendro or Skeleton - I can’t say for sure. Please post what I can look up and study to create such a network and then transform by a solver (if this has been discussed, please provide a link to a discussion of such a topic). Thank you in advance!


For the geometry part, there seems to be a simple three-dimensional line graph that gets manipulated or transformed by some mysterious parameters.
The fattening or meshing can be easily done with MP (“MultiPipe”) in vanilla Grasshopper. It allows you to dial in exact radii for each node connection and much more.

I feel like “machine learning” is such a loaded term nowadays. Let’s leave it at that.
Now I haven’t used @johnharding’s Biomorpher plug-in yet.

In supervised or unsupervised machine learning, you usually start from a certain data set that gets statistically evaluated. From this evaluation emerges at some point a prediction. The quality of that prediction highly correlates with the quality of the initial data that was crunched.
For a geometry based on a line graph, there initially is no interesting data to process, so you have to come up with some external or internal parameters that can influence and/or change the graph, and within that parameter domain, compute all or many possible permutations.
These permutations could be your data that gets processed by some ML algorithm and that it makes a prediction from.


Kangaroo2 on a line network, then Skeleton Fattener with some Weaverbird subdivision and smoothing would be my guess. See here:

Biomorpher can then be used to evolve the parameter state, presumably that controls the line network and perhaps further parameters for the fattening, subdivision and smoothing. If the topology of the line network changes, then some graph theory plug-in (there are quite a few these days) could be used for this.

Just to note that as @diff-arch mentions (thanks for the shout out), there is NO machine learning here at all. Lately evolutionary algorithms (biomorpher is an interactive evolutionary algorithm) have been clumped into the wider ‘AI’ term, but machine learning it isn’t - there are no neural networks here.



Well, I tried to create something similar, based on this post Skeleton fattener + mesh cage morph. But there was an error with multipipe and I don’t quite understand how to transform Kangaroo with Biomorpher - what parameters should I put there to make it evolve the mesh? (25.8 KB)
It’s just that there’s also C# Script, which I’ve never worked with before - it makes it difficult for me to evolve. Maybe there’s some other way to create these moving lines?

What’s the error message? I don’t get any error in MultiPipe when I open your file.
(also - there’s no need for that ‘Trigger’ component. Kangaroo automatically recalculates)

Also - what are you actually aiming to do here, in your own words?
It’s not at all clear to me from your questions what you want to optimize for.

Hello! I need to optimize the structure to get a series of grid transformations - a kind of toponymy for composing the frame of a future pavilion or stele. I need Biomorpher series with different stretching and node modifications for smooth grid analytics.

It’s quite strange to hear you say that and a bit offensive

I really don’t mean it as any sort of attack. We’re all trying to help you, but at the moment it’s just a bit hard to understand exactly what you’re trying to do

1 Like

Thanks, I’ll sort it out on my own - I’ve got enough information, I’ll keep working on it

I think it was fair to ask you to clarify what you mean by “optimise”… You could optimise for strength, weight, smoothness, etc etc etc.

If the guy who wrote, amongst other things, the Kangaroo plugin and who is one of the most helpful contributors to this forum asked me to clarify what I’d asked I would assume I hadn’t made myself clear. :grin:

No one need be offended.

1 Like

Yes, excuse me. I didn’t specify about optimisation - I thought I’d just be sent similar threads and discussions or told where I’d made a mistake. I actually just wanted to repeat what the author did in the video and nothing more, but I lacked the knowledge

1 Like

Just looking at the image of your definition, you need to plug these parameters into both biomorpher and whatever you wish to manipulate. It’s always best just to build the model first, tweak it manually a bit until your happy with some sort of design space of options, then add biomorpher afterwards. See the Vase example included in the biomorpher zip, where a gene pool (controlling form) and sliders (controlling colour) are used like this:

1 Like