Skip to main content
gamedev.net
🔒 Locked

Pool physics - backspin

Started by Mantrid 2 replies 2.3k views
Original Post
Mantrid
Mantrid
hi all. im coding a pool game and in doing the physics by working out each state the ball can be in, some of the ones so far work like this: where: Fs = coefficient of sliding friction Frr = coefficient of rolling resistance r = radius of ball (if ball is sliding) angular acceleration = 5*Fs*9.81 / 2r linear acceleration = -Fs * 9.81 (if ball is in natural roll) linear acceleration = -Frr*9.81 angular acceleration = (linear acceleration)/r (from v=rw) but for a case of backspin, if just both the angular acceleration and linear resistance are given negative value would this automatically work? since if a ball is both spinning and sliding against the motion surely these forces would need to affect each other in some way.. cheers for any help guys
Zipster
Zipster
You want to consider the resistance at the point/area of contact between the felt and the ball, which for simplicity you can assume is a single point at the bottom of the ball. What you need is the velocity of this point relative to the felt in order to figure out whether the ball should just be sliding or if the felt is inducing a roll. In the case of draw (backspin), the ball is both spinning backward and moving forward. This means that linear velocity and angular velocity actually sum together with respect to the velocity of the point of contact, causing a longer period of slide. The felt causes friction in the opposite direction at this point of consact, and you can probably use your sliding and rolling friction coefficients to determine how much this friction relatively effects linear and angular velocity (i.e. Fs/(Fs + Frr) and Frr/(Fs + Frr) are the relative factors). However once the velocity at the point of contact falls below a certain threshold, static friction kicks in and the ball begins a natural roll. This is also the time at which backspin transitions to natural topspin for the roll. So if you don't have a static friction threshold for the felt, just wait until the angular velocity drops close to zero and switch to natural roll. Hitting a ball dead center might induce a slide depending on how hard it's hit, the only difference between this and draw being that there is no backspin, it just had no spin until static friction kicks in and it begins a natural roll. For follow (topspin), it's very difficult to induce slide since the spin counteracts linear motion, and you usually just end up directly in a natural roll.

Left and right English (spin) are more difficult to handle, and I'm not sure the best way to go about implementing those. As a rule of thumb though, if you're looking down at the pool table, a ball with counter-clockwise spin will go left and a ball with clockwise spin will go right, relative to whichever direction it's traveling. That advice is just from playing pool a lot :)
Mantrid
Mantrid
ah cheers man, rating++

i'll have a look and see if i can work that into some sort of equation

EDIT:

I wont be implementing side, it's something i rarely use in real life and don't see it as that worthwhile to put in, maybe afterwards when i've everythign else done :)
Mantrid
Mantrid
"(i.e. Fs/(Fs + Frr) and Frr/(Fs + Frr) "

where would we use these? this would decrease the coefficients, or are we adding each of these components to it's counterparts?

cheers!

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.