A search engine for forms, optimized and of resolution of constraints

© Daniel Christev – Youtube

Architecture has come a long way in creating form, from basic natural shelters in prehistoric times to the huge 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 began to transform into a whole new realm, with highly advanced and complex forms made of curves, small angles and walls that seemed to defy gravity. Advances in architecture are made possible by the development of software that makes it possible to visualize complex structures using 3D modeling software. The model geometry is very precise and produces in-context accurate visualizations. One of these software is “Kangaroo”.

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

What is the kangaroo?

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

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

3D Kangaroo
© Creative Mutation

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

3D Kangaroo
© Daniel Christev – Youtube

Kangaroo is like a physical laboratory where you can simulate the elastic behavior of cables, chains, chords, etc., to predict a shape from shape finding software. But, it does not allow to calculate the formations or to calculate the stresses inside the geometries.

Kangaroo Workflow

3D Kangaroo
© 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.

3D Kangaroo
© McNeel

Kangaroo uses the particle spring system where a chain is attached to two points, and more minor issues split the chain into different segments. Each segment is made up of “springs,” which are essentially elastic elements that move based on the points on either side. Since the peripheral points cannot be transferred, forces can be applied to the intermediate points and modify their positions.

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

Kangaroo maneuverability

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

3D Kangaroo Grasshopper
© Daniel Christev – Youtube

Force Objects

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

3D Kangaroo Grasshopper
© Daniel Christev – Youtube

Anchor points

These are certain points of the mesh that maintain a fixed location. No matter what forces are applied to the spikes, Kangaroo cannot move them. Rhino can transfer points to interact with the running simulation.

3D Kangaroo Grasshopper
© Forum MecNeel

Join objects together

If two or more points in the initial input (force objects and anchors) are in the same position (within tolerance), they will be joined and treated as a single particle by Kangaroo.


3D Kangaroo Grasshopper
© grasshopper3d
  • Tolerance: Minimum distance between two distinct points. If the points are closer than the tolerance, they will be merged into one.
  • No time : The speed at which the system moves through different versions. Smaller values ​​produce stable but slow simulations. Stronger forces require smaller time steps.
  • Subltrations: Number of calculated iterations between each drawn solution.
  • Floor: A physical constraint that can be toggled on and off to prevent particles from moving to the lowest level. (Z=0)
  • Slide: Resistance force exerted on the particles against their movement. This feature helps the system settle into a position of static equilibrium. The system will oscillate if the drag is too slow, and the particles will move too fast if the drag is less.
  • Refund: This shows the elastic collisions between soil and particles. 1= Particles bounce back to their initial height from where they were dropped, 0= they don’t bounce.
  • Fall: What is the horizontal velocity conserved in collisions between particles and the ground?
  • Solver: A calculator that uses the integration method to calculate new particle positions.
© Forum MecNeel

Simulation output

Perturbations in the simulation can become unstable when dealing with particles as Kangaroo tries to represent continuous functions in non-continuous time steps. This can be improved by using softer springs or increasing spring damping and drag so that actions occur in shorter time intervals, allowing for more calculations for the same amount of motion.

Perturbations can also be reduced by increasing the number of calculations between observed particle interactions.

Software applications

3D Kangaroo Grasshopper
© Giancarlo Di Marco – YouTube
  • Creates meshes that can be used as 2D planes that join together to create a 3D model.
  • Meshes can be treated as flat surfaces for applying materials and for manufacturing.
  • Creates equal sizes of meshes, making them modular instead of having different mesh sizes across the project.
  • To allow the realization of membrane roofs, it minimizes the surface of the mesh.
  • Kangaro helps create canary arches, an element otherwise extremely difficult to create structurally.
  • Has the ability to create structurally accurate arches and domes.
  • 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 members.
  • Analyze the loads imposed on the structure or building such as wind, snow and other lateral loads.
  • The gears of a machine to check the operation of a motor.
  • Simulates the loads on the panels to see how they would bend under pressure.
  • Simulates how objects would lay out if grouped together in a certain area.
© grasshopper3d
In the future, new strengths should be added to the latest version, such as:
  • 2D and 3D geometric constraints
  • Mechanical simulation
  • Breakable springs
  • Air resistance
  • Mow
© Forum MecNeel

Benefits of Kangaroo

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

One of the downsides of Kangaroo is that it has a complex learning curve where outputs can have errors. There are also risks of system crashes if the entries are wrong.

© Forum MecNeel

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

© Forum MecNeel

About the series

The series explores various software used around the world in the 21st century, and this modeling software has proven to revolutionize architecture by exploring the unexplored. They facilitate the process by finding new ways to build through a mix of computational methods to support futuristic designs. The series highlights software and tools such as Rhino 3D, Grasshopper 3D, Ladybug, Honeybee, Pufferfish, Kangaroo, etc.

Learn about 10 trending Grasshopper plugins in the AEC industry.

Incidentally, if you are curious to deepen the learning of parametric design and calculation tools, you can consult the workshops of PAACADEMY. These workshops are 7-session studio workshops dedicated to exploring computational design capabilities applied to architecture and design.

Comments are closed.