Rigid Body Collisions: Physics for 2D Simulations

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
10 replies · 3K views
sciwizeh
Messages
25
Reaction score
0
Hello, I am new here, so I don't know if this is the right place to post this question or not, if not please move it to the right place.

At the moment I am working on making a computer simulator for rigid bodies using java, the only problem is that I thought that high school physics would cover 2D collisions of rigid bodies, but it didn't. I am working purely in 2D, but as of now I am completely unfamiliar with calculus, and the only equations I can find use calculus. So far I only have 1 square that rotates at a fixed rate, as I don't know the angular acceleration and torque formulas (stupid calculus I start this year), and moves along the X axis and Y axis (plural of axis is what?). Right now I just want it to bounce off of the borders of the window properly, then I will progress to 2 square interacting. I have collision detection, just not reaction. I know I have a lot to learn, I don't need programming help, just the physics behind the programming (if I do need programming help I am also a member of a programming forum, but they don't know physics).

thanks for reading, help is appreciated
 
Physics news on Phys.org
Patience! This is not an instant response forum.
 
well, you responded pretty quickly
 
2D collision is well-covered in all game programming books and it is not so useful to summarize everything here. It is better that you start reading some references and maybe later post some specific doubts.

Ll.
 
any specific free online references, (not wikipedia) that you recommend? ( i have no money for books, as i need to get my college texts )
 
sciwizeh said:
any specific free online references, (not wikipedia) that you recommend? ( i have no money for books, as i need to get my college texts )

What about:

http://arxiv.org/abs/math/0608695

http://www-personal.umich.edu/~tylee/tylee_phd08.pdf

I'm just guessing - haven't the faintest idea how to solve your problem. But overall you may like to know that there are two ways to approach the problem:

1) Newton's laws of motion. Basically you apply to every body in your system:
force = mass x acceleration
torque=moment of inertia x angular acceleration
conservation of energy
conservation of linear momentum
conservation of angular momentum

2) Lagrangian approach. This is a reformulation of Newton's laws, but in a way that constraints are easily implemented. A constraint is, for example, a rigid body. The particles in the rigid body are not free to move in any way - they must always maintain the same position relative to each other.
 
Last edited by a moderator:
HS physics covers everything you need to know to write your program. You should not need any calculus and I imagine you would want to stay away from it using Java and all.

F = m a
M = I alpha
m1 v1 = m2 v2
 
my HS physics covered only 1D momentum problems, no 2D and no rotation, i get 2D i can do plane reflections, it's rotation that looses me :(
 
sciwizeh said:
i get 2D i can do plane reflections, it's rotation that looses me :(

Yeah, I hate rotations too. Well, take heart, even MythBusters failed their rotation test. Balls rolling without slipping on balls rolling without slipping. No answers, just my sympathies - it'll take time to work out, but you'll get good at it. Maybe start from simple situations, like a playground see-saw for which you know what a sensible answer is.