Baraff

fork
Posts: 14
Joined: Wed Aug 03, 2005 3:47 pm

Baraff

Post by fork »

In Baraff's paper "Fast contact force computation for nonpenetrating rigid bodies", he explicitly says: "We will not consider the question of impact in this paper, thus, we assume that the relative normal velocity of bodies at each contact is zero." So my question is how do I add impact capability to what is shown in the paper. Baraff has a bunch of papers and I am finding it very confusing to figure out what to do to implement things.
Erin Catto
Posts: 316
Joined: Fri Jul 01, 2005 5:29 am
Location: Irvine

Post by Erin Catto »

IMHO, Baraff's solution technique is obsolete in the realm of game physics. I recommend taking at look at my paper:

http://www.gphysics.com/files/IterativeDynamics.pdf

and Kenny's dissertation:

http://www.diku.dk/~kenny/thesis.pdf
Julio Jerez
Posts: 26
Joined: Sat Jul 23, 2005 12:56 am
Location: LA

Post by Julio Jerez »

I highly recommend reading, and studying the work of Baraff, Witkin and Mirtich. Their work has a solid theoretical background that had withstood the test of time. They are the sole source of theory for all the work on all physics engines, books and papers of the pass 10 years.

If you rally want to understand how Baraf formulation works this is my recommendation to you, buy a book in mechanics, (static, dymanic or classical)
In the book you will find few theoretical foundations. The more important is ?D?Alembert?s Principle of the virtual works?

Then you will find the Lagrangian formulation of the principle. (Baraf work is a special case of this)
You will also learn about constraints types and Holomononic and non Holonomics)
You will also learn about a whole bunch of other principle.

This will not teach you how to make a physics engine, but believe if you understand the basics of those principles not only will you be able to understand Baraff and Witkin work, you will understand the work of other people like Featherstone, and more importantly you will be able to make your own formulation with your own assumption, approximation or mistakes. (who knows maybe you can even make a new engine that will exploit your own assumptions)

This will allow you to create innovations and twist in you implementation and also to determine the capacity and limitation of it.
If instead you just take a short cut and read the later papers (however modern they can be) you will be reading many of the assumption and mistakes someone else did, and you will always be a defender of something you do not really know how it works.