This project has moved and is read-only. For the latest updates, please go here.

Joints, springs, and documentation...

Topics: Developer Forum
Sep 30, 2008 at 10:06 PM
Edited Sep 30, 2008 at 10:07 PM
Hi all...$0$0$0$0So I wanted to make asimple "Lunar Lander" type game.  I decided it would be fun toput some simple landing gear on the spaceship.  Basically, a pair ofjointed "legs" that would support the weight of the ship, flexingslightly as it lands, and breaking if too much force was applied.$0$0$0$0$0I have a few bodies atwork here.  The first is the main shipbody.  Then there is an “upper leg” body,with a “hip” joint.  Then a lower legbody and a “knee” joint.  I want each ofthose joints to be slightly flexible as the ship lands.$0$0$0$0What kind of jointswould I use for this?  My initial thoughtwas RevoluteJoints paired with AngleSprings. But then I saw AngleJoints, and AngleLimitJoints.  What kind of joint should I be using?  When would I use an AngleJoint?$0$0$0$0I’m very much lookingforward to some more documentation.  Inan AngleJoint, what does “softness” mean? What are valid values?  I shouldn’thave to dive through the code to get this kind of information.  $0$0$0$0Simple method and property descriptions wouldgo a long way.  This isn’t a criticism asmuch as a feature request.  I know thereare experts out there…  taking even anhour to write up some descriptions would be a BIG help.$0$0$0$0Thanks!$0$0$0$0Adman$0$0$0$0$0$0
Sep 30, 2008 at 10:08 PM
Boy, copying and pasting into the post window doesn't look pretty, does it?
Oct 1, 2008 at 12:24 AM
Edited Oct 1, 2008 at 12:25 AM
Hi adman.

I'm currently in charge of the development of Farseer Phsyics. The next version of Farseer (2.0) will have more documentation, but untill it arrive, you will have to use this forum.

I'll do a short description of each angle joint/spring here:

AngleJoint - Put 2 bodies at an angle. Take a look at Demo7 from the samples. The arms of the "spiders" are made up of angle joints. An AngleJoint is dynamic in the sense that the joints can be flexed by force. If you take a soft thin steel rod and put an 90 degree angle on it, you can still adjust the joint by applying force on it, you can even bend it backwards if you apply enough force.

AngleLimitJoint - Is the same as AngleJoint, but has an upper and lower limit on the angle.

AngleSpring - Best description of this would be a springboard. If you apply force to the board (jump from it) it will bend and then recoil back. It's like an AngleJoint, but has that recoil part of it.

Their fixed versions joins a body and the "world". They take a body and "pin" it.
I'm sorry that the descriptions are not very detailed, but it should provide some kind of overview.

Oh, by the way. You don't need both a revolute joint and an angle joint. An angle joint would be enough.
Oct 1, 2008 at 1:40 AM
@adman - Me and genbox are working on getting some great documentation and examples together very soon. As I type I'm almost 50% done with finishing up all the documentation and examples for the joints.
Oct 1, 2008 at 2:33 AM
Thanks everyone... I can't wait to see what you come up with!

I'll play around more with angle joints vs. revolute + angle springs to see which makes the most sense for me.