Commits

Anonymous committed 47f51e7

Add Comments of joint object

Comments (0)

Files changed (1)

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