Grasshopper

algorithmic modeling for Rhino

I am having trouble assigning individual masses to particles in the system.  I have been working on a model in processing that creates a hanging chain with particle springs, but then re-calculates each particle's mass depending on its distance down to a surface.  This creates a variable thickness arch that re-directs the thrust vector inside the thickness of the material (as demonstrated in this video).  I would love to re-create this with kangaroo, but am running into a problem when i try to inform each particle with the vertical dimension (list).

 

If you find the two attached files, you will see the funicular/catenary is produced (though currently each particle is using the same vertical thrust (even distribution).  I also have the list of vertical dimensions I need to feed back into the system.  I can not seem to figure out how to turn this list into a series of vertical vectors to assign to each particle in kangaroo.  Is this even possible?  Thanks so much for all of your help and advice.

Views: 706

Attachments:

Replies to This Discussion

Quick thought without going into Rhino, 

If you set individual values of vector when you define the Uniary Force of each point in the chain, you could supply a list of points together with the list of vectors (assuming they all point Z, but should then have different values). If both matches in order (data structure). The Unary Force component will assign a different force for each point.

Thank Victor, that makes sense to me and I've given it a few attempts.  I just can't seem to pull it off.  Right now I have a 2D array sending data for each vertical z vector (10 items in the list).  This works just fine.  Then I produce a similar 2d array of the variable z vectors, but when i connect, it doesn't work.  Any chance you can take a look at my files and see where i'm failing?  On the left you will see the two lists.  The one on the top is the inital list (all 1.0 vertical vector).  Below that is the variable list.  I hope this makes sense.
Attachments:

Yea, that wont work.

 

Your Variable Vertical Thrusts is an dynamic result generated from the calculation. You cannot feed the result back to the system without generating an infinite loop, which is invalid in programming nature. You need cannot make a loop like that.

 

If you intended that this is a loop calculation as optimization, either look into other Kangaroo example, which uses counteracting forces as an optimization method.

Or look into Hoopsnake which allows you to make loops.

Or look into Galapagos if you want to compute a result from genetic solver. (Which is a smart trial and error)

 

Cheers

Victor

 

Thanks a ton.  I was assuming this was a 'solver based' problem so i was glad to learn about hoopsnake.  That was the solution!

 

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service