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

  • Context: Undergrad 
  • Thread starter Thread starter Tull
  • Start date Start date
  • Tags Tags
    Spin
Click For Summary

Discussion Overview

The discussion centers on calculating the transfer of spin and rotation between colliding circular objects in a 2D physics engine. Participants explore the complexities of momentum transfer, particularly in the context of elastic collisions, while seeking clarity on the relevant equations and principles involved.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant describes their progress on a 2D physics engine and expresses difficulty in calculating the transfer of spin during collisions, noting the variables they have gathered.
  • Another participant mentions that friction and the elastic properties of the circles will influence the momentum transferred parallel to the line of contact, suggesting that these factors are complex but essential for determining changes in linear and angular momentum.
  • A participant acknowledges their success with bounce and linear momentum but finds the spin calculations more challenging, questioning whether they are overcomplicating the problem.
  • Another reply emphasizes that momentum transfer parallel to the contact area is a single value that influences both spin and linear motion, and that this value depends on the material properties of the objects involved.

Areas of Agreement / Disagreement

Participants generally agree on the importance of momentum transfer in determining spin and linear motion, but there is no consensus on the specific calculations or methods to achieve this, indicating that multiple competing views and uncertainties remain.

Contextual Notes

Participants express limitations in their understanding of the mathematical concepts involved, with some indicating a lack of familiarity with advanced equations and terminology, which may affect their ability to engage with the topic fully.

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.
 

Similar threads

  • · Replies 6 ·
Replies
6
Views
4K
Replies
1
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
Replies
6
Views
2K
  • · Replies 9 ·
Replies
9
Views
2K
Replies
9
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K