Grasshopper

algorithmic modeling for Rhino

This component takes a network of edges and dynamically relaxes them across a surface (or just relaxes them without the surface).





A similar thing can be achieved in Kangaroo physics, but I just needed an easy way to access this function. 

Full instructions + the download available at http://parametricmodel.com/detail.php?item=12



Views: 13037

Replies to This Discussion

I just learnt how to use the timer object and cache inside components, so I made a new version of this where you can see the mesh update in real time:
http://parametricmodel.com/DynamicRelaxation-withtimer/15.html
Daniel,

Cool script. I supposed that your goal of relaxing over a NURBS surface is a special case, but the way you formulated it, I don't think that your end result is funicular under self weight (which is a bit of the point of DR). Maybe it is, or perhaps that is not your goal, but regardless, check out these two papers.

One, by Prof Adriaenssens, describes Dynamic Relaxation with viscous and kinetic damping, and the other, by Dr. Williams, talks about using DR for the British Museum. They are both informative and worthwhile reading if you are interested in the subject.

Cheers,

Ben
Attachments:
Thanks Daniel for this very interesting tool and conversation,

I am still a bit confused what the difference is between Kangaroo's mesh relaxation and Geometry Gym's tool for it. Would you know specificaly how they differ?
Coul you guys please also define in one sentence what mesh relaxation does ?

Many thanks,

Arthur
Hello Arthur,

I know that the interface to Kangaroo and Geometry Gym are quite different, but I am not sure if this difference continues to how they calculate the relaxation.

I always think of dynamic relaxation as being like a piece of rubber, if you stretch and twist the material it naturally takes on a shape. This shape is always the most relaxed, so if you put energy into the system by pulling it, the material always looses the energy and springs back to the shape. In the example I showed, you could think about pulling a piece of rubber over the surface and how it would evenly distribute itself.

The algorithm for dynamic relaxation is essentially: iteratively move every point to the center of its neighboring points.

Daniel
Hi Ben,

Thank you for the papers, the are both very interesting.

You are right that the end result is not necessarily structurally optimal - to do that you would use a Gaudi-esque dynamic relaxation and would not use a surface.

However, dynamic relaxation can optimise other aspects of a structure. Chris Williams in the BMR, and Evolute (on the Yas Island project), are using dynamic relaxation as a way to smooth a mesh over a surface. In fact the algorithm Williams is using is almost the same as mine, except he has a factor for the maximum glass size (and if you look at the resulting structural diagrams he is no where close to optimum because the optimum structure would form high catenary arches off the surface). The way I have shown dynamic relaxation here, it is helping evenly distribute a pattern on a surface, which is the bane of anyone trying to put a pattern on a doublely curved surface. You can see the elongated hexagons become more regular durring the relaxation process. This has the effect of reducing average member size and reducing variance between members. Importantly for this project, it also makes the angles more regular, in turn making the detailing possible.

Daniel

Hi Ben;

 

Is it possible to get other chapters from  Adriaenssens job?, i am really interested in dynamic relaxation.

 

Thanks

Pablo

Hi Daniel!

Really appreciated for sharing this definition of DR along a predefined surface.

You did mentioned Kangaroo can also achieve the same in tension of DR along a surface,

may I ask you about the procedure of doing that in Kangaroo? or perhaps I am lucky enough

that Piker might stop by and give us some clue :)

Regards

Thanks!!! Very educational.

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service