Where I can start learning about simulating rigid bodys 2d and 3d ?
This seems like a logical answer :)
1) Read theory on the subject. Understand the higher level concepts first. Check the www.gamedev.net article sections they have plenty, as well as google books. Also, this link has some nice references : http://chrishecker.com/Physics_References
3) Implement. This taught me so much about understanding other engines. Start with the simplest of maths, implement it. Even the simplest implementation will boost your understanding of the systems involved.
Another great resource on the topic are David Baraff's papers. Here is one of them including source code:
"An Introduction to Physically Based Modeling"
A source that really helped me was using managed language code libraries. You then have the ability, through reflector, to see the code behind the methods that an engine uses. Much of this 'code behind' isn't available for view online.
The book that had the best influence on my understanding of the subject was this one:
If you are going to buy books, consider this well respected one too(it's related to physics):