Can I Create My Own Physics Engine for Object Simulation?

Click For Summary
SUMMARY

The discussion centers on the creation of a custom physics engine for object simulation, inspired by Algodoo and Powder Toy. The user aims to develop a visual environment where users can create and simulate various objects, incorporating both rigid body dynamics and fluid elements. The user has programming experience in C, C++, and basic Python, and is currently learning OpenGL to enhance their graphical capabilities. They seek guidance on how to begin this project, which is part of a college club initiative.

PREREQUISITES
  • Understanding of C and C++ programming languages
  • Basic knowledge of Python programming
  • Familiarity with OpenGL for graphics rendering
  • Concepts of physics simulation, particularly rigid body dynamics and fluid dynamics
NEXT STEPS
  • Study OpenGL for advanced graphics programming
  • Explore the CMU course materials on physics-based modeling
  • Review the step-by-step guide for building a simple physics engine
  • Investigate Pygame for rapid prototyping of physics simulations
USEFUL FOR

Students in computer science or mathematics, aspiring game developers, and anyone interested in creating physics simulations for educational or entertainment purposes.

cng99
Messages
44
Reaction score
0
Hello,

I want to create my own physics engine.

Basically, I want to create a visual environment where a user can create any object that he desires and run a simulation of that object like it were in a real world. Basic physics engines are used popularly in games like Angry Birds. My inspiration for this Algodoo.:

http://www.algodoo.com/

Algodoo is a free physics simulator. A user can create any object and can make it interact with other objects. I further wish to add some fluid or powder elements to it too, apart from rigid body dynamics like in this physics simulator called Powder Toy:

http://powdertoy.co.uk/

Powder toy doesn't have rigid bodies but it can simulate fluids, gases, powders, solids, glass shattering and even things like semi-conductors, explosives, radioactivity and even black holes.

I know that it can start to be too much to deal with. It will be okay if I am able to at least create some elements from both programs, or at least some elements only from Algadoo.

I don't have any experience with graphic libraries so far. I can code in C, C++ and basic Python. I wouldn't hesitate to learn new languages if they are required for the accomplishment of this project and would work sincerely and with utmost dedication for this. There's a lot I can get to learn out of the project.

I don't really know where to begin. I have picked up some books for learning OpenGL. Python has a graphic library called Pygame which is ridiculously easy to use, but I don't think learning that will teach me as much as OpenGL will. OpenGL will open me to another dimension of programming, and I could later use my newly attained knowledge for more projects. I also started reading notes of the famous CMU course:

http://www.cs.cmu.edu/~baraff/pbm/pbm.html

The project is mostly independent. I'm working this as part of a club at my college.

I'm a first-year mathematics undergraduate.

Any help, suggestions and comments would be returned with blessings and appreciation.
 
Technology news on Phys.org
Here is a step by step guide to a very simple physics engine, but it may give you a starting point.
http://www.wildbunny.co.uk/blog/2011/04/06/physics-engines-for-dummies/
 
Thank you.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
10
Views
5K
Replies
1
Views
2K
  • · Replies 29 ·
Replies
29
Views
8K
Replies
4
Views
3K
Replies
17
Views
2K
Replies
4
Views
3K
  • · Replies 11 ·
Replies
11
Views
1K
Replies
6
Views
2K