algorithmic modeling for Rhino



Kangaroo is a Live Physics engine for interactive simulation, optimization and form-finding directly within Grasshopper.

The Discussion Forum below is the best place to ask any questions about using Kangaroo.

(Avoid posting questions on the Comment Wall, as it does not allow organization of replies)

Members: 1744
Latest Activity: 8 hours ago

Discussion Forum

umbrella mechanics 9 Replies

Hello all, I am trying to model the mechanics of an umbrella, I was wondering if anyone could point me to a similar example, or give me an idea as to how I could build this, or a mechanism based on the same principals (fixed pivot points) …Continue

Started by Charles Aweida. Last reply by Ayuna Mitupova yesterday.

Freeform tensegrity 3 Replies

Seeing the great work of Kosuke Nagata and Piotr Kluszczyński with tensegrity…Continue

Started by Daniel Piker. Last reply by Piotr Kluszczyński on Tuesday.

question regarding new components - finite elements and units 1 Reply

Daniel,   First off the new tools are remarkable and as always are so empowering to use. I never thought I would be able to calculate and consider projects to this degree without much engineering know how. Thanks for that. Now I do have some…Continue

Started by machinehistories. Last reply by Simon Lullin on Tuesday.

Changing forces and particles during simulation 10 Replies

Hello Kangaroo users,I'm currently working on some fairly major changes to Kangaroo, and as part of this am looking again at ways of letting users add/remove forces and particles during simulation, (and alter which particles forces act on) without…Continue

Started by Daniel Piker. Last reply by Ralph Zoontjens Nov 19.

Reset Simulation Override - galapagos etc. 6 Replies

Hey Daniel,have you ever thought of a feature for kangaroo that enables it to be used within an e.g. galapagos evaluation network? Basic funtionality is there by setting the internal iterations to a sufficiently high number so the final result is…Continue

Started by Robert Vier. Last reply by Daniel Piker Nov 18.

Relaxation of points / meshes constrained to a surface (circle packing) 4 Replies

In response to some requests, here are a couple of simple examples of distributing points on a surface.…Continue

Started by Daniel Piker. Last reply by guillermo gago doreste Nov 18.

News and Updates

Force polygons of equilibrium structures

I have recently been exploring some reciprocal force diagrams using Kangaroo. From the 1869 paper by James Clerk Maxwell On reciprocal figures, frames and diagrams of forces : …to construct the Polygon of Forces, by drawing in succession lines parallel and proportional to the different forces, each line beginning at the extremity of the last. If the forces acting at the […]

Minimal surface puzzle

The top row shows three different minimal surfaces from the same boundary curves. The bottom row shows the same 3 surfaces rotated and in a different order. Which number corresponds to which letter?

Orthogonal Clustering

I’ve always aimed to make Kangaroo a specifically architectural physics engine. While it shares many characteristics with similar engines used for other purposes, such as games and animation, it has some features that are uniquely suited to designing buildings. Form-finding and physics-based-modelling often result in curved shapes, with an elegant and natural appearance which is something […]

Variation from Uniformity

All of these triangles are identical and equilateral: In architectural geometry over the last few decades, a common topic of research has been how to build and clad doubly curved surfaces in an efficient way. While computer aided manufacturing has made it possible to make buildings where every panel has slightly different dimensions, there are […]


      As regular readers of this blog will know, I’m passionate about the use of relaxation and force-based methods for optimizing geometry in a very interactive way. There is a great variety of form-finding that can be done by assigning physical forces as interactions between sets of particles. However, in my investigations so […]

Comment Wall


You need to be a member of Kangaroo to add comments!

Comment by Mostafa R. A. Khalifa on December 7, 2012 at 6:36am

Good Job  Pantelis Adiavastos... conguratulations....(^_^)

Comment by Pantelis Adiavastos on December 7, 2012 at 3:08am

hello people, hello Mike,

the following is my thesis project, that used kangaroo to generate  tents for a kinetic interactive structure

Comment by rovinida fitriana on November 18, 2012 at 11:55am

can you upload example kangoro gh definition file for something like wedgrid or optimized path?

Comment by PEPE ALGECIRAS on November 15, 2012 at 7:42am

Hi all,

I was trying to make a family of tangent incircles in the mesh but I don´t know what can I do to make it work.

I tried making pairs with each face and its adjacent but it seems to be a wrong way, any hint?

thanks in advance


Comment by M NICK on November 6, 2012 at 4:05pm

Hi Daniel, 

Is there any example for Gridshell Form Finding using Kangaroo?

I am new in Kangaroo and couldn't find any related example to my work.

Thanks a lot


Comment by Daniel Green on October 7, 2012 at 8:24am

Hi Daniel,

I'm a structural engineer and I'm particularly interested in using Kangaroo for form-finding of 'efficient' structures. I was wondering if there is any capability, current or imminent, to deal with rigid bodies (e.g. a bridge deck or pylon) and allow them to interact with the rest of a particle-spring network? I've attempted something similar before but had difficulty moving past particles and forces to rigid elements with rotational inertia and subject to torques.


p.s. top work, this is a fantastic tool.

Comment by Daniel Piker on August 16, 2012 at 3:04pm


It depends what your aim is. This component was originally made just for removing points which were exactly or very near exactly coincident, as a way of making sure spring networks were properly connected at the nodes before simulation.

For these purposes which of 2 almost identical points it took didn't matter, so it always just takes whichever is first in the input order.

If you want more control over how it chooses which of 2 nearby points to keep, such as always choosing the highest, then I'd recommend writing your own script for it.

Comment by Adam Laskowitz on August 16, 2012 at 2:48pm

Daniel, thank you for your response. I am most interested by your last sentence.

For example: if I have a network of points at varying heights. I want to remove points that are redundant in height value surrounding its neighboring points. 

Would you advise I sort the points based on X and Y values such that the order in the list would be successive points.

Also, is there a way to know if a point at (10,10) is begin compared to a point at (11,0)?

Sorry for the detailed questions, just trying to understand if this component can in fact work for me.

Thank you!

Comment by Daniel Piker on August 16, 2012 at 2:42pm

Hi Adam,

The remove duplicate points component works simply as follows:

Given some input points:

- add the first one to a new list

- check if the second point is below the tolerance distance from the first. If it is, ignore it, if not, add it to the list

- check if the 3rd point is below tolerance distance from any of the points already in the list. If not, add it to the list

and so on...

Bear in mind that the results do depend on the order of the input points

Comment by Adam Laskowitz on August 16, 2012 at 11:32am

Hello Kangaroo people. I have a question regarding how a certain component works.

I was trying to create a definition which took a network of points, and reduced the amount of points based on "redundant" values (within a certain tolerance).  I found the "duplicate points" component in Kangaroo which seems to do what I want to do.

I was just wondering though, What exactly does this component do? Mathematically, if anyone knows? Thank you!

I need to be precise in how I am doing these calculations, so I would like to know just how it is working.


Members (1744)



Search Grasshopper


  • Add Photos
  • View All


  • Add Videos
  • View All

© 2014   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service