Sign in to follow this  
Raeldor

Differential Equation Help

Recommended Posts

Raeldor    254
Hi, I am reading the David Baraff paper on Differential Equation Basics (pdf at http://www.cs.cmu.edu/afs/cs/user/baraff/www/pbm/pbm.html), and am following it fine up to the point of section 2.1. The paragraph that begins 'To understand how we go about improving on Euler's method...' has a formula with some symbols I am unfamiliar with. The '.' above the x I understand now is the derivative, and I think that the '..' above the x is the derivative of the derivative (ie, acceleration), please correct me if I am wrong here though. The symbols that I am confused by are the '!' after the denominator, and also the strange backwards '6' symbol on last shown expression. Also, where does the 'n' come from? Also, is the 'n' used on the last expression denominator the same as the 'n' used as the power? I would like to understand what is going on here, as I am trying to learn some more mathematics to empower my understanding 3d and physics for game development. Thanks!

Share this post


Link to post
Share on other sites
Zipster    2359
x-dot (if you were to say it aloud) is the first derivative, and x-double-dot is the second derivative. So velocity and acceleration, if x is position.

The '!' is factorial, and the backwards '6' means a partial derivative. Don't take this the wrong way, but if you don't even know what these symbols are then you shouldn't be trying to learn differential equations just yet :) Start with something like linear algebra, which is a lot more applicable to many areas of game development. What you're reading is more for physical simulation, which while also important is a lot more advanced.

Share this post


Link to post
Share on other sites
Raeldor    254
Thanks guys. I have been learning linear algebra and have applied it a lot in my game engine so far. The basic engine is complete with rendering and animation, so I am now moving onto physics simulation, which is why I need to learn this. Sounds like I need to get some grounding in basic calculus at this point then, or is there something else I should learn before?

Thanks again.

Share this post


Link to post
Share on other sites
Sneftel    1788
Well, you know what a derivative is, at least the basics. That's good enough for simple physics stuff, but if you're tring to make your own dynamics solvers (and I don't suggest you do) you'll need more of a grounding in calculus than that.

Share this post


Link to post
Share on other sites
Raeldor    254
You hit the nail on the head. I am trying to write a physics solver. I find the best way to learn something is to have a practical project to work on, and I have learned a lot so far on vector and matrix math etc. doing the rendering work. You would not suggest it? Could I ask why? I am keen to learn every facet of game programming and have a special interest in physics and AI. Would you not suggest it even as an educational exercise?

Regards

Share this post


Link to post
Share on other sites
Sneftel    1788
Many areas of game development--rasterization, pathfinding, that sort of thing--are useful to do as a learning exercise because they have ramifications in so many areas of game development. Physics solvers, however, are a much more insular area. Writing a physics solver will give you great experience in writing physics solvers, and will probably not be useful to you otherwise. Engines like ODE, Newton, and Havok are simple to drop into an engine and use, so few people actually roll their own for production games. So if you have other stuff to concentrate on as well, I'd concentrate on the other stuff.

Share this post


Link to post
Share on other sites
Raeldor    254
Sounds like good advice. So you don't think I will hit too much of this kind of math outside of physics? Even if I plan of dealing with things such as neural networks?

Thanks

Share this post


Link to post
Share on other sites
John Schultz    811
Quote:
Original post by Raeldor
Sounds like good advice. So you don't think I will hit too much of this kind of math outside of physics? Even if I plan of dealing with things such as neural networks?


If you have limited time or patience, definitely use an existing physics engine. However, learning how to make particles, rigid body boxes/objects (basic motion, not stacking nor constraints), and simple Verlet cloth move around and interact will help you in any area of game development where realistic, natural motion is required (it should be possible to learn how to implement and use the aforementioned items in a fairly short amount of time; they are also reasonable easy to implement, lots of papers+demo code available).

WRT neural networks: for something like a back-propagation neural net, it's pretty trival to implement and train (math is just an activation function and multiply-accumulates (one or more 'hidden' layers, typically n-way connections), rinse, repeat, etc.). For typical game logic, I think you'll find basic conditional logic/state-machines (simple 'expert systems') will get you plenty far, plenty fast (I would save neural nets, genetic algorithms, fuzzy logic, and fancier expert systems until way later).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this