1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

I Calculating transferred spin

  1. Apr 26, 2017 #1
    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 travelling 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.
  2. jcsd
  3. Apr 26, 2017 #2


    User Avatar
    2017 Award

    Staff: Mentor

    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.
  4. Apr 26, 2017 #3
    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...
  5. Apr 26, 2017 #4


    User Avatar
    2017 Award

    Staff: Mentor

    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.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted