   Seperating Axis Theorem
  Hello,I am trying to use SAT to detect collisions between convex polygons, and I am able to do this fine for linear motion.However when I'm trying to resolve the collision with rotational physics (like torque/moments), I cannot calculate the torque generated by the force from the collision, because I do not know how to find the exact position where the repelling force acts between the 2 bodies.Is there any way in SAT to find the exact point where the force should act to seperate the 2 colliding bodies? I know how to find the direction.If not, how do I find the torque that is generated when 2 rigid bodies collide?Sorry if this is hard to understand, I'm not too familiar with physics terms and it's midnight :LThankyou for reading :]   
  The SAT can be extended to return a contact manifold; this basically reduces to determining which features project maximally (or minimally) onto the axis of separation, and then clipping these features against one another to yield a manifold (which in 2-d will be either a point or a line segment). The manifold can then be used to generate contact points for a physics solver.One of our forum members, oliii, has created some demos related to the SAT. Maybe he can direct you to some sample code that demonstrates these particular techniques.   ;  Would it be sufficient to just use the midpoint of these features?   ;  in 2D, you'll have two cases for the SAT, a vertex vs a segment, and a segment vs a segment. The first case is trivial. The contact points will be the vertex itself, and the projection of the vertex on the opposite segment (if you have penetration). In the second case, say you have a small box resting on table. Both contact features (the segment at the top of the table, and the segment at the bottom of the box) will be parallel to each other. You will have two contact points, which will be the two inner points, when you look along the segment direction. If the box completely rests on the table, the two points will be the box's bottom segment. If the box is balanced at the edge of the table, the two points will be the point on the box above the table, and the point on the table at the corner. If the box is much bigger than the table, the two points will be the table's corners. Then if you want, you can take the midpoint of those as a unique contact, it depends how you want to solve your collisions. That process is usually called contact point reduction. It can also depend where the centre of gravity projects on the contact patch.http://members.gamedev.net/oliii/polygon.rar   