Hi!
I am currently taking a master in computer science. I want to write a physics engine as a thesis work. I will soon do my thesis work but before that I have choices of elective courses.
My question is: Do I need a course in Partial Differential Equations to be able to understand the math behind writing a physics engine or is it enough with knowledge on Ordinary Differential Equations? The engine do not need to be complex, but have the most basic stuff. So basically a rigid body physics engine. I mean the engine should not be to nontrivial. It should be using efficient algorithms that is used in modern physics engines.
I am also currently taking a course in optimizations. I question if it is really needed for implementation of a physics engine, although a LCP is related to linear programming (optimization). I feel that this course is very hard and thinking of dropping it and focus on reading more about physics engines.
Please help!
Prerequisites for writing own physics engine
-
- Posts: 91
- Joined: Wed Jun 10, 2009 4:01 am
Re: Prerequisites for writing own physics engine
It seems some popular algo in todsy's physics engine is mature and be public today .I don't think you need special Mathematic knowledge for that unless you want to develop you own method ,or you want to deduce your own new formulation. If not all the formulation and algo can be found in the internet , you just code them to your own project is sufficient enough.
-
- Posts: 16
- Joined: Tue Nov 17, 2009 11:30 am
Re: Prerequisites for writing own physics engine
Hmm ok thx for answering. I think my questions are still not answered. Because I have the choice to pick courses I want to pick the ones that can make me understand the math behind a physics engine. Of course one can implement a algorithm given a good pseudocode but understanding it will be harder.
So my problem is do I need the 2 mentioned math courses to understand the math behind a physics engine or am i perfectly fine with the math I already have (calculus, linear algebra) to write a decent physcis engine.
No one who knows?
So my problem is do I need the 2 mentioned math courses to understand the math behind a physics engine or am i perfectly fine with the math I already have (calculus, linear algebra) to write a decent physcis engine.
No one who knows?
-
- Posts: 91
- Joined: Wed Jun 10, 2009 4:01 am
Re: Prerequisites for writing own physics engine
Hi:
I think calculus, linear algebra is enough, some knowledge in Numerical Analysis is a plus,but not necessary, I am not very excellent in math, but I think I can understand the basic theory behind physics.
I think calculus, linear algebra is enough, some knowledge in Numerical Analysis is a plus,but not necessary, I am not very excellent in math, but I think I can understand the basic theory behind physics.
-
- Posts: 16
- Joined: Tue Nov 17, 2009 11:30 am
Re: Prerequisites for writing own physics engine
Hmm. yeah i dropped the optimization course. Hopefully it is not so needed. I feel not so motivated to learn it because it is so hard (hehe shame on me).
-
- Posts: 4
- Joined: Wed Feb 18, 2009 6:33 pm
Re: Prerequisites for writing own physics engine
Numerical Analysis, Classical Mechanics, ODE, PDE is plus, computional geometry
-
- Posts: 30
- Joined: Thu Oct 01, 2009 2:17 pm
Re: Prerequisites for writing own physics engine
Systematically studying is not necessary. Learning on demand is just OK.
Save your time, save your life.
Save your time, save your life.

-
- Posts: 26
- Joined: Mon Jun 01, 2009 2:21 pm
- Location: Sweden
Re: Prerequisites for writing own physics engine
Simulating Rigid body movement really isn't that hard and do not, in my opinion, require anything more than fundamental knowledge of ODE:s.
Take a course in Classic Mechanics and Numerical Integration Methods and you should get a better idea of what knowledge you actually need.
Good knowledge of Geometry and some course in Computation Geometry will help your understanding.
And linear algebra of course. You should know all the properties of dot and cross products in 3d in your sleep if you are to be able to start drawing your own conclusions about things.
Also since you are simulating on the computer it's good to read up (or take a course) in numerical robustness or float precision issues will give you nightmares when you try to get a stable simulation.
It all comes down to the goal and scope of your master thesis.
You can, as someone mentioned earlier, write a physics engine without much mathematical knowledge but if you want to understand and be able to explain (and possibly improve) the algorithms that are used you will need quite a bit of mathematical knowledge.
Read some papers on GJK and constraint solving. Gino van den Bergen and Christer Ericsson have written some good ones.
If you understand that math you are know everything you need for sure to get started.
You could also check out the book "Essential Mathematics for Games and Interactive Applications" which gives a good overview of the math you need.
Take a course in Classic Mechanics and Numerical Integration Methods and you should get a better idea of what knowledge you actually need.
Good knowledge of Geometry and some course in Computation Geometry will help your understanding.
And linear algebra of course. You should know all the properties of dot and cross products in 3d in your sleep if you are to be able to start drawing your own conclusions about things.
Also since you are simulating on the computer it's good to read up (or take a course) in numerical robustness or float precision issues will give you nightmares when you try to get a stable simulation.
It all comes down to the goal and scope of your master thesis.
You can, as someone mentioned earlier, write a physics engine without much mathematical knowledge but if you want to understand and be able to explain (and possibly improve) the algorithms that are used you will need quite a bit of mathematical knowledge.
Read some papers on GJK and constraint solving. Gino van den Bergen and Christer Ericsson have written some good ones.
If you understand that math you are know everything you need for sure to get started.
You could also check out the book "Essential Mathematics for Games and Interactive Applications" which gives a good overview of the math you need.
-
- Posts: 39
- Joined: Mon Oct 12, 2009 6:23 pm
Re: Prerequisites for writing own physics engine
Nothing beats letting the rubber hit the pavement (by which I mean the fingers hitting the keyboard). I finally started coding an engine a few months back and have learned a ton since then. Its just all about knowing enough programming and math to be able to let 'er rip!
Might as well take as many of the classes as possible while you can. May seem like a lot now, but wait till you spend 8 hours a day at some programming job wishing you were doing more of the math and optimization stuff because sql, design documents and UI have become so monotonous.
Might as well take as many of the classes as possible while you can. May seem like a lot now, but wait till you spend 8 hours a day at some programming job wishing you were doing more of the math and optimization stuff because sql, design documents and UI have become so monotonous.
