Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Danny Chapman, posted on November 13, 2004

Image Description, by Danny Chapman

This is a screenshot from JigLib, a rigid-body physics library I've been working on for the last couple of weeks. It's based on the paper "Non-convex rigid bodies with stacking" by Eran Guendelman, Robert Bridson and Ronald Fedkiw. You can find the paper here and some slides here, though I've done a few things differently.

The basic idea of the algorithm is to predict collisions and handle them iteratively using impulses. The basic scheme is pretty simple to implement (no need for a LCP solver etc), and gives almost completely jiggle-free resting contact solutions - hence the name JigLib. Adding joints (for ragdolls etc) is also simple.

You can find a detailed description of how I implemented things, together with a Windows demo here. Hopefully when it's a little more mature I'll make libs/headers available (Windows and linux), if not the source.

Image of the Day Gallery


Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

November 13, 2004, 01:44 AM

Looks really interesting - I'd be interested in playing with it sometime if you put out some libs...

Edit: demo won't run on my system, possibly because I have a 900MHZ CPU.

At the end of the log it says
"Warning - physics can't keep up"

and then it crashes.


November 13, 2004, 02:31 AM

Had some fun setting the jenga stack to rediculous heights (~250) and watching it come slowly crashing down..

extremly cool physics demo. Very impressive :)

I'll definitly be taking a deeper look at those references when I come to rewirte my physics engine again.

Francois Hamel

November 13, 2004, 01:13 PM

very nice :)
And fun, I was able to make a hollywood style car jump where the car goes through and big truck and roll on itself while in the air, that was pretty impressive :) I even landed on the wheels

good stuff


November 13, 2004, 04:31 PM

Stanford .PDF link is down..

Fabian 'ryg' Giesen

November 13, 2004, 04:53 PM

Very cool.

Would be nice to see some information on how much time is spent per frame doing physics calculations though ;)


November 13, 2004, 05:20 PM

You can find the paper here as well:

I've also had good luck with Guendelman's method for real-time, although I never created scenes nearly as complicated as the ones in your image. Nice job optimizing!



November 13, 2004, 05:24 PM

Hmm, it works now! Awesome fun.

Danny Chapman

November 13, 2004, 06:09 PM

Fabian 'ryg' Giesen wrote: Would be nice to see some information on how much time is spent per frame doing physics calculations though ;)[/i]

It spits this info out in the console window, showing the total physics clock time as a percentage of the physics timestep. I agree it would be nice to break this down a bit more though (especially separating out the collision detection from physics). And now I've decided to let textures into my test code I guess I should make it display the info in the main window...

This thread contains 8 messages.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.