algorithmic modeling for Rhino
Daniel
Do you have a component, or a simple work around for calculating the mesh area surrounding a node for easy selfweight calculation when form finding shells? I'm asuming it's pretty much the same as the 'inflate' code but would be applied based on a gravity vector rather than surface normals.
Thanks
Nick
Tags:
Hi Nick,
There are actually a few choices for how to calculate the area of a mesh which 'belongs' to a single vertex.
The simplest is barycentric, where you take one third of the area of the surrounding triangles, and this is what the inflate component uses.
An alternative is to use the area of the corresponding Voronoi cell. You don't actually need to calculate the full Voronoi diagram to get this (and indeed if the mesh isn't flat then you can't), but can use the cotangent weighting, as described here:
http://stackoverflow.com/questions/13882225/compute-the-size-of-vor...
There's some useful comparison of these 2 options here:
http://www.alecjacobson.com/weblog/?p=1146
If the mesh is 'nice', then they will give similar results.
However, if this is being used for form-finding, you may want to change these weights as the mesh deforms, and currently you'd have to use some additional looping outside Kangaroo to achieve this.
You've reminded me though - I been meaning for a while to add an area based dynamic weight component for form-finding (along the lines of what John Harding and Paul Shepherd describe here: http://opus.bath.ac.uk/26222/1/london_preprint2.pdf).
Here's a definition showing how to calculate these area options in Grasshopper.
I'll try and get a release with that dynamic weight component out soon.
Daniel
Thanks for the quick reply as normal. That's really helpful, thanks. As you say, it looks like triangulating the mesh and taking 1/3 of the area is probably the easiest in GH and is probably accurate enough for what we need. The voronoi and cotangent methods don't work well at the edges so you'd probably need a different definition for the edge nodes anyway.
I guess we might be able to loop it back to the start with Hoopsnake. Will give it a try.
I should have asked John H first...... he's only sat downstairs from me!
Hi Daniel,
Were you able to work out a dynamic weight component? It seems perfect for what I'm doing currently:
I'm taking this mobile definition you started further: http://www.grasshopper3d.com/forum/topics/how-to-simulate-the-wind-... by creating weighted objects (like the metal pieces Calder used) at the vertices. Currently I'm working to combine it with this weight finding formula so the force of the panels is applied at the vertices: http://www.grasshopper3d.com/forum/topics/calculating-the-center-of but my ultimate goal is to create a form finding method so I can adjust the shape and size of one of the pieces and the model will compensate the balance by adjusting the distance from the fulcrum of the other pieces.
Would a dynamic weight component apply to this situation?
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by