It would be very cool if it were possible with Kangaroo to apply different goal regarding some specific geometric characteristic.
For example, if I’m working with a torus-like form, I can get an inflated-found form with applying a Pressure goal and a quite flexible Edges Length goal.
But if I somehow want to stick a bit more to the original geometry, the positive double curvature areas trying to get bigger would stay in a membrane equilibrium, but the negative double curvature areas trying to get smaller would start to form some folds.
For this basic form, a simple workaround it to differentiate the input mesh and apply the flexible Edges Length goal only to the inside part of the torus.
Torus Kangaroo.gh (157.8 KB)
But if I work on more complex forms, it can soon become a difficult setup. I think It could be possible to script a Custom Goal to adopt this behaviour, but the tricky part is ofc the interpretation of gaussian curvature in Kangaroo. I’ve looked through some articles (like this one, this one, or this one describing how to translate gaussian curvature in a discrete mesh, but I don’t really understand how I could implement this in a Custom Goal component.
Would you have hints for an implementation of discrete gaussian curvature in Kangaroo ?
Thanks a lot.