Can I Create My Own Physics Engine for Object Simulation?

AI Thread Summary
The discussion centers on the aspiration to create a custom physics engine that allows users to design and simulate objects in a visual environment, inspired by existing simulators like Algodoo and Powder Toy. The goal is to incorporate both rigid body dynamics and fluid or powder elements. The individual has a background in C, C++, and basic Python but lacks experience with graphic libraries, expressing a willingness to learn new programming languages as needed. They have begun studying OpenGL, viewing it as a valuable skill for future projects, and are also referencing educational materials from a Carnegie Mellon course on physics-based modeling. The project is part of a college club initiative, and the individual is seeking guidance and suggestions to effectively start and develop their physics engine.
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 independant. 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.
 
Thread 'Is this public key encryption?'
I've tried to intuit public key encryption but never quite managed. But this seems to wrap it up in a bow. This seems to be a very elegant way of transmitting a message publicly that only the sender and receiver can decipher. Is this how PKE works? No, it cant be. In the above case, the requester knows the target's "secret" key - because they have his ID, and therefore knows his birthdate.
Back
Top