Grasshopper

algorithmic modeling for Rhino

Information

Kangaroo

THIS FORUM IS NO LONGER ACTIVE. PLEASE POST ANY NEW QUESTIONS OR DISCUSSION ON:

https://discourse.mcneel.com/c/grasshopper/kangaroo

The discussions here are preserved for reference, but new questions posted here are likely to go unanswered.

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

Website: http://kangaroo3d.com
Members: 3024
Latest Activity: 9 hours ago

You can read an introduction to the ideas behind Kangaroo here:

http://spacesymmetrystructure.wordpress.com/2010/01/21/kangaroo/

Kangaroo2 is now available for testing (see full announcement here). Please bear in mind this is still a work-in-progress, and features are still subject to change.

Kangaroo2 is now included with Rhino6, you do not need to install it separately.

You can download it for Rhino5 from here:

http://www.food4rhino.com/project/kangaroo

This thread contains some troubleshooting tips if you have problems getting it installed and working:

http://www.grasshopper3d.com/group/kangaroo/forum/topics/kangaroo-2

The main source of example files for the latest version is here:

https://github.com/Dan-Piker/Kangaroo-examples

Some further example files for version 2.0 can be found here:

http://www.grasshopper3d.com/group/kangaroo/page/kangaroo2-additional-examples

with more to follow - if there is some particular feature you would like more examples of information on please ask there.

The Kangaroo2 solver library is now separate from the Grasshopper components, and can also be referenced and used in scripts, either in the GH VB/C#/Python components, or in RhinoScript/PythonScript in Rhino. Questions about these can also be posted on:

http://discourse.mcneel.com/c/scripting

Kangaroo2 is a complete rewrite, and the main solver/goal/force components are not cross-compatible with the previous version. However, you can keep both versions installed together allowing older definitions to be opened, and for now this is recommended, as there are also several utility and mesh processing functions relevant to both versions.

While v2 introduces many new features and improvements, not all the features from the old version currently have equivalents in the new version, but the plan is to add them all over time.

The links below are for the old version. More documentation and videos for the new version to appear soon.

example files(for version 0.099):

http://www.grasshopper3d.com/group/kangaroo/page/example-files

manual(for version 0.099):

http://docs.google.com/View?id=ddpv

getting started video:

http://vimeo.com/20308963

demo videos:

http://vimeo.com/album/199263

Some more tutorial videos from EXLAB:

http://vimeo.com/exlab/videos

Discussion Forum

How to use AI Paraphraser for work? 4 Replies

I am engaged in writing articles and often face the problem of text uniqueness. I was advised to try AI Paraphraser to reformulate my materials, but I don't know how to find and use it. Can someone tell me where I can find a good AI Paraphraser and…Continue

Started by dabberemeen. Last reply by Maximilian Hohenzollern 9 hours ago.

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 […]

MeshMash!

      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

Comment

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

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

Adam,

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.

Comment by Scott Penman on July 17, 2012 at 11:11am

Arslanov - you can use a timer component in combination with Firefly to do this. Firefly has a component called "data log" which records incoming data. Record the input values and compare the newest one to the previous one - use the output of that (true/false) to determine the state of the Kangaroo engine. You'll also have to attach your timer component to the input values that you're changing. See attached file...SimulationLooping.gh

Comment by Arslanov Timur on June 5, 2012 at 10:31am

Hello. How can I do to Kangaroo reset every time you change the input? That is so that the input parameter "SimulationReset" changed to "true" and whitelist back to "false". And so every time you change the input data. Automatic reset is needed to create an optimization algorithm with the Galapagos.

Comment by first1 on May 3, 2012 at 5:58am
Comment by Jim on March 30, 2012 at 2:01am

hi daniel,

i have a problem of this example file.there's always has sth wrong with the component of spring.I will really appreciate any help.BallCluster_Sequence.ghx

Comment by Jose C Garcia on March 16, 2012 at 10:42am

Hi I have been trying to fill up a box with objects from Rhino. This objects, because of gravity should touch each other. I am interested in the space those create. I want the object to behave as a box filled up with rocks. Attached is the Rhino fill that contains the objects and the box. I will really appreciate any help.objects_Box.3dm

Comment by Jonathan Munoz on March 14, 2012 at 8:32pm

Okay thank you for trying, I will email her and maybe she can help me out as well. Thanks

 
 
 

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service