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

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

Share
Kangaroo 3D: A Form-finding, optimized, and constraint-solving engine
Share
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.

Settings

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.
Kangaroo 3D: A Form-finding, optimized, and constraint-solving engine
© 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.
Kangaroo 3D: A Form-finding, optimized, and constraint-solving engine
© 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
Kangaroo 3D: A Form-finding, optimized, and constraint-solving engine
© 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.

Kangaroo 3D: A Form-finding, optimized, and constraint-solving engine
© 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.

Kangaroo 3D: A Form-finding, optimized, and constraint-solving engine
© 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
Written by
Saili Sawantt

Architect and Interior Designer by profession, Writing is what she treats as her passion. She has worked as an Architectural Writer, Editor, and Journalist for various design as well as digital portals. Apart from this, she runs her blog 'The Reader's Express'.

Leave a comment

Leave a Reply

Related Articles
Human Civilization’s First Settlements: 10 of The Oldest Cities
Articles

Human Civilization’s First Settlements: 10 of The Oldest Cities

Throughout history, humans have needed spaces to meet their shelter needs in...

The Evolution of Arches: From Ancient Engineering to Modern Design
Articles

The Evolution of Arches: From Ancient Engineering to Modern Design

When we look at iconic structures built throughout history, we see that...

Deconstructing Deconstruction: Peter Eisenman & His Architectural Philosophy
ArticlesArchitects

Deconstructing Deconstruction: Peter Eisenman & His Architectural Philosophy

The oldest teaching and practicing architect in the world, Peter Eisenman, is...

Oscar Niemeyer: 6 Iconic Works of the Renowned Brazilian Architect
ArticlesArchitects

Oscar Niemeyer: 6 Iconic Works of the Renowned Brazilian Architect

Oscar Niemeyer, born in 1907 in Rio de Janeiro, Brazil, was a...

Subscribe to all newsletters

Join our community to receive the latest insights and updates!

© 2025 ParametricArchitecture. All Rights Reserved. By utilizing this website, you are consenting to our User Agreement, Privacy Policy, and Cookie Statement. In compliance with the privacy laws of Turkey and the United States, we recognize and respect your rights. Please be aware that we may receive commissions for products bought through our affiliate links. Unauthorized reproduction, distribution, or transmission of any material from this site is strictly forbidden without prior written permission from ParametricArchitecture.

ad blocker mark

AdBlocker Detected!

Help Us Keep Our Content Free

Your support helps us continue delivering high-quality resources at no cost to you.

We’ve detected that you are using an AdBlocker. We completely understand the need for a clean browsing experience, but ads help us keep this platform running and continue providing you with high-quality content at no cost.

If you enjoy our content, please consider disabling your AdBlocker or adding our site to your whitelist. Your support allows us to create more valuable articles, tutorials, and resources for you.

Thank you for being a part of our community!