Our paper addresses the problem of enforcing constraints in human body tracking. A projection technique is derived to impose kinematic constraints on independent multi-body motion: we show that for small motions the multi-body articulated motion space can be approximated by a linear manifold estimated directly from the previous body pose. We propose a learning approach to model non-linear constraints; we train a support vector classifier from motion capture data to model the boundary of the space of valid poses. Linear and non-linear body pose constraints are enforced by first projecting unconstrained motions onto the articulated motion space and then optimizing to find points on this linear manifold that lie within the non-linear constraint surface modeled by the SVM classifier.