## Constraint matrix

Oct 20, 2012 at 3:24pm

# Constraint matrix

EDIT: Very sorry, I posted this in the wrong forum. If a moderator can move to the Jitter forum, it would be much appreciated!

Howdy folks!

I’m having difficulty understanding a few aspects on how the constraints systems works within jit.phys.multiple. I’ve looked at the appropriate patches and read the relevant posts on this forum, but there are a few things which remain shrouded in mystery to me.

1. With the constraint attribute of jit.phys.multiple, we can print out the internal constraint matrix. It is a list of 7 floating point numbers per constraint. What I can’t find documentation of anywhere is what those 7 numbers represent. From just examining the numbers, my best guess is that the first three are X,Y,Z positions of the constraint and the last 4 are rotation data. Is that correct?

2. What can be done with the message sendconstraint? The documentation is not entirely helpful, saying only “Send the internal constraints a message.” What messages can be sent? How do they need to be formatted?

3. From the research I’ve done, it looks like there is no easy or intuitive way of using jit.phys.multiple and an external constraint matrix. That is to say, if I want individual control over the restraints of each body within jit.phys.multiple, the only way to do it is to create a series of jit.phys.[constrainttype] objects, with each body in jit.phys.multiple getting its own constraint object. The constraint object then uses the @body1 attribute to point toward its respective body held by jit.phys.multiple (as can be seen demonstrated in physics patch-a-day three AngryHuddle). For any great number of bodies created by jit.phys.multiple, this would require a poly~ object holding the constraint objects, in which case you might as well not use jit.phys.multiple at all and just use a poly~ with both the rigid body objects as well as the constraint objects (as is used in the initial post of the nurbssheet, here http://cycling74.com/forums/topic.php?id=37201). Is this the case?