[ODE] Ball and Socket or (Universal +Hinge)

Jaap Stolk jwstolk at gmail.com
Sun Apr 9 12:21:02 MST 2006


Everything is going very well (ODE is great!), but I have a few
questions. I'm animating a character and have several joints that can
move in all directions, as well as rotate.

first "muscle" test:
 http://jwstolk.xs4all.nl/wisse/test2d.mpg
latest work-in-progress
 http://jwstolk.xs4all.nl/wisse/test3d_small.mpg

form what i can see, i have two options:
-Ball and Socket joint
-Universal joint + extra Hinge for rotation

I think using a single joint (Ball and Socket) would be more
efficient. (rendering takes way more time than simulating, so this is
not really important in my case)

For the simple single DOF hinges, I can get the current angle and set
the torque without problems. For the 3 DOF joints, it is just as
simple if i use the Universal joint + extra Hinge option. But I would
rather use the more efficient universal joint.

dBodyAddTorque(), works directly on a body, so i need to apply the
opposite torque to the other body?

Or do i have to add an Angular Motor, and then use
dJointAddAMotorTorques() to set the torques for the 3 axes?

If I use a Angular Motor, do I then still need the Ball and Socket
joint to keep the two parts together ?

I think Euler angles will work, because each of the 3 angles is
limited to about 160 deg.

I'm currently not using any ODE constrains on the hinges. Is it
possible to set constraint angles for each of the 3 DOF of the Ball
and Socket joint? or do I need to set them for each of the axes of the
Angular Motor ?

Any hints would be appreciated. I can post the  simulation code as
well as the pov-ray rendering code if anyone is interested.

Jaap.



More information about the ODE mailing list