I How can I accurately calculate transferred spin in my 2D physics engine?

  • I
  • Thread starter Thread starter Tull
  • Start date Start date
  • Tags Tags
    Spin
AI Thread Summary
The discussion focuses on calculating transferred spin in a 2D physics engine using elastic collisions between circular objects. The user has successfully implemented bounce mechanics but struggles with transferring rotation between colliding objects. Key variables include the velocity, angle of approach, normal vector, and mass of the objects, along with friction considerations. Experts suggest that once the momentum transfer parallel to the collision area is determined, both spin and linear motion can be calculated using conservation principles. The user seeks clarification on the equations involved, emphasizing a need for simpler explanations rather than complex mathematical notations.
Tull
Messages
2
Reaction score
0
Hi folks. (I have no way of knowing if the prefix is at the right level)

I've been working on a very low scale, totally elastic 2D physics engine for a while, this is only for learning, it will serve no important purpose when it's complete, I'm just building it for fun really, to keep the brain matter working.

I'm only using circles as objects, I have the 'bounce' sorted and working fine at the point of the collision using some vector maths and reflections, but I've got a bit stuck where it comes to transferring spin/rotation from one object to another.

I think I've found all the angles and other variables I need, I just can't find the right way to put them all together.
I have the velocity of both objects. As a vector. And the angle of approach of both objects.
I have the Normal, centre point to centre point for the collision for both objects.
I have the tangent of the collision point.
I have the mass of the objects.
And I'll decide on a friction value at some point.

Now, my understanding of physics at this level comes purely from common sense and imagination, probably quite a dangerous combination! But I can see I need a common angle between the two objects, and I need a common rotation value, then calculate between the two how much rotation is transferred back and forth taking mass and friction into consideration. It's worth noting these objects could be traveling in any direction that cause a collision.

However, no matter how I x/y or (y/x)m or (v1/v2)/Pi*MassOfTheCentreOfTheEarth I end up with wild results, or something that doesn't look quite right. Part of my problem is, I don't read math and I'm a bit long in the tooth to start learning quadratic equations. I have on the other hand, been a programmer pretty much all my life and understand lines of code.

I don't want someone to write code for me, but I do need some help understanding the equations. Squiggle over squiggle multiplied by a dot and a squiggle just makes no sense to my eyes!

I have been searching for answers for this for a while, and I either find examples for irregular shaped objects, or the calculations go well beyond what I need including air flow and atmospherics and other variables I just don't want.

It may be I've been searching for the wrong keywords, either way, if anyone could point me in the right direction for some help I would be eternally grateful! Thank you.
 
Mathematics news on Phys.org
Friction and the elastic properties of the circles will influence how much momentum parallel to the line of contact is transferred. The details can be complicated, but once you fix that value, you can determine the linear and angular momentum change of the circles.
 
Thanks mfb. Yesh, I've got the bounce, the linear and momentum, thatkfully this is pretty well documented everywhere in game code forums. Spin, however, is more difficult to track down. I found a very comprehensive tutorial on billiard physics, but it was all very complex path notation which I just don't get. So do you mean the information I've already gathered in the 'bounce' calculation is what I want to be working from? I wonder if I'm over complicating things...
 
Momentum transfer parallel to the area is a single value. It will influence both the spin and the linear motion of the circles after the collision. Once you fix this value (which depends on details of the material of the objects), spin and linear motion follow from conservation of linear and angular momentum.
 
Seemingly by some mathematical coincidence, a hexagon of sides 2,2,7,7, 11, and 11 can be inscribed in a circle of radius 7. The other day I saw a math problem on line, which they said came from a Polish Olympiad, where you compute the length x of the 3rd side which is the same as the radius, so that the sides of length 2,x, and 11 are inscribed on the arc of a semi-circle. The law of cosines applied twice gives the answer for x of exactly 7, but the arithmetic is so complex that the...
Back
Top