# Commits

committed 47f51e7

• Participants
• Parent commits f7a1c4a
• Branches physics

# File include/pgJointObject.h

Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

+/**
+* Joint solve algorithm
+* Velocity after free updating may violate joint constraint,
+* Solve joint velocity to set velocity right,
+* body position may violate joint constraint by error accumulation and discrete time step simulation,
+* so body position must be corrected.
+* *********************
+* Distance joint solve method
+* joint anchor velocity is vp, body velocity is vb, body angular velocity is wb,the vector between body anchor
+* to body center is l
+* vp = vb + cross(wb,l)
+* d(vp) = d(vb) + cross(d(wb),l)
+* I is the impulse which joint gives to body. I = m*d(vb), cross(I,l) = Interia*(wb)
+* the constraint is distance(anchor1-anchor2) = constant,it can apply this:
+* project((vp1 - vp2),(anchor1-anchor2)) = 0
+* so,we can solve it by the above equations.
+*/
+
#ifndef _PHYSICS_JOINT_H_
#define _PHYSICS_JOINT_H_

/**
- * TODO
+ * Solve joint velocity constraint.
*
* @param joint
* @param stepTime
int JointObject_SolveConstraintVelocity (PyJointObject *joint, double stepTime);

/**
- * TODO
+ * Solve joint position constraint.
*
* @param joint
* @param stepTime