Constraints Derivation for Rigid Body Simulation in 3D
Posted: Tue Nov 12, 2013 10:52 pm
Hello. I have been using this forum for many years now and I have learned so many things here. Now, it's my turn to share.
During the development of my 3D physics library, I had to model different constraints like contacts, friction and some joints between rigid bodies. I'm using a Sequential Impulses solver as described in Erin Catto's presentation at GDC. As you probably know, we need to compute the Jacobian matrix J, the effective mass matrix K and also the bias velocity vector b for each type of constraint. In Erin's presentation, contact and friction are well explained but sometimes it is difficult to find the derivation of those quantities for others constraints like joints in 3D. Since I had to derive those constraints for my physics library, I have written a document that gives the details of the calculations.
Here is the list of the constraints that are covered in this document:
- Contact and Friction
- Ball-And-Socket joint
- Slider joint (with motor and limits)
- Hinge joint (with motor and limits)
- Fixed joint
You can download the document here.
I hope it will be useful. Do not hesitate to let me know if you find something wrong.
----------
Daniel Chappuis
Switzerland
http://www.danielchappuis.ch
During the development of my 3D physics library, I had to model different constraints like contacts, friction and some joints between rigid bodies. I'm using a Sequential Impulses solver as described in Erin Catto's presentation at GDC. As you probably know, we need to compute the Jacobian matrix J, the effective mass matrix K and also the bias velocity vector b for each type of constraint. In Erin's presentation, contact and friction are well explained but sometimes it is difficult to find the derivation of those quantities for others constraints like joints in 3D. Since I had to derive those constraints for my physics library, I have written a document that gives the details of the calculations.
Here is the list of the constraints that are covered in this document:
- Contact and Friction
- Ball-And-Socket joint
- Slider joint (with motor and limits)
- Hinge joint (with motor and limits)
- Fixed joint
You can download the document here.
I hope it will be useful. Do not hesitate to let me know if you find something wrong.
----------
Daniel Chappuis
Switzerland
http://www.danielchappuis.ch