saharan / OimoPhysics

A cross-platform 3D physics engine
MIT License
863 stars 68 forks source link

What materials did you use to develop the physics engine #50

Closed WREQI closed 2 years ago

WREQI commented 2 years ago

What materials did you use to develop the physics engine

saharan commented 2 years ago

Everything I met in my life.

Jokes aside, open source projects are really good materials to learn what you actually need to do for moving stuff in a practical way. Books are very useful to learn fundamental things such as mathematics, physics, and programming, but most of the time, they aren't instantly useful to build a physics engine, since many detailed techniques are required to make everything practical, and such techniques are often omitted in books. In open source software, however, such techniques can never be omitted because they just need to be there to make everything work correctly.

So, if you want to develop your own physics engine, I recommend you

  1. Learn basic mathematics and physics by any means. They're essential.
  2. Read the source code of an open source physics engine project, edit it and watch what happens, understand what every part actually does. I think it takes a lot of time, but is the most important. Phys2D, Box2D, Open Dynamics Engine, and Bullet Physics are my recommendations (roughly from easiest to hardest).

I think the best way to learn things varies from person to person, but this is how I learned stuff.