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.
Hello,
Is there a goal that acts like a spring (Length Line goal) but gives more strength to one side of the line?
For example I want the desired "rest" length to be 0 but the end result not on the middle of the line but on the end point of the line.
It would almost be like a "pull point to point" goal if that makes sense?
I do not want to use an anchor on one side as my system is non-linear and might have one side moving too.
Many thanks,
Arthur
Rodrigo Shiordia Lopez
Jul 9, 2015
Daniel Piker
Hi Arthur,
Yes - it is possible to make a goal act asymmetrically on 2 points using a custom goal. I'll post an example shortly.
If I understand correctly, you are talking about a completely 1-way relationship between the points, where A follows B, but B is not affected by the position of A.
Bear in mind that this would violate Newton's 3rd law (equal and opposite reactions). Not that this is necessarily a problem - although Kangaroo is physically based we can choose to break the laws of physics in certain ways to get desired geometric results.
Theoretically I think a system where you had lots of such forces without balancing reactions could become unstable and fail to converge, but probably having a few in an otherwise balanced system won't be a problem.
An alternative approach which stays physics-based is to give the 2 particles different masses. The ends will pull towards the centre of mass, and if one particle is more massive, the centre will be closer to that end. As one mass tends to infinity, the centre of mass will be at that end, but also means that end becomes an anchor, which you say do not want.
Jul 10, 2015