algorithmic modeling for Rhino


I'm trying to learn Kangaroo and after many tutorials and videos I decided I want to start creating something simple, not just copying what I see in those vids. So I just want to make a double curvature surface; I've used a square for this purpose, but can't quite get it to work, as everytime I "play" the Kangaroo Physics component everything just disappears. The main source I've been using is this Daniel Christev's video:

I've attached a picture of what I want to get and the GH file. There are probably many errors as I'm just starting to learn about it.

Thanks in advance,


Views: 159


Replies to This Discussion

First, I think you need to flatten the input Force objects. 

Second main issue, your springs are only in one direction of the mesh. 

Third, the spring stiffness might be too high. To get more info on this part, someone else might have to help.

Your approach is complicated. Unless you really want to create things from scratch yourself, make use of Daniel Pikers components. For example you can just create the mesh the way you built it, then use the warp weft component and extract the lines.

You should also use anchors on all four corners.

However, my approach would be slightly different. I'd start with a square mesh in Rhino.

This mesh should only have one face. You can later edit it efficiently by moving its four corners / control points. Subdivision happens in GH, using a catmull clark component out of the weaverbird tab.

The above is a simple approach. Later, you can of course also start playing with separate stiffness values for the naked edge of the mesh. The warp weft component has two additional outputs. It tells you whether an edge is a naked edge or not. 

Hope that helps, if not, ask :-)

In case the subdivision is not enough, you can also subdivide the output mesh after kangaroo did the relaxation... saves some time

Thank you very much! I simplified it a lot and now it works just as I wanted to. You were really helpful!!

Now I tried to do something more complicated (maybe too much): the Tanzbrunnen in Köln by Frei Otto. I think I managed to get the mesh right, but it doesn't work, even though I've been playing with the rest length and the stiffness. I've attached an image of what I want to accomplish and my GH definition, just in case you can enlighten me as yesterday:)


This time you need to flatten the stiffness input on your springs. 

How are you moving your anchor points?

Again, a slightly different approach. And without the hole in the center it would be much easier to understand. The goal remains the same. Simple input geometry, simple to manipulate. 

The circle in the center ideally would be floating, so the mesh sets the height for the inner hole. Good luck

Also I'd suggest updating to the latest kangaroo.

Hi again Martin,

thanks a lot once more for your response! You're really helping me here!

About the anchor points in my model... well, that was one of my problems. And yes, I get what you mean about making it simpler with an input geometry, I just like to have everything parametric.

I have Kangaroo 2 as well, but most tutorials in YouTube are for Kangaroo(1), that's why I usually work with it.

I tried to do your model but it didn't quite work, as I get unexpected results. I've attached the file again, but I don't want to bother you that much, so I think it'd be easier for you to send me that file, if you want:)


Ok, here's a final definition with Kangaroo 2.

A simple input mesh is used to create the required goal objects:

  1. anchor points along the outer perimeter with transformation to high points
  2. ridge lines from high points to center hole
  3. inner mesh lines
  4. outer naked edge
  5. inner naked edge has springs, is being pulled to cylindrical target mesh geometry so it is circular and constrained to be planar. It is floating depending on other goals / constraints.


Wow thank you very much! I really appreciate it. I'll study it in detail!:)






  • Add Photos
  • View All

© 2018   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service