Register to reply

Billiards - Predicting Optimal Trajectories?

by PhysMaster
Tags: billiards, optimal, predicting, trajectories
Share this thread:
PhysMaster
#1
May21-09, 10:20 AM
P: 32
Is there a program code or game or applet that will allow me to predict..
basically, the initial and standard state of the table. Say, I give it initial positions. Given the angle and magnitude of the cue ball, it should tell me what the final positions of each balls are.

Which brings me to the main question, How can I predict a way the cue ball has to be shot (from the beginning of the game) to make all the 10 balls in the first shot?

I don't believe that it's impossible. It can't be. I just can't find a program that does that. May be a Matlab code? A java applet would be best.
Phys.Org News Partner Physics news on Phys.org
Cool calculations for cold atoms: New theory of universal three-body encounters
New method for non-invasive prostate cancer screening
How bubble studies benefit science and engineering
Nick89
#2
May21-09, 10:58 AM
P: 550
I won't say it's impossible, but it's at least extremely improbable that, even in a simulation, you would be able to score all balls in the first shot. I don't think there is any way to calculate it before-hand, since you have to take into account the fact that the balls will hit each other too. You can predict the path of one ball, but as soon as another ball happens to cross the path of that ball, it's game over. You may be able to simulate it or something... I've no idea.
DyslexicHobo
#3
May21-09, 03:14 PM
P: 248
There are far too many physical aspects to account for to make a realistic simulation. If you want to think of each collision as perfectly elastic, and make the balls perfectly rigid and unbreakable, then theoretically if you took some arbitrary angle for the cue and smashed it at an extremely high velocity the balls are bound to go into the holes.

Of course this is just an exaggeration. Obviously there are limitations set by the physical boundaries of the balls and cue. I think coding these into a realistic simulation would be impossible and pointless for someone to do.

Then again... you could always play yahoo pool over and over until you get it. :)

PhysMaster
#4
May24-09, 01:04 AM
P: 32
Billiards - Predicting Optimal Trajectories?

Quote Quote by Nick89 View Post
I won't say it's impossible, but it's at least extremely improbable that, even in a simulation, you would be able to score all balls in the first shot.
I believe that. Only because its a problem of velocity lost due to friction.

Quote Quote by Nick89 View Post
I don't think there is any way to calculate it before-hand, since you have to take into account the fact that the balls will hit each other too.
I don't think so. I would even believe that I might need a supercomputer to calculate it. But there has to be a way. I mean, the laws are used to make pool simulation games in the first place.

Quote Quote by DyslexicHobo View Post
There are far too many physical aspects to account for to make a realistic simulation. If you want to think of each collision as perfectly elastic, and make the balls perfectly rigid and unbreakable, then theoretically if you took some arbitrary angle for the cue and smashed it at an extremely high velocity the balls are bound to go into the holes.
Exactly. But, that's not what I'm looking for. I want to consider reasonable velocities (with friction).

Quote Quote by DyslexicHobo View Post
Of course this is just an exaggeration. Obviously there are limitations set by the physical boundaries of the balls and cue. I think coding these into a realistic simulation would be impossible and pointless for someone to do.

Then again... you could always play yahoo pool over and over until you get it. :)
Impossible? Not sure. Pointless? Maybe, but I'm just trying to learn something.
Yahoo pool? Let's just say I'm not the trial and error type. :)


I think that the program code will basically have to iterate the whole play (till all the balls stop) at different angles. Yes it can take time. The only reason I'm looking for a ready made program is so I don't try to reinvent the wheel.
Andrew Mason
#5
May24-09, 01:55 AM
Sci Advisor
HW Helper
P: 6,679
The real problem is energy. On average a ball will lose 50% of its energy in each collision to the other ball. Then it loses a certain amount each time it hits a cushion. And it is always losing energy due to friction with the felt. In order to get all the balls to move for a long enough time in order to eventually find a pocket, you have to add an enormous amount of energy and this would probably cause all the balls to jump the table right at the start.

AM
Hurkyl
#6
May24-09, 02:25 AM
Emeritus
Sci Advisor
PF Gold
Hurkyl's Avatar
P: 16,091
basically, the initial and standard state of the table. Say, I give it initial positions. Given the angle and magnitude of the cue ball, it should tell me what the final positions of each balls are.
No it shouldn't. There are lots of very tiny errors involved that will quickly add up to make the results worthless -- things like positions of the balls, deformities in the table surface, imperfections in the balls, the specific shape of the head of the cue stick and how the chalk is arranged on it....
bassplayer142
#7
May24-09, 02:35 AM
P: 422
Dare I say that this is "impossible to calculate". There is too many physical parameters that can't be modeled specifically. Only a probability function would give a close estimate.
Nick89
#8
May24-09, 04:22 AM
P: 550
Quote Quote by PhysMaster View Post
I don't think so. I would even believe that I might need a supercomputer to calculate it. But there has to be a way. I mean, the laws are used to make pool simulation games in the first place.
No, I'm pretty sure that's not how pool games are simulated. The word says it already, simulated!

As soon as you hit a ball with the cue in the pool game, it obtains a velocity based on how hard you hit the ball and in which direction. Then the game simply positions the ball a bit further along the table every time frame. Also, it detects if the ball is colliding with the wall or other balls. If it is not, it moves forward, and if it is, it bounces back. It's crucial that the game does not know the exact trajectory of the ball beforehand! It simply checks its position every few milliseconds and makes decisions on what to do with the ball according to whether or not it has collided with something.

This is different from calculating the final positions of all the balls before you even shot the ball. I'm still not saying it is impossible, but I wouldn't have a clue how to do it, even in principle.


Register to reply

Related Discussions
Billiards physics problem Introductory Physics Homework 4
An Invention for Billiards General Physics 16
Problem of Billiards Advanced Physics Homework 2
Billiards problem Introductory Physics Homework 18
Billiards porb. Introductory Physics Homework 1