   2nd Stage in collision/physics engine development
  So I have got to the point where I detect a collision is about to happen in time t. I''m going to group all collisons that happen before t+dt as happening at the same time.But now I need to know how to apply impulses to simulate bouncing away, and to detect if normal forces should be applied and how. Where''s the best place for this in peoples'' experience please? 
  David Baraff's got all the answers. also, there is an impulse based contact solver, which looks quite interesting, since it does not involve the LCP solver and process impulses independently. Also, the friction model is a lot simpler. here is a simple example for contact responseRigid Body Tutorialand impulse based stuff, by brian MirtichBrian MirtichDavid Baraff's course notes on dynamics, constraints, ectdavid baraff course notethat should get you going   [edited by - oliii on February 18, 2004 2:46:11 PM];  Thanks a lot for that 1st link - I already have the siggraph notes but keep getting bogged down in the derivations. However can someone clear up a maths issue in the following:I want to use quaternions not matrices but he''s doing some kind of product between vector and quaternion here - what''s it mean?;  remember this thread?well, I think that's what this is about //----------------------------------------------------------------------// Poisot equation to integrate for orientation// http://www.euclideanspace.com/threed/animation/usingphysics///----------------------------------------------------------------------Quaternion Qvel = Quaternion(RotVelocity.x, RotVelocity.y, RotVelocity.z, 0) * Q * 0.5f; [edited by - oliii on February 20, 2004 5:14:18 AM];  Yep. Went through the siggraph notes and it explained it as w*q being shortcut for [0,w]*[qs,qv]. We talked about whether you could apply x=ut+ 1/2*at*t in rotation context. You almost can but not quite - the differentiation is a little more complex: with the quaternion version and:Y(tnew) = Y(told) + h/2 * ( Y''[Y(told)] + Y''[ Y(told) + h Y''[Y(told)] ] )But you need to take the 2nd derivative of q. 