Angular Collision Resolution question

Click For Summary

Discussion Overview

The discussion revolves around the complexities of implementing collision resolution in a 2D physics engine, particularly focusing on how to handle momentum transfer during collisions involving both linear and angular motion. Participants explore the implications of rotational dynamics and the conservation of momentum in these scenarios.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant describes the challenge of calculating the combined effects of linear and tangential velocities at the point of collision and questions how to transfer momentum effectively.
  • Another participant suggests that introducing a parameter like elasticity could help determine the proportion of energy transferred to linear versus rotational motion, although this may complicate physical accuracy.
  • A different viewpoint emphasizes starting with simpler cases, such as an object colliding with a flat surface, to derive qualitative insights into how rotation affects the angle of reflection.
  • One participant proposes that angular momentum must be resolved directionally during collisions, noting that the point of impact affects the resulting forces and momentum transfer.
  • Another participant discusses the dynamics of perfectly inelastic collisions, suggesting that rotational inertia could be treated as a vector component affecting the outcome of the collision.
  • A participant clarifies that their focus is on polygonal collisions rather than circular ones, indicating that the dynamics are more complex when dealing with different shapes and their interactions.

Areas of Agreement / Disagreement

Participants express various perspectives on how to approach the problem, with no consensus reached on a single method for resolving momentum transfer during collisions. Multiple competing views remain regarding the treatment of angular momentum and its effects on collision outcomes.

Contextual Notes

Some participants note the importance of separating velocity components along and perpendicular to the direction of collision, but the discussion remains unresolved regarding the specific mathematical treatment of these components and their implications for momentum transfer.

tenseiga
Messages
6
Reaction score
0
hi guys, I'm making a game that requires a bit of physics...

I'm trying to implement a 2d physics engine which will have rotation as well as local forces i.e. forces that could rotate the object. The problem I'm facing is that if objects collide, their velocity at the point of collision can be calculated as linear velocity + tangential velocity due to rotation at that point. However i can't figure out how to transfer momentum from one object to another, since the momentum is mixed up as angular as well as lateral motion. For example the momentum from the angular motion of one object can be transferred as lateral momentum to anotehr object through a collision depending on to what degree the center of the target object is in line with the collision. However the equation of conservation of momentum requires initial velocity, final velocity and mass. there's no provision for angular momentum xfer.

The closest thing i can think of is taking the tangential velocity + lateral velocity at taht point as the velocity, and the mass + moment of inertia as M


thanks..
 
Physics news on Phys.org
Wow - that's a really interesting problem. I'm bumping it back up to see if anyone else has any good suggestions, because I'm really not sure of the best way to handle it.

My gut tells me that you're going to have the freedom to pick some parameter like elasticity that will be needed to fix the proportion of energy that gets transferred to linear motion vs. rotational motion. While that might be tricky to do in a physically accurate way, it might also give you a free parameter to tweak until you like the response you see.

That doesn't address your basic question, though. I'll have to think about it and hope that someone else will offer something as well.
 
By the way, as a starting point I would (and am) consider first the problem of an object bouncing off of a flat plane of infinite mass, i.e. a wall. With no rotational dynamics, we just have angle of reflection = angle of incidence. If the object (think tennis ball) is rotating, however, we can probably agree on how the angle should change qualitatively. Also, with no initial rotation but some angle other than pi/2, some degree of spin should be imparted to the ball, which should also affect the angle of reflection.

Can we derive a reasonable answer just by demanding separate conservation of momentum and energy?
 
hmmm, I've thought of this some more and here is where i am.. when an object collides, you can take the total momentum + the total momentum due to rotation and apply it to the collision... however the crucial factor here is that this angular momentum needs to be resolved in some direction so to speak... if the collision occurs from the bottom on the left side of an object rotating counter clockwise, then the rotation adds force to the collision.. hwoever if it collides on the right side from the bottom the rotation causes the object to pull away from the otehr object reducing the force of the collision so to speak...

the other solution would be to find otu the tangential velocity at the point of collision.. but then the problem of converting that tangential velocity to momentum occurs... especially some momentum taht can be added with the linear momentum. i will probablly need to choose between one of these two and neither seems very appealing.

thanks for replying belliott, I've considered that... its sort of like this.. when a collision occurs there's a velocity component that is along the direction of collision and tehres a velocity component tahts perpendicular to the direction of collision... if we separate the velocities like this its possible to apply the formula for conservation of momentum and energy to a 1D collision instead of a 2D one... the other component that's perpendicular usually remains the same. however the reason a ball will spin is because of friction.. if the friction is 0 then angle of incidence is equal to angle of reflectance... however if it is not zero then some amount of the momentum of the ball is transferred to the wall.. since the wall can't move its transferred back to the ball. however its transferred as a local force at the point of collision.. hence if the coeff of friction is one the angle of reflectance would be 0 and u would have the ball jump straight up with lots of spin. at least that's how i see it..


and i'd realllllly appreciate any help i can get with the momentum problem... thanks.
 
Last edited:
I'm assuming you're trying to make perfectly inelastic collisions, right? in the case of a sphere (or in a 2d game, a circle), the two objects are going to follow the rules of a simple (non-spinning) collision, with an added component of a vector that is perpendicular to the direction of collision with a magnitude proportional to the rotational inertia and coefficient of friction between the two circles. When the circle spins clockwise, the magnitude of this tangential vector would be positive, when the circle spins counter-clockwise, the magnitude would be negative.
What I mean to say is that the objects would move as if they collided without spin; because the rotation will always have to be parallel to the plane of motion, it will have no effect on the circle’s velocity. This however, doesn’t mean that finding the resultant velocities will be easy. Let’s pretend you have two pucks (circles) colliding, we’ll call these Pa and Pb. The first angle you’ll need is the direction from Pa’s center of gravity to Pb’s center of gravity; this will be sort of like your reference angle. The components of the pucks’ velocities that are perpendicular to this reference angle (henceforth, Ra) will be unaffected. You then, once you have determined the horizontal and vertical components of the velocities of Pa and Pb relative to Ra, may simply add the remaining vectors and divide by two.
(We’re assuming the capacity for Pa to absorb energy or transfer it , is equal to that of Pb)
The rotational inertia (whoops I may have gotten off the subject), is just transferred as an amount equal to that of the rotational inertia of the first object, only in the opposite direction. You have to know the coefficient of friction between the two pucks, and you would add to the rotational inertia just as you would add to regular inertia.

so, rotational inertia in a 2d environment, as I see it, will be independent of the motion of the objects.

If you’re using Game Maker for this simulation, I could give you some code examples in finding the relative horizontal and vertical components (relative to Ra), and you might also get help from this site
http://director-online.com/buildArticle.php?id=532
 
Last edited by a moderator:
Thanks AI, but I'm not trying to do circle on circle collision.. its strictly poly on poly collision and i guess i forgot to mention that. circle on circle collision would probablly have been easy since no collision would have caused angular motion except if friction is considered... poly on poly collision however is a differnet story.

i could have a long rod and a ball slam into one end of the long rod and have it rotate... or slam into the center of the rod and have it not rotate much... the problem is explained in my second post...
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 10 ·
Replies
10
Views
1K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 60 ·
3
Replies
60
Views
7K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 14 ·
Replies
14
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K