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

  • Thread starter Thread starter Tull
  • Start date Start date
  • Tags Tags
    Spin
Click For Summary
SUMMARY

This discussion focuses on accurately calculating transferred spin in a 2D physics engine using elastic collisions between circular objects. The user has successfully implemented bounce mechanics but struggles with the transfer of rotational momentum during collisions. Key variables include the velocity vectors, angles of approach, collision normals, and mass of the objects. The conversation emphasizes the importance of understanding momentum transfer and conservation laws to achieve accurate spin calculations.

PREREQUISITES
  • Understanding of 2D physics principles, specifically elastic collisions
  • Familiarity with vector mathematics and collision normals
  • Knowledge of linear and angular momentum conservation
  • Basic programming skills for implementing physics calculations
NEXT STEPS
  • Research "Conservation of Angular Momentum in Collisions" for foundational principles
  • Explore "2D Physics Engine Tutorials" focusing on rotational dynamics
  • Study "Momentum Transfer in Elastic Collisions" to understand key calculations
  • Investigate "Friction's Role in Collision Physics" to refine spin transfer accuracy
USEFUL FOR

This discussion is beneficial for game developers, physics engine programmers, and anyone interested in implementing realistic collision mechanics in 2D environments.

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
3K
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
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 10 ·
Replies
10
Views
2K
  • · Replies 13 ·
Replies
13
Views
3K