algorithmic modeling for Rhino


i am trying to combine Kangaroo and Galapagos for my floor generator. For the first test i would like give the Galapagos the possibility to change the start coordinates of the room modules and like test fitness is minimizing the area of convex hull of modules together.

My problem is: actually it have to work on this way: Galapagos changes the start points of modules - Kangaroo attracts/collides them to each other or from each other - from final result it measures the convex hull like a fineness - then galapagos can change the sliders again. The big problem that Galapagos doesn t wait till kangaroo is ready with calculation. How i could change it? 

Thank u


Views: 1379


Replies to This Discussion

Using the Kangaroo zombie solvers will allow you to solve forces/goals in one Grasshopper iteration (i.e. not dynamically/interactively), this is the standard approach for using search methods (such as Galapagos) in conjunction with dynamic processes (such as Kangaroo).

Thanks a lot! it seems to be a solution!=)

It usually is :)

Note that you probably will want to calibrate the threshold value on the solver, such that the solve won't take too long (meaning that you can get through more iterations with Galapagos faster) while still accurately modelling whatever it is that you are modelling (basically, that the system reaches equilibrium "enough" for your case). You can also set a maximum numbers of iterations that the zombie Kangaroo solver is allowed to run, same applies here. 

So if i understund right:

Tolerance - bigger -works faster

Iterations - smaller- works faster

how is it with threshold? it s have basic number 1.0e-10, where does it comes from?

Does it exists some "good proportions" or "good numbers" for those 3 settings, to get a nice balance between the speed and accurately modeling?

Sorry, I didn't mean to confuse the terminology (edited my post above). But yes:

Generally speaking, larger thresholds and fewer iterations will solve faster. So typically one will start out with a small threshold and many iterations, and then calibrate these values such that system has a high enough fidelity to accurately represent/solve whatever one is modelling (that is, increase threshold and/or lower iterations). Note that you can hover over these parameters to learn what they more explicitly do.

Unfortunately this will be highly dependent on the particular case. Some physical systems will reach an equilibrium very fast, while others can take a long time (I believe that Daniel might have written about this somewhere). This typically comes down to how far things have to move, and how constrained they are (i.e. a bendy rod that's allowed to flap about will take longer to reach an equilibrium, than one that is supported at both ends).

Hope that helps a bit!

Thank u! it s helps a lot!

it s a little bit off topic here but i have more one question about Kangaroo (working not soo long wit it)

my goal is 1.put the rectangles(room modules) with kangaroo (attraction/collision) together and optimize the plans on basis of wished distances between different modules (for example: corridor have be close to staircase, bath to sleeping room e t c, kine of space syntax imitation) and minimizing the area of Facade e tc. But on the moment fitness factor is not so important, i think i have a plan have to deal with it. My Problem is the Step with kangaroo. I am already happy that attraction and collision works. My problem is that in my definition in mostly of the cases some of the modules are landing not orthogonal to staircase and each other (its very bad for my concept) so i am thinking to mb add second Kangaroo step, which should rotate rotated modules orthogonal to staircase but in this second step attraction and collision have still have power (in other case it s could happen that modules will start to overlap or fly away from each other, what i really don t need). My problem that i really have no plan at the moment how i could built this definition for the second Kangaroo step. Do u mb have some tips for e how i could reach my goal, or mb some example definition which is working on similar logic? Thank u verymuch. And i will still fight on this definition and will upload updates if i will come forvard


You can use the 'direction' component to make lines align themselves with the closest of the world xyz vectors like this.


Daniel thank s a lot! it s look s good and not so complicated how i thought. I don t know why i am always such overwhelmed with kangaroo definitions, i think i have really study more about kangaroo components!=)






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service