Kangaroo 3D: A Form-finding, optimized, and constraint-solving engine

AI Creative Challenge 4.0_ Winner01

Become A Digital Member

Subscribe only for €3.99 per month.
Cancel anytime!

Advance your design skills

join PAACADEMY’s online workshops to learn more about parametric and computational design

Kangaroo 3D
© Daniel Christev – Youtube

Architecture has come a long way in form creation, from basic natural shelters in prehistoric times to the massive skyscrapers we see today. Modern architecture defined by many primary forms and designs that show structural integrity and minimal simplicity. With the onset of the 21st century, architecture started turning into a completely new realm, with highly advanced and complex-looking forms made of curves, small angles, and walls that seemed to defy gravity. The advancements in architecture are made possible by developing software that enables complicated structures to be visualized through 3D modeling software. The model geometry is highly accurate and produces precise visualizations in the context. One such software is ‘Kangaroo.’

Kangaroo 3D
© Jack Waterman, Dennis Palmadessa & Kyle Graham

What Is Kangaroo?

Kangaroo is a live physics engine that helps form-finding, interactive simulation, optimization, and constraint solving. It is a 3D plugin for Grasshopper and Rhino.

Rhinoceros is a 3D modeling software that allows designers to create complex structures through 3D models. Rhino essentially uses NURBS and precise geometry to form its shape. On the other hand, Grasshopper is a plugin for Rhino. It enables recording of the designing steps where one can go back and make changes to the previous actions, which changes the final output accordingly.


Kangaroo 3D
© Creative Mutation

Structural engineers use Kangaroo to produce accurate structural solutions for parametric design projects. The software optimizes structural elements like columns, beams, steel frames, steel rebars, etc., in terms of their performance and workability in the design. It also analyses the structural components, reveals errors, and resolves constraints. When changes are made to the structure, the optimization and analysis tool adjusts the model on a real-time basis. Daniel Piker created it in 2014, one of the many popular plugins for Rhino 3D. 

Kangaroo 3D
© Daniel Christev – Youtube

Kangaroo is like a physical laboratory where one can simulate the elastic behavior of cables, chains, members, etc., to predict a shape coming from form-finding software. But, It does not allow one to calculate the formations or calculate stresses inside the geometries. 

Workflow of Kangaroo

Kangaroo 3D
© Daniel Christev – Youtube

Kangaroo Physics: It will give the user the forces and show them the animation of how the forces react to each other.

Zombie Kangaroo: There is no animation and will only show the results of what is acting on the surface.

Kangaroo 3D
© McNeel

Kangaroo uses the particle-spring system where a chain is fixed to two points, and more minor issues divide the chain into different segments. Each segment is made of “Spring,” which are essentially elastic elements that move according to the points on either side. Since the peripheral points cannot be transferred, forces can be applied to the intermediary points and change their positions. 

Similarly, an entire mesh can created from springs arranged in a  square grid of desired columns and rows. 

Workability of Kangaroo

The Kangaroo component must be first placed in the Grasshopper Canvas to create a simulation.

Kangaroo 3D Grasshopper
© Daniel Christev – Youtube

Force Objects

 It is an input where the generated forces that affect the 3D Model particles are fed. The forces could be material deformation, user input, or geometric constraints. Kangaroo creates interactions between the force and 3D model through force vectors.

Kangaroo 3D Grasshopper
© Daniel Christev – Youtube

Anchor Points

These are certain point on the mesh that maintains a fixed location. Whatever forces applied on the points, Kangaroo cannot move them. Rhino can transfer the points to interact with the simulation as it is running.

Kangaroo 3D Grasshopper
© MecNeel Forum

Joining Objects Together

If two or more points in the initial input (Force Objects and Anchors) are in the same position (within the tolerance setting), they will get joined together and treated as a single particle by Kangaroo.


Kangaroo 3D Grasshopper
© grasshopper3d
  • Tolerance: Minimum distance between two separate points. If points are closer than the tolerance, they will be merged into one.
  • TimeStep: How fast the system moves through different versions. Smaller values produce stable but slow simulations. Stronger forces require smaller time steps.
  • Sublterations: Number of iterations computed between each solution being drawn.
  • Floor: A physical constraint that can turned on and off restricting particles from moving to the lowest level. (Z=0)
  • Drag: Resisting force on particles against their motion. This feature helps the system settle down to a static equilibrium position. The system will oscillate if the drag is too slow, and the particles will move too fast if the drag is less.
  • Restitution: This shows the elastic collisions between the floor and particles. 1= Particles bounce back to their initial height from which they were dropped, 0= they do not bounce.
  • Tumble: How much horizontal velocity is conserved in collisions between particles and floor?
  • Solver: A calculator that uses the integration method to compute new positions of particles.
© MecNeel Forum

Simulation Output

Disturbances in the simulation can become unstable when dealing with particles because Kangaroo is trying to represent functions that are continuous in time steps that are non-continuous. This can improve by using softer springs or by increasing the spring dampening and drag so that the actions happen in smaller time intervals, allowing for more calculations for the same amount of movement.

Disturbances can also reduce by increasing the number of calculations between the seen particle interactions.

Applications of the Software

Kangaroo 3D Grasshopper
© Giancarlo Di Marco – YouTube
  • Creates meshes that can use as 2D planes which join together to create a 3D model.
  • Meshes can treated as plane surfaces to apply materials and for fabrication.
  • Creates equal sizes of meshes, making them modular instead of having different sizes of meshes across the project.
  • To enable the creation of membrane roofs, it minimizes the surface area of the mesh.
  • Kangaro helps create canary arches, an otherwise extremely difficult element to create structurally.
  • Has the ability to create arches and domes that are structurally accurate.
  • SImulates origami-like folding elements with flat surfaces that can expand and contract.
  • It can check gravity loading on framed systems to visualize deflections in individual elements.
  • Analyze imposed loads on the structure or building like wind, snow, and other lateral loads.
  • The gears of a machine to check the workings of an engine.
  • Simulates loads on panels to see how they’d bend under pressure.
  • Simulates how objects would configure themselves if packed within a certain area.
© grasshopper3d
In the future, new forces are said to be added to the latest version like:
  • 2D and 3D Geometric Constraints
  • Mechanical Simulation
  • Breakable Springs
  • Air Resistance
  • Shear
© MecNeel Forum

Advantages of Kangaroo

  • It helps create advanced curves like catenary
  • Analyses the behavior of the forces acting on it
  • Free software
  • Parametric – editing in real-time
  • Compatible with 3D modeling software -Rhino
  • Provides accurate simulations for the physics of the structure
  • Creation of tensile structures

One of the demerits of the Kangaroo is that it is a complex learning curve where the outputs might have errors. There are also chances of system crashes if the inputs are wrong.

© MecNeel Forum

Since the open-source software is accessible to students and professionals alike. Since 3D modeling software came into being; there has been a massive advancement in architecture; where complicated forms made with parametric design. Kangaroo software is an essential tool for architects and structural engineers to achieve a complex structure with physical accuracy. Having software like Kangaroo at their disposal allows them to be fully creative when making forms and trust them to work. With Kangaroo, creating such conditions and implementing them into real-life projects pushes the boundaries of architecture and design.

© MecNeel Forum

About the Series

The series explores various software used globally in the 21st century, and this modeling software has proven to revolutionize architecture by exploring the unexplored. They are easing the process by finding new ways of construction through a blend of computational methods to support futurist designs. The series highlights software and tools like Rhino 3D, Grasshopper 3D, Ladybug, Honeybee, Pufferfish, Kangaroo, and more.

Read more about 10 Grasshopper plugins trending in the AEC industry.

Parenthetically, If you are curious to dive deeper into learning the parametric design and computational tools, you can check the workshops by PAACADEMY. These workshops are 7-session-long studio workshops devoted to exploring the computational design capabilities applied to architecture and design.

Share with a friend:

Learn about parametric and computational from the online courses at the PAACADEMY:

Leave a Comment

Your email address will not be published. Required fields are marked *

Become A Digital Member

Subscribe only for €3.99 per month. Cancel anytime!

Weekly Newsletter in Your Inbox

Explore More

Sponsored Content

Subscribe to our weekly newsletter