Basroil wrote:
I was merely stating that the system you presented was not well defined because you gave only minimal explanation about the system or the constraint method.
Since I gave the constraint d(t)=d(0) in my original post, and constraints should not change the total energy there is not much freedom in the "contraint method" except from the implementation in the code, which is exactly what I have asked for.
Basroil wrote:
Things like how many partially constrained DOF between each body and how the constraint would apply forces to each body were just not given in any of your posts.
The constraint d(t)=d(0) is a subsystem constraint, so there is no "partially constrained DOF between each body", just one constrained DOF for the whole subsystem. The constraint forces are evident. How they should be applied to each body is the point of my question. What you are saying repeatedly is that my question can only be answered by an answer to my question. Please stop it, because I would like to ask other bullet users about their suggestions for SOLUTIONS to my question and not discuss whether or not someone can fit my problem into his horizon.
Basroil wrote:
In that case it's easy to just apply the constraint as external forces. Although it's not perfect (you have a one frame delay, so you'll need to increase simulation framerate to compensate), you can get a working model in minutes
I have done this a week ago. What I am asking is how to get these forces into bullet's constraint framework, because these forces work against other constraints in the global system.
Basroil wrote:
and then you can worry about improving accuracy after that. Existing constraints will still function as intended, though they may be violated if external forces are higher than the maximum constraint impulses.
Yes, I am at the point of "worry about improving accuracy after that". This is why I have asked my original question.
Basroil wrote:
This is actually one of those edge cases that is not very friendly for bullet. If you don't care about performance, you can actually increase the number of "bodies" and make the rope fixed length from the get-go, and then apply forces from contact with the other bodies. If you need performance, completely ignoring bullet for the rope and other bodies can let you model the system exactly as you want.
Again, I have a working model for the n-body subsystem. I need to integrate it into bullet's framework, because it interacts with other objects which are implemented in a bullet world.
If I don't care for performance, I have tons of solutions for this problem. But I use bullet, because I DO care about performance.
Basroil wrote:
Also, are you sure you can't rewrite the equations so that each constraint is independent of the constraints "above" it?
Yes, I am sure. Any virtual movement of any of the n bodies which changes the system Lagrangian will cause a force on ALL (or almost all) n-1 other bodies.
Basroil wrote:
Assuming one of the endpoints is fixed (system wise), then you should be able to estimate the motions of all the ones away from it more or less sequentially, with each body only requiring knowledge of the body below and above it in the chain. Only case where that won't work is if both ends are fixed (or external forces to the bodies in between are high enough to matter), but if you're talking about passive bodies floating behind a "fixed" point then it should work.
Sure, if I make some 342 assumptions to simplify the system, then I can reformulate it using the existing bullet joints.
BUT I HAVE ASKED HOW TO INTEGRATE THE CONSTRAINT d(t)=d(0) INTO BULLET's CONSTRAINT FRAMEWORK. PLEASE ANSWER THIS QUESTION OR STOP FILLING THIS THREAD WITH SUGGESTIONS WHICH OTHER PROBLEMS I MIGHT WANT TO SOLVE!
Patrick